{"id":1531,"name":"jsdom","ecosystem":"npm","repository_url":"https://github.com/jsdom/jsdom","issues_count":12092,"created_at":"2025-06-06T15:01:45.592Z","updated_at":"2025-06-06T15:01:45.592Z","purl":"pkg:npm/jsdom","metadata":{"id":1906363,"name":"jsdom","ecosystem":"npm","description":"A JavaScript implementation of many web standards","homepage":"https://github.com/jsdom/jsdom#readme","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/jsdom/jsdom","keywords_array":["dom","html","whatwg","w3c"],"namespace":null,"versions_count":268,"first_release_published_at":"2011-11-21T03:09:05.477Z","latest_release_published_at":"2025-04-13T10:23:39.077Z","latest_release_number":"26.1.0","last_synced_at":"2025-06-06T17:01:57.863Z","created_at":"2022-04-09T18:10:21.436Z","updated_at":"2025-06-06T17:03:36.467Z","registry_url":"https://www.npmjs.com/package/jsdom","install_command":"npm install jsdom","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"26.1.0","beta":"27.0.0-beta.1"}},"repo_metadata":{"id":784390,"uuid":"478584","full_name":"jsdom/jsdom","owner":"jsdom","description":"A JavaScript implementation of various web standards, for use with Node.js","archived":false,"fork":false,"pushed_at":"2025-05-19T14:30:26.000Z","size":46420,"stargazers_count":21020,"open_issues_count":438,"forks_count":1736,"subscribers_count":271,"default_branch":"main","last_synced_at":"2025-06-03T12:07:32.455Z","etag":null,"topics":["dom-apis","html","javascript","jsdom","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/jsdom.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":"Contributing.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.txt","dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"tidelift":"npm/jsdom"}},"created_at":"2010-01-19T06:55:19.000Z","updated_at":"2025-05-31T16:34:13.000Z","dependencies_parsed_at":"2023-07-05T21:01:33.070Z","dependency_job_id":"5e1cdbdc-5359-4dc4-b31c-4d8940e43111","html_url":"https://github.com/jsdom/jsdom","commit_stats":{"total_commits":3328,"total_committers":334,"mean_commits":9.964071856287426,"dds":0.7271634615384616,"last_synced_commit":"f76d3a2857ab086ac8f87b725d82d19926ee07ac"},"previous_names":["tmpvar/jsdom"],"tags_count":286,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jsdom","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":257895302,"owners_count":22619261,"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":"jsdom","name":"jsdom","uuid":"9271229","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/9271229?v=4","repositories_count":18,"last_synced_at":"2024-03-25T19:31:27.452Z","metadata":{"has_sponsors_listing":false,"funding":{"tidelift":"npm/jsdom"}},"html_url":"https://github.com/jsdom","funding_links":["https://tidelift.com/funding/github/npm/jsdom"],"total_stars":20937,"followers":75,"following":0,"created_at":"2022-11-02T16:17:01.719Z","updated_at":"2024-03-25T19:31:31.919Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jsdom","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jsdom/repositories"},"tags":[{"name":"27.0.0-beta.1","sha":"3bcab134175bd93f560106926d2fac64daa288c8","kind":"commit","published_at":"2025-05-06T13:02:54.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/27.0.0-beta.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/27.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/27.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/27.0.0-beta.1/manifests"},{"name":"27.0.0-beta.0","sha":"6624c02f108a29dc691d862ddd0ab6b756c88706","kind":"commit","published_at":"2025-04-19T16:17:55.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/27.0.0-beta.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/27.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/27.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/27.0.0-beta.0/manifests"},{"name":"26.1.0","sha":"1911c806c0d5a1b7e27686e09369f36c58dd3cc5","kind":"commit","published_at":"2025-04-13T10:23:00.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/26.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/26.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/26.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/26.1.0/manifests"},{"name":"26.0.0","sha":"3644055464a85f0a63ae33a47fb3f4d555399a83","kind":"commit","published_at":"2025-01-09T05:57:48.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/26.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/26.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/26.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/26.0.0/manifests"},{"name":"25.0.1","sha":"04541b377d9949d6ab56866760b7883a23db0577","kind":"commit","published_at":"2024-09-22T04:59:39.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/25.0.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/25.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/25.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/25.0.1/manifests"},{"name":"25.0.0","sha":"c53efc81e75f38a0558fbf3ed75d30b78b4c4898","kind":"commit","published_at":"2024-08-25T10:52:11.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/25.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/25.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/25.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/25.0.0/manifests"},{"name":"24.1.3","sha":"0314f1e42e2fa2735a0f5eb001fe3169a9a25595","kind":"commit","published_at":"2024-08-25T10:46:41.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/24.1.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/24.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/24.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/24.1.3/manifests"},{"name":"24.1.2","sha":"a241df63ff8f8df4287cd6b53282f3391a86580d","kind":"commit","published_at":"2024-08-25T09:33:05.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/24.1.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/24.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/24.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/24.1.2/manifests"},{"name":"24.1.1","sha":"ee8b6156bee3c7d0d201ccdd2135ee635fb8afcd","kind":"commit","published_at":"2024-07-21T05:08:36.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/24.1.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/24.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/24.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/24.1.1/manifests"},{"name":"24.1.0","sha":"4555914e8171f307013a977d7af1e2acb5b3e99d","kind":"commit","published_at":"2024-05-26T09:21:06.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/24.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/24.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/24.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/24.1.0/manifests"},{"name":"24.0.0","sha":"2f8a7302a43fff92f244d5f3426367a8eb2b8896","kind":"commit","published_at":"2024-01-21T13:05:22.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/24.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/24.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/24.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/24.0.0/manifests"},{"name":"23.2.0","sha":"cf8b707a080b15746046177e8bdb70c3c5ef295a","kind":"commit","published_at":"2024-01-07T12:43:14.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/23.2.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/23.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/23.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/23.2.0/manifests"},{"name":"23.1.0","sha":"dc8306f776b8a2411e3a4ce3e1e3225d3fc88316","kind":"commit","published_at":"2024-01-05T13:40:27.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/23.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/23.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/23.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/23.1.0/manifests"},{"name":"23.0.1","sha":"8e31507f3bb32c1face73df9e164f858feb5f2fa","kind":"commit","published_at":"2023-11-30T09:55:12.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/23.0.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/23.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/23.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/23.0.1/manifests"},{"name":"23.0.0","sha":"b96888987f4a2b26e6a53f9fac148d9c28d24294","kind":"tag","published_at":"2023-11-26T15:02:27.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/23.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/23.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/23.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/23.0.0/manifests"},{"name":"22.1.0","sha":"2ed1d4bd8e3edbe6992c35ae95f9ee84b4c4a715","kind":"commit","published_at":"2023-05-27T10:18:32.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/22.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/22.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/22.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/22.1.0/manifests"},{"name":"22.0.0","sha":"4bb2582101cba29851ddaf79abf97769a08d1e01","kind":"commit","published_at":"2023-05-02T09:02:45.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/22.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/22.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/22.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/22.0.0/manifests"},{"name":"21.1.2","sha":"4d1ef41615f38da1e6be89844521434dc588b435","kind":"commit","published_at":"2023-05-01T14:39:14.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/21.1.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/21.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/21.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/21.1.2/manifests"},{"name":"21.1.1","sha":"31cfdd4541e0cc83c2be9b105fda41bc188f72cd","kind":"commit","published_at":"2023-03-12T12:26:35.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/21.1.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/21.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/21.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/21.1.1/manifests"},{"name":"21.1.0","sha":"8e3a568d504353270691b5955af505155ae368bf","kind":"commit","published_at":"2023-01-22T11:15:38.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/21.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/21.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/21.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/21.1.0/manifests"},{"name":"21.0.0","sha":"a7c85452d0c4b1947b0410baf11b040f0ed076a9","kind":"commit","published_at":"2023-01-07T14:03:21.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/21.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/21.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/21.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/21.0.0/manifests"},{"name":"20.0.3","sha":"22f7c3c51829a6f14387f7a99e5cdf087f72e685","kind":"commit","published_at":"2022-11-20T10:29:43.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/20.0.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/20.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/20.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/20.0.3/manifests"},{"name":"20.0.2","sha":"e285763ebf46bbc9c883a519c9a18231f5ede9d8","kind":"commit","published_at":"2022-10-30T13:11:22.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/20.0.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/20.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/20.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/20.0.2/manifests"},{"name":"20.0.1","sha":"df8de0085a83be632b0b81e69c8ed69f0f13490a","kind":"commit","published_at":"2022-10-02T06:52:48.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/20.0.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/20.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/20.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/20.0.1/manifests"},{"name":"20.0.0","sha":"6d7ccf2517259fe97b082b363134ea9612800747","kind":"commit","published_at":"2022-06-19T13:37:06.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/20.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/20.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/20.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/20.0.0/manifests"},{"name":"19.0.0","sha":"a604d67995fe5b2b1ce73090d347c23eeed011eb","kind":"commit","published_at":"2021-12-02T21:44:04.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/19.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/19.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/19.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/19.0.0/manifests"},{"name":"18.1.1","sha":"a61fdb886a30fce6a3aa68002e1af6e5bcb4c372","kind":"commit","published_at":"2021-11-21T22:56:27.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/18.1.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/18.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/18.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/18.1.1/manifests"},{"name":"18.1.0","sha":"79ff734ba492a291827e23f1a7c7312b6b97ba8b","kind":"commit","published_at":"2021-11-12T22:49:17.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/18.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/18.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/18.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/18.1.0/manifests"},{"name":"18.0.1","sha":"b1ce1af0ba28c5936a1adc76566e949378dc61dd","kind":"commit","published_at":"2021-11-01T15:16:48.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/18.0.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/18.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/18.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/18.0.1/manifests"},{"name":"18.0.0","sha":"24e23c0074a74f4068b5179a3936af3f5df1ae9a","kind":"commit","published_at":"2021-10-08T17:28:07.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/18.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/18.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/18.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/18.0.0/manifests"},{"name":"17.0.0","sha":"ba8e5806d1a23960a03c3dd99af98fd0916b4bc9","kind":"commit","published_at":"2021-08-02T16:21:04.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/17.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/17.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/17.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/17.0.0/manifests"},{"name":"16.7.0","sha":"1aa3cbc2eea649b91995583725610c6b98e91251","kind":"commit","published_at":"2021-08-01T20:53:30.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/16.7.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/16.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.7.0/manifests"},{"name":"16.6.0","sha":"74a8d1eae83aaa94da1fd45d46d9f3acf448da04","kind":"commit","published_at":"2021-05-23T19:44:55.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/16.6.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/16.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.6.0/manifests"},{"name":"16.5.3","sha":"e4c4004c122797cd897f35475bb6ab42688ba452","kind":"commit","published_at":"2021-04-11T19:30:45.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/16.5.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/16.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.5.3/manifests"},{"name":"16.5.2","sha":"bd50bbe219799980d9c9a173309cafcef3d9d8bc","kind":"commit","published_at":"2021-03-28T17:34:16.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/16.5.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/16.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.5.2/manifests"},{"name":"16.5.1","sha":"69b0205ed4cdafe94f9ffea519e00dcc67e17f1f","kind":"commit","published_at":"2021-03-13T00:20:07.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/16.5.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/16.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.5.1/manifests"},{"name":"16.5.0","sha":"2d82763248296c5f118d6fd890317f5db5de1635","kind":"commit","published_at":"2021-03-07T22:39:42.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/16.5.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/16.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.5.0/manifests"},{"name":"16.4.0","sha":"5279cfda5fe4d52f04b2eb6a801c98d81f9b55da","kind":"commit","published_at":"2020-08-08T19:35:51.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/16.4.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/16.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.4.0/manifests"},{"name":"16.3.0","sha":"3010c09aae4fd1eeaee6c4c970b8fa64c006a36b","kind":"commit","published_at":"2020-07-10T00:54:12.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/16.3.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/16.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.3.0/manifests"},{"name":"16.2.2","sha":"59fa79518da02dc2f098e989cfae3bdb24449f66","kind":"commit","published_at":"2020-03-30T01:28:46.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/16.2.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/16.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.2.2/manifests"},{"name":"16.2.1","sha":"19884d85f9c8f3e7ce2f3ad68c7b86d00674bef8","kind":"tag","published_at":"2020-03-09T22:37:17.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/16.2.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/16.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.2.1/manifests"},{"name":"16.2.0","sha":"493f63aea8152f5222bcb36cd46f18b5b1da62d0","kind":"commit","published_at":"2020-02-16T23:01:59.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/16.2.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/16.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.2.0/manifests"},{"name":"16.1.0","sha":"b4b5a542380316a0d7296f7f41a5909bf5e097db","kind":"commit","published_at":"2020-02-01T22:28:14.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/16.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/16.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.1.0/manifests"},{"name":"16.0.1","sha":"afc85c80df03efd50a1412c209c6dfdd216e2163","kind":"commit","published_at":"2020-01-20T06:15:32.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/16.0.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/16.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.0.1/manifests"},{"name":"16.0.0","sha":"902b69e15ac4af23c1407305d343939dfe062a2d","kind":"commit","published_at":"2020-01-11T03:32:03.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/16.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/16.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/16.0.0/manifests"},{"name":"15.2.1","sha":"c3f0f2756bdbb20e235473728b562e04a67a6555","kind":"commit","published_at":"2019-11-04T03:24:10.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/15.2.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/15.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/15.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/15.2.1/manifests"},{"name":"15.2.0","sha":"b4bb1c5248e05762aa3c4c14faa71ef3adf10657","kind":"commit","published_at":"2019-10-14T13:39:16.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/15.2.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/15.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/15.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/15.2.0/manifests"},{"name":"15.1.1","sha":"03712154a4ab3a3aebf33fdeb8e0ae436b0c41e3","kind":"commit","published_at":"2019-05-28T01:24:03.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/15.1.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/15.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/15.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/15.1.1/manifests"},{"name":"15.1.0","sha":"5f314a94ece44e94c6f662862bc12ba0ee6db30b","kind":"commit","published_at":"2019-05-12T22:20:30.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/15.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/15.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/15.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/15.1.0/manifests"},{"name":"15.0.0","sha":"43f2089142f57cddc3983e6429c34351699625f2","kind":"commit","published_at":"2019-04-21T22:54:15.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/15.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/15.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/15.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/15.0.0/manifests"},{"name":"14.1.0","sha":"a14aae0df9aad8d1f15dd9534efbebf94dfa95da","kind":"commit","published_at":"2019-04-21T04:28:05.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/14.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/14.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/14.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/14.1.0/manifests"},{"name":"14.0.0","sha":"b83783da63deeb7c5602b024a92e214df423a412","kind":"commit","published_at":"2019-03-10T03:15:46.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/14.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/14.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/14.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/14.0.0/manifests"},{"name":"13.2.0","sha":"16d3913eea0360c7757e75f7e266c3873c85b7dd","kind":"commit","published_at":"2019-01-24T03:56:38.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/13.2.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/13.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/13.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/13.2.0/manifests"},{"name":"13.1.0","sha":"26f0bed40cb87bb063bef972ec1dd8416dc81dd8","kind":"commit","published_at":"2018-12-15T03:31:56.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/13.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/13.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/13.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/13.1.0/manifests"},{"name":"13.0.0","sha":"70a1c521368e04e62786366fc209fbd2e0b95118","kind":"commit","published_at":"2018-10-29T19:52:18.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/13.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/13.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/13.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/13.0.0/manifests"},{"name":"12.2.0","sha":"751c29ecb3ce61bff8dfab0d05df1509c53be5d3","kind":"commit","published_at":"2018-10-08T05:46:18.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/12.2.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/12.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/12.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/12.2.0/manifests"},{"name":"12.1.0","sha":"b2994f99081db87d93e825c570f7402d2846668b","kind":"commit","published_at":"2018-09-30T03:48:57.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/12.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/12.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/12.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/12.1.0/manifests"},{"name":"12.0.0","sha":"79358ef76389e3b54ce0db76a994e9358b3727a2","kind":"commit","published_at":"2018-08-19T20:49:54.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/12.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/12.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/12.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/12.0.0/manifests"},{"name":"11.12.0","sha":"4d26c6773f011205d9c703cc5988e7c117efea31","kind":"commit","published_at":"2018-07-27T04:53:12.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/11.12.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/11.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.12.0/manifests"},{"name":"11.11.0","sha":"892599f92b18ac78684522c3f5278be91e373d21","kind":"commit","published_at":"2018-05-23T20:39:13.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/11.11.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/11.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.11.0/manifests"},{"name":"11.10.0","sha":"988e4976be3856d18d56a996d141ffd512631588","kind":"commit","published_at":"2018-04-30T00:13:36.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/11.10.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/11.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.10.0/manifests"},{"name":"11.9.0","sha":"b0ca4dda876ff63aa535da98fd984c33caee026b","kind":"commit","published_at":"2018-04-23T03:52:57.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/11.9.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/11.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.9.0/manifests"},{"name":"11.8.0","sha":"2e90c57c282eb06023fab09304e29622268b91cb","kind":"commit","published_at":"2018-04-16T02:51:07.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/11.8.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/11.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.8.0/manifests"},{"name":"11.7.0","sha":"1e5bbd2638902a878c563e6e0e7a475d1bd37517","kind":"commit","published_at":"2018-04-01T19:06:07.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/11.7.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/11.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.7.0/manifests"},{"name":"11.6.2","sha":"1cd4831e36b40c8041237d5cf184f229f358ffc0","kind":"commit","published_at":"2018-01-30T02:32:05.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/11.6.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/11.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.6.2/manifests"},{"name":"11.6.1","sha":"450b915cc68b6581b9b26a312837fa993ef8b4cd","kind":"commit","published_at":"2018-01-25T00:43:13.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/11.6.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/11.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.6.1/manifests"},{"name":"11.6.0","sha":"dc150a182db8cb17a682e21073c43efd9e0ad2a0","kind":"commit","published_at":"2018-01-22T04:10:31.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/11.6.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/11.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.6.0/manifests"},{"name":"11.5.1","sha":"4e7dccaf336798573b03179992134b650ffa97ab","kind":"commit","published_at":"2017-11-26T22:28:39.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/11.5.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/11.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.5.1/manifests"},{"name":"11.4.0","sha":"cef555ae75bbfdf8bebea3af8ca7908ecb9ee3ff","kind":"commit","published_at":"2017-11-19T23:24:48.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/11.4.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/11.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.4.0/manifests"},{"name":"11.3.0","sha":"6bb58851ccaa659b2904cb8b18c19efd53d1e74c","kind":"commit","published_at":"2017-09-30T22:03:57.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/11.3.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/11.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.3.0/manifests"},{"name":"11.2.0","sha":"fefa181e2417ea1d246ef2c6cabb12f11dcbb705","kind":"commit","published_at":"2017-08-21T03:07:53.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/11.2.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/11.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.2.0/manifests"},{"name":"11.1.0","sha":"9783072038ee7cf02fd980d7e2632de88f6ed45e","kind":"commit","published_at":"2017-07-03T06:09:19.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/11.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/11.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.1.0/manifests"},{"name":"11.0.0","sha":"0f4128dabbf155160eceae50a2217572439a631e","kind":"commit","published_at":"2017-05-21T23:31:50.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/11.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/11.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/11.0.0/manifests"},{"name":"10.1.0","sha":"d078830eafd17ec38aa816cf283da39ec5316e31","kind":"commit","published_at":"2017-05-01T02:57:02.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/10.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/10.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/10.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/10.1.0/manifests"},{"name":"10.0.0","sha":"50ebb593deb1b6c344b1a3c4c2e215b9a09f2fe2","kind":"commit","published_at":"2017-04-24T05:54:51.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/10.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/10.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/10.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/10.0.0/manifests"},{"name":"9.12.0","sha":"e0687795456773058755867e53c487aa3fe80e5b","kind":"commit","published_at":"2017-03-12T20:25:32.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.12.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.12.0/manifests"},{"name":"9.11.0","sha":"013dc7a284f34c893953722b2cb9fab08652174d","kind":"commit","published_at":"2017-02-11T23:23:39.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.11.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.11.0/manifests"},{"name":"9.10.0","sha":"49596addeb0ef5fa5cb6903f5544a8ce09c99daa","kind":"commit","published_at":"2017-02-04T17:21:30.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.10.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.10.0/manifests"},{"name":"9.9.1","sha":"5f949cfc3473e323f5191efd0c4d9ba917dc7a23","kind":"commit","published_at":"2016-12-19T03:46:10.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.9.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.9.1/manifests"},{"name":"9.9.0","sha":"05e0c53c6abb454f930ba190903b5ea7cbca67bd","kind":"commit","published_at":"2016-12-19T01:13:02.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.9.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.9.0/manifests"},{"name":"9.8.3","sha":"37be2eaa044f943ace435f370c68c5b0033d9ebd","kind":"commit","published_at":"2016-10-25T08:12:31.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.8.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.8.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.8.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.8.3/manifests"},{"name":"9.8.2","sha":"6bc9e23e1fe9ad4b8ce753579dfe3731d3fb2eb4","kind":"commit","published_at":"2016-10-25T03:20:21.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.8.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.8.2/manifests"},{"name":"9.8.1","sha":"10240bb4e708ef85dd35984589619969afcb9679","kind":"commit","published_at":"2016-10-25T01:48:32.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.8.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.8.1/manifests"},{"name":"9.8.0","sha":"0ed2212274b6cfd3e7e89ce49009583e40e4d5e7","kind":"commit","published_at":"2016-10-16T19:29:33.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.8.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.8.0/manifests"},{"name":"9.7.1","sha":"16fd85618f2705d181232f6552125872a37164bc","kind":"commit","published_at":"2016-10-15T15:35:26.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.7.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.7.1/manifests"},{"name":"9.7.0","sha":"09f184ce886cdc2f9a5f9c6199b3cd65c9aae5e1","kind":"commit","published_at":"2016-10-15T14:12:39.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.7.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.7.0/manifests"},{"name":"9.6.0","sha":"7b11f2b72b9fdbbe2946f9e28722ef2c661c50db","kind":"commit","published_at":"2016-10-02T18:46:59.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.6.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.6.0/manifests"},{"name":"9.5.0","sha":"65112fb1664d439d3b3589fdf00e7fc89b6092ae","kind":"commit","published_at":"2016-09-03T20:47:00.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.5.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.5.0/manifests"},{"name":"9.4.5","sha":"7f1b99908a3e14db9458a7131f38fa8554fb12f1","kind":"commit","published_at":"2016-08-30T19:21:30.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.4.5","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.4.5/manifests"},{"name":"9.4.4","sha":"6755690e1d8cfb62accab8599ee28b4039da5b3f","kind":"commit","published_at":"2016-08-30T19:08:50.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.4.4","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.4.4/manifests"},{"name":"9.4.3","sha":"77dff7e421308817e7e5fec818f93d00a4488690","kind":"commit","published_at":"2016-08-30T18:58:38.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.4.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.4.3/manifests"},{"name":"9.4.2","sha":"78681e9d96cac0ec5062ffbdddb6b19ea8b82f91","kind":"commit","published_at":"2016-08-11T04:09:15.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.4.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.4.2/manifests"},{"name":"9.4.1","sha":"13b2326b57ec621c4b75a64966ea23d89d8fce99","kind":"commit","published_at":"2016-07-05T21:53:58.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.4.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.4.1/manifests"},{"name":"9.4.0","sha":"5d66130b1ba285381787acd0ad0ce980cbbdbf37","kind":"commit","published_at":"2016-07-02T22:13:32.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.4.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.4.0/manifests"},{"name":"9.3.0","sha":"6ccfdc5570667103fc84179a68245feb4e2a0bca","kind":"commit","published_at":"2016-06-26T21:11:16.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.3.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.3.0/manifests"},{"name":"9.2.1","sha":"6756aa5e1d921e787045f5d23ff5c162b13186db","kind":"commit","published_at":"2016-05-28T21:06:22.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.2.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.2.1/manifests"},{"name":"9.2.0","sha":"7d88aacf391d6b6e87851fe406c2312faf2cd296","kind":"commit","published_at":"2016-05-24T10:12:45.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.2.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.2.0/manifests"},{"name":"9.1.0","sha":"72b53d9682dd60aa98047439c4f810584027de6b","kind":"commit","published_at":"2016-05-15T19:52:29.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.1.0/manifests"},{"name":"9.0.0","sha":"f2f22937ade86225fc65177975c1ce1bfacf347b","kind":"commit","published_at":"2016-05-06T21:14:46.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/9.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/9.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/9.0.0/manifests"},{"name":"8.5.0","sha":"fced7b554532fdfeb20728fe79e28adfbabe4dcd","kind":"commit","published_at":"2016-05-01T23:52:20.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/8.5.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/8.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.5.0/manifests"},{"name":"8.4.1","sha":"ec90ef91d7ef89ebea6b0334afee6072a6723d9c","kind":"commit","published_at":"2016-04-28T02:31:19.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/8.4.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/8.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.4.1/manifests"},{"name":"8.4.0","sha":"9f566e7eac83160a42722f732e8058cddafab7ae","kind":"commit","published_at":"2016-04-15T23:55:34.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/8.4.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/8.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.4.0/manifests"},{"name":"8.3.1","sha":"54645e6288ecdea354cd1a1905c38beb6e325cc2","kind":"commit","published_at":"2016-04-10T22:08:43.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/8.3.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/8.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.3.1/manifests"},{"name":"8.3.0","sha":"3ad126cc9783efd498cfb32a7e64e4888caf9687","kind":"commit","published_at":"2016-04-03T22:54:29.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/8.3.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/8.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.3.0/manifests"},{"name":"8.2.0","sha":"1509f5be6979dd20e336cbca1bdc0182e9210e81","kind":"commit","published_at":"2016-03-28T00:21:55.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/8.2.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/8.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.2.0/manifests"},{"name":"8.1.1","sha":"3dfcf59f0e7945d79cb5a1b45420a993a98a29d0","kind":"commit","published_at":"2016-03-06T18:22:21.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/8.1.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/8.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.1.1/manifests"},{"name":"8.1.0","sha":"4110bb7a5a22438eb920e174231fc3f7ff7a6d4f","kind":"commit","published_at":"2016-03-01T03:54:43.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/8.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/8.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.1.0/manifests"},{"name":"8.0.3","sha":"1fe6566fed57890edb89c96660bca07bfc5ccba1","kind":"commit","published_at":"2016-02-17T07:09:09.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/8.0.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/8.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.0.3/manifests"},{"name":"cleanuptesting_backupF","sha":"cec59306a682b27a097924ae89825718eb4a6f8d","kind":"tag","published_at":"2016-02-13T14:10:13.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/cleanuptesting_backupF","html_url":"https://github.com/jsdom/jsdom/releases/tag/cleanuptesting_backupF","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/cleanuptesting_backupF","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/cleanuptesting_backupF/manifests"},{"name":"cleanuptesting_backupE","sha":"3ccf108a9aa1c2f0e7bd4f49222f6f877b18c4c7","kind":"tag","published_at":"2016-02-08T22:33:11.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/cleanuptesting_backupE","html_url":"https://github.com/jsdom/jsdom/releases/tag/cleanuptesting_backupE","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/cleanuptesting_backupE","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/cleanuptesting_backupE/manifests"},{"name":"cleanuptesting_backupD","sha":"e992d06607fdedae66eb843e1e0d5c0be1d595b3","kind":"tag","published_at":"2016-02-07T23:30:29.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/cleanuptesting_backupD","html_url":"https://github.com/jsdom/jsdom/releases/tag/cleanuptesting_backupD","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/cleanuptesting_backupD","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/cleanuptesting_backupD/manifests"},{"name":"cleanuptesting_backupC","sha":"6b7e5bf8acaf6cfe75007dd7a8ffea23581fc5d0","kind":"tag","published_at":"2016-02-07T23:27:55.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/cleanuptesting_backupC","html_url":"https://github.com/jsdom/jsdom/releases/tag/cleanuptesting_backupC","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/cleanuptesting_backupC","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/cleanuptesting_backupC/manifests"},{"name":"cleanuptesting_backupB","sha":"2ccff45a0b67478781eadadc19d4c3cf39470cc5","kind":"tag","published_at":"2016-02-07T21:20:28.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/cleanuptesting_backupB","html_url":"https://github.com/jsdom/jsdom/releases/tag/cleanuptesting_backupB","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/cleanuptesting_backupB","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/cleanuptesting_backupB/manifests"},{"name":"cleanuptesting_backupA","sha":"44d30d315b854c3934b12c9d6bdfbaa9fc3a4b19","kind":"tag","published_at":"2016-02-04T21:36:05.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/cleanuptesting_backupA","html_url":"https://github.com/jsdom/jsdom/releases/tag/cleanuptesting_backupA","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/cleanuptesting_backupA","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/cleanuptesting_backupA/manifests"},{"name":"8.0.2","sha":"6f3b7b64c3726f63e4dd62bfa4120b6f6807d026","kind":"commit","published_at":"2016-02-01T00:24:23.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/8.0.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/8.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.0.2/manifests"},{"name":"8.0.1","sha":"c27c610fe1d849b6c2461355574dcf3c699f8e48","kind":"commit","published_at":"2016-01-28T20:50:21.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/8.0.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.0.1/manifests"},{"name":"8.0.0","sha":"9971f699710368297ece24019aafc3a64b1b71a8","kind":"commit","published_at":"2016-01-27T23:32:48.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/8.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.0.0/manifests"},{"name":"8.0.0-0","sha":"fef755747d5627bc0fb61758f92cbd9c0146a54a","kind":"commit","published_at":"2016-01-04T15:02:57.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/8.0.0-0","html_url":"https://github.com/jsdom/jsdom/releases/tag/8.0.0-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.0.0-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/8.0.0-0/manifests"},{"name":"7.2.2","sha":"d7b2f7b91e7aa64c072db7a8c3bbd16f9d1d2095","kind":"commit","published_at":"2015-12-27T00:27:03.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/7.2.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/7.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/7.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/7.2.2/manifests"},{"name":"7.2.1","sha":"d5b775d00c31597aba91b9582cc4d9b355264a13","kind":"commit","published_at":"2015-12-11T23:34:01.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/7.2.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/7.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/7.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/7.2.1/manifests"},{"name":"7.2.0","sha":"69dbd06a695912c13fc8ee519b36cfdb153a344c","kind":"commit","published_at":"2015-12-06T22:58:14.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/7.2.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/7.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/7.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/7.2.0/manifests"},{"name":"7.1.1","sha":"037a43291a8cede5876df5d43292394f5a68c2fc","kind":"commit","published_at":"2015-12-02T19:38:32.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/7.1.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/7.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/7.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/7.1.1/manifests"},{"name":"7.1.0","sha":"f84265df9f83aa3ed9d7ee59ba5d54c65de5b080","kind":"commit","published_at":"2015-11-26T06:45:45.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/7.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/7.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/7.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/7.1.0/manifests"},{"name":"7.0.2","sha":"98e412228cdf8edcd364a3fe5acd91b752370a71","kind":"commit","published_at":"2015-10-22T18:37:55.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/7.0.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/7.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/7.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/7.0.2/manifests"},{"name":"7.0.1","sha":"e5e38f4674222a57639d2d4e3b079451d69eedf8","kind":"commit","published_at":"2015-10-18T21:54:47.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/7.0.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/7.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/7.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/7.0.1/manifests"},{"name":"7.0.0","sha":"0236864e193f89cf4034102ee4f5781ddb12043a","kind":"commit","published_at":"2015-10-17T23:42:17.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/7.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/7.0.0/manifests"},{"name":"6.5.1","sha":"fb563781ffc94df592b5e2223e7c8911440af2c7","kind":"commit","published_at":"2015-09-19T17:16:14.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/6.5.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/6.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/6.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/6.5.1/manifests"},{"name":"6.5.0","sha":"ffa4039ee85f869cf921f1be3ec8bd2b707adb5b","kind":"commit","published_at":"2015-09-14T14:37:37.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/6.5.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/6.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/6.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/6.5.0/manifests"},{"name":"6.4.0","sha":"1020d42672c612f8ca6356f8cec6c078bcb2195b","kind":"commit","published_at":"2015-09-13T18:58:53.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/6.4.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/6.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/6.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/6.4.0/manifests"},{"name":"6.3.0","sha":"b965621bcb94aafa22d232ea2598380dcb5d4bdb","kind":"commit","published_at":"2015-08-30T18:44:40.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/6.3.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/6.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/6.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/6.3.0/manifests"},{"name":"6.2.0","sha":"01b6cdad02db2e4e4eb9f7f99311107784824606","kind":"commit","published_at":"2015-08-25T02:59:05.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/6.2.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/6.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/6.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/6.2.0/manifests"},{"name":"6.1.0","sha":"15da6beb9ee49084f8dd3560955a78feb29650cb","kind":"commit","published_at":"2015-08-11T01:12:07.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/6.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/6.1.0/manifests"},{"name":"6.0.1","sha":"ebfb7923ee353b30b9883f6f87c52f83c73e4746","kind":"commit","published_at":"2015-08-07T23:49:59.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/6.0.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/6.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/6.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/6.0.1/manifests"},{"name":"6.0.0","sha":"3c156b854784071b5ca6744afeac6b8af9bd97dc","kind":"commit","published_at":"2015-08-05T22:20:55.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/6.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/6.0.0/manifests"},{"name":"5.6.1","sha":"b547636ab5be043f6b0b53f1208b57616940c7c3","kind":"commit","published_at":"2015-07-13T22:11:01.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/5.6.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/5.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.6.1/manifests"},{"name":"5.6.0","sha":"1d33c7dd4c36a239524cbf6f951da60c2625441f","kind":"commit","published_at":"2015-07-05T11:59:35.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/5.6.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/5.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.6.0/manifests"},{"name":"5.5.0","sha":"7004ccefa0ba1beb543cad848312c34c7f61e6c6","kind":"commit","published_at":"2015-06-30T01:47:18.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/5.5.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/5.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.5.0/manifests"},{"name":"5.4.3","sha":"bcddfaf68e8d773a94cc891b2e97a1db309c8b9e","kind":"commit","published_at":"2015-05-22T03:56:03.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/5.4.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/5.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.4.3/manifests"},{"name":"4.5.3","sha":"bcddfaf68e8d773a94cc891b2e97a1db309c8b9e","kind":"commit","published_at":"2015-05-22T03:56:03.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/4.5.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/4.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.5.3/manifests"},{"name":"5.4.2","sha":"0e9e2c0568b4628acb7fc2bfdae6603b3fab1e4d","kind":"commit","published_at":"2015-05-19T15:57:38.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/5.4.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/5.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.4.2/manifests"},{"name":"5.4.1","sha":"f9d6f4274b1861b6a433b5ce04a49639271f61f6","kind":"commit","published_at":"2015-05-11T00:08:28.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/5.4.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/5.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.4.1/manifests"},{"name":"5.4.0","sha":"daa4df33df8d01ca7f6a4d6b465aa8f2a6f75bd9","kind":"commit","published_at":"2015-05-10T22:16:48.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/5.4.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/5.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.4.0/manifests"},{"name":"5.3.0","sha":"db257df675fd2264adbe8a7f3783a72bccce25ef","kind":"commit","published_at":"2015-04-29T21:30:44.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/5.3.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/5.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.3.0/manifests"},{"name":"5.2.0","sha":"e1e73d6220d0875925deedbaf3c69679c782f73b","kind":"commit","published_at":"2015-04-27T16:42:38.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/5.2.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.2.0/manifests"},{"name":"5.1.0","sha":"2e632a765087e63f8187dc092b11172cb9e3fd5c","kind":"commit","published_at":"2015-04-23T15:29:28.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/5.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.1.0/manifests"},{"name":"4.5.2","sha":"cdd8506de4459ef9177c2b1f89c152eed0aef8bb","kind":"commit","published_at":"2015-04-23T15:17:13.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/4.5.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/4.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.5.2/manifests"},{"name":"5.0.1","sha":"44743d838308e6c87788ea05be018200664377f7","kind":"commit","published_at":"2015-04-16T21:34:26.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/5.0.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/5.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.0.1/manifests"},{"name":"5.0.0","sha":"9c6e596580c7f65e949f3839660f6da02863f5c2","kind":"commit","published_at":"2015-04-16T03:06:54.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/5.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/5.0.0/manifests"},{"name":"4.5.1","sha":"3b017dd878300ed42fc3d085a14052cd583862b4","kind":"commit","published_at":"2015-04-16T02:51:49.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/4.5.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/4.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.5.1/manifests"},{"name":"4.5.0","sha":"e6802c02bc0350c92e486255499d97d4f9d8a02a","kind":"commit","published_at":"2015-04-16T02:18:53.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/4.5.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/4.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.5.0/manifests"},{"name":"4.4.0","sha":"7dbb37d78e3909239da2eb6ded8ab17a5583f3d8","kind":"commit","published_at":"2015-04-13T18:12:44.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/4.4.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/4.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.4.0/manifests"},{"name":"4.3.0","sha":"50c67183296fd7e7cf27a510ce3b51316539034f","kind":"commit","published_at":"2015-04-10T18:44:17.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/4.3.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/4.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.3.0/manifests"},{"name":"4.2.0","sha":"093b55cb345e58fa9c1cb321c05bf5b6ee8f273a","kind":"commit","published_at":"2015-04-08T16:04:46.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/4.2.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.2.0/manifests"},{"name":"4.1.0","sha":"a539335956dae60489af5027886ad0f1d405c063","kind":"commit","published_at":"2015-03-28T22:32:37.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/4.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.1.0/manifests"},{"name":"4.0.5","sha":"c6a3bbdfd199a43030daa030df39ae19872e3a6e","kind":"commit","published_at":"2015-03-24T14:59:17.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/4.0.5","html_url":"https://github.com/jsdom/jsdom/releases/tag/4.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.0.5/manifests"},{"name":"4.0.4","sha":"777d459f627d019e4b83b0b036e7860e25678794","kind":"commit","published_at":"2015-03-20T03:42:05.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/4.0.4","html_url":"https://github.com/jsdom/jsdom/releases/tag/4.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.0.4/manifests"},{"name":"4.0.3","sha":"8557206da2d9404c70963fe4491961bd00143fc0","kind":"commit","published_at":"2015-03-18T15:21:55.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/4.0.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/4.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.0.3/manifests"},{"name":"4.0.2","sha":"3b74d3d2191632455ea09d54d14e0a9d27305401","kind":"commit","published_at":"2015-03-03T03:05:50.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/4.0.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/4.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.0.2/manifests"},{"name":"4.0.1","sha":"8cd80540f338b7498e9aab236df520ab7fbc88a4","kind":"commit","published_at":"2015-02-24T18:57:05.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/4.0.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.0.1/manifests"},{"name":"4.0.0","sha":"2390f917749608deda0b5dabff959659eaf7e1c9","kind":"commit","published_at":"2015-02-22T22:22:55.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/4.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/4.0.0/manifests"},{"name":"3.1.2","sha":"39633c67c33f5ca9628a85f7c0df6a8a09595999","kind":"commit","published_at":"2015-02-20T18:36:51.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/3.1.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/3.1.2/manifests"},{"name":"3.1.1","sha":"3cb519442c38faa453581d2aff839c5f6d043a6c","kind":"commit","published_at":"2015-02-09T05:14:57.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/3.1.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/3.1.1/manifests"},{"name":"3.1.0","sha":"de3ca6667766d39dd3c5d007036c42f4e0a42491","kind":"commit","published_at":"2015-01-27T20:15:04.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/3.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/3.1.0/manifests"},{"name":"3.0.3","sha":"25a82d8a6c5cad6b447281b2f34c444423261aef","kind":"commit","published_at":"2015-01-27T00:43:15.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/3.0.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/3.0.3/manifests"},{"name":"3.0.2","sha":"d0327971448ae8c5c2c12984e1177843c1503992","kind":"commit","published_at":"2015-01-21T22:20:56.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/3.0.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/3.0.2/manifests"},{"name":"3.0.1","sha":"0da29317ba7893d9d9c44edc5847a981ff7096b5","kind":"commit","published_at":"2015-01-21T00:00:31.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/3.0.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/3.0.1/manifests"},{"name":"3.0.0","sha":"eabde1008ece00ae1275890919c6497777126538","kind":"commit","published_at":"2015-01-18T00:27:16.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/3.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/3.0.0/manifests"},{"name":"2.0.0","sha":"ae490dd733ca5be56c952df5c3b122b768fe2909","kind":"commit","published_at":"2014-12-28T01:25:52.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/2.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/2.0.0/manifests"},{"name":"1.5.0","sha":"bd2b8210bb3a0b2c4957df21ecff1b69b2222e6b","kind":"commit","published_at":"2014-12-14T21:37:59.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.5.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.5.0/manifests"},{"name":"1.4.1","sha":"fd5f582869af49504a27d8be5d846025618f772d","kind":"commit","published_at":"2014-12-07T19:39:08.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.4.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.4.1/manifests"},{"name":"1.4.0","sha":"a5a258acdc97d0cf32f694bcdb0e0a5278a79876","kind":"commit","published_at":"2014-12-05T23:17:53.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.4.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.4.0/manifests"},{"name":"1.3.2","sha":"230488f356f2b17f411b6856bfb0a0e66319eee5","kind":"commit","published_at":"2014-12-03T01:42:20.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.3.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.3.2/manifests"},{"name":"1.3.1","sha":"b41f52f51cebc8884f818d54636da78e451f5c5f","kind":"commit","published_at":"2014-11-18T22:02:24.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.3.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.3.1/manifests"},{"name":"1.3.0","sha":"d776919f5d2bc9d77eeae0b425c22d90872efb2f","kind":"commit","published_at":"2014-11-18T21:40:53.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.3.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.3.0/manifests"},{"name":"1.2.3","sha":"8c7879775dba2a600e73da01d37798423ba3f236","kind":"commit","published_at":"2014-11-18T17:25:32.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.2.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.2.3/manifests"},{"name":"1.2.2","sha":"77990df1527b39e88a877a313c9eb418e377d6cf","kind":"commit","published_at":"2014-11-17T13:40:47.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.2.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.2.2/manifests"},{"name":"1.2.1","sha":"439cf2ebb1fec993d887244eb936f9c03a17ed37","kind":"commit","published_at":"2014-11-08T14:21:15.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.2.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.2.1/manifests"},{"name":"1.2.0","sha":"6de4778fdd45fdf5681a9527f6923e1e2c7a66c7","kind":"commit","published_at":"2014-11-05T10:59:52.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.2.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.2.0/manifests"},{"name":"1.1.0","sha":"805b1a7b0e7f3c4ecc28680f173eb344a7ff7c63","kind":"commit","published_at":"2014-10-29T20:15:57.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.1.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.1.0/manifests"},{"name":"1.0.3","sha":"4e9efc471c1480272e3ba396efbb6097acdb7316","kind":"commit","published_at":"2014-10-13T22:39:37.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.0.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.3/manifests"},{"name":"1.0.2","sha":"b06a86ac5da7dd3b35c131b704607b6da4e9ba16","kind":"commit","published_at":"2014-10-13T20:02:51.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.0.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.2/manifests"},{"name":"1.0.1","sha":"656bd86e107490c1334d57b06f6f63f0107e8663","kind":"commit","published_at":"2014-10-02T19:56:11.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.0.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.1/manifests"},{"name":"1.0.0","sha":"25a062bb9da4ebfcee06b3610cef70b0665e883f","kind":"commit","published_at":"2014-09-28T06:27:45.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.0.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.0/manifests"},{"name":"1.0.0-pre.7","sha":"5e7e24e1c420d2c7d5f73875a773a88bdef60328","kind":"commit","published_at":"2014-09-19T01:25:30.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.0.0-pre.7","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.0.0-pre.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.0-pre.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.0-pre.7/manifests"},{"name":"1.0.0-pre.6","sha":"921d01930261aec9c53e2b92a95432e72411bab1","kind":"commit","published_at":"2014-09-02T14:34:14.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.0.0-pre.6","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.0.0-pre.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.0-pre.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.0-pre.6/manifests"},{"name":"1.0.0-pre.5","sha":"e57b0a58b52d9912346878b866f8f571cb9e819f","kind":"commit","published_at":"2014-08-30T05:13:41.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.0.0-pre.5","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.0.0-pre.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.0-pre.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.0-pre.5/manifests"},{"name":"1.0.0-pre.4","sha":"0aba771f73402e3d6d57aa76544ec87468fc2c95","kind":"commit","published_at":"2014-08-28T16:16:58.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.0.0-pre.4","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.0.0-pre.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.0-pre.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.0-pre.4/manifests"},{"name":"1.0.0-pre.3","sha":"b2c8f6e7fa6889dbfc79ab3802d1ae25426c81d2","kind":"commit","published_at":"2014-08-22T15:12:48.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.0.0-pre.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.0.0-pre.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.0-pre.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.0-pre.3/manifests"},{"name":"1.0.0-pre.2","sha":"5618cd85405309aa3ee767cbc5d102da91c51140","kind":"commit","published_at":"2014-08-22T02:11:10.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.0.0-pre.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.0.0-pre.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.0-pre.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.0-pre.2/manifests"},{"name":"1.0.0-pre.1","sha":"efcbf87f17e813e9a707ac7933384e6c664b4d52","kind":"commit","published_at":"2014-08-19T18:56:52.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/1.0.0-pre.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/1.0.0-pre.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.0-pre.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/1.0.0-pre.1/manifests"},{"name":"0.11.1","sha":"8a6cbbdbd951f1f733316e94710e9fa6d0ad8e26","kind":"commit","published_at":"2014-07-01T00:20:18.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.11.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.11.1/manifests"},{"name":"0.11.0","sha":"ad044d2cc9a9aa97ba25be39689354609bd73e54","kind":"commit","published_at":"2014-06-16T03:13:35.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.11.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.11.0/manifests"},{"name":"0.10.6","sha":"e27bca5eb8ffd51fb50dc24157d0a8421fb08040","kind":"commit","published_at":"2014-05-30T05:26:35.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.10.6","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.10.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.10.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.10.6/manifests"},{"name":"0.10.5","sha":"985dfa0ddec9ad78a5c44a9d47b7c8e57c0bc840","kind":"commit","published_at":"2014-04-04T05:58:17.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.10.5","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.10.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.10.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.10.5/manifests"},{"name":"0.10.4","sha":"27eded60b9718ee2269e134cf713a2c92b4e608a","kind":"commit","published_at":"2014-03-30T03:36:05.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.10.4","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.10.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.10.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.10.4/manifests"},{"name":"0.10.3","sha":"144c4fa75d2a098fcc7df6306d0cd36e736ae166","kind":"commit","published_at":"2014-03-15T04:08:44.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.10.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.10.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.10.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.10.3/manifests"},{"name":"0.10.2","sha":"ca3b591ef75c6b5eecc80fec3da9de209c076696","kind":"commit","published_at":"2014-03-08T22:11:09.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.10.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.10.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.10.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.10.2/manifests"},{"name":"0.10.1","sha":"e2cd827202aad3551bc3abe589e4de1778c5b5b3","kind":"commit","published_at":"2014-02-08T06:25:52.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.10.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.10.1/manifests"},{"name":"0.10.0","sha":"321a7ad761a3b97cd97c9ba5785fc5d35a493e74","kind":"commit","published_at":"2014-02-07T04:25:08.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.10.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.10.0/manifests"},{"name":"0.9.0","sha":"76ce922eb06dafc9f74a5e1e850a2296b6e2f19e","kind":"commit","published_at":"2014-02-02T20:24:38.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.9.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.9.0/manifests"},{"name":"0.8.11","sha":"04432cc6a6b7b50836fdbafccbe9c6f4f393aad4","kind":"commit","published_at":"2014-01-18T04:24:51.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.8.11","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.8.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.11/manifests"},{"name":"0.8.10","sha":"721251d6217762fb30ef7a628b1ba49c13b06d2d","kind":"commit","published_at":"2013-12-18T02:08:41.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.8.10","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.8.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.10/manifests"},{"name":"0.8.9","sha":"44fadc0376ec3bc8a984648aa8563777518a6934","kind":"commit","published_at":"2013-11-30T05:27:54.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.8.9","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.8.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.9/manifests"},{"name":"0.8.8","sha":"565ef43ee9882cddabc260cfa48ff3888e15a1f8","kind":"commit","published_at":"2013-10-23T23:40:34.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.8.8","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.8.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.8/manifests"},{"name":"0.8.7","sha":"928773947e13c321f0a7c6f48e407890e4df7e01","kind":"commit","published_at":"2013-10-21T00:06:33.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.8.7","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.8.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.7/manifests"},{"name":"0.8.6","sha":"cfcc76616c86a98793d7325d480c4d78957cfbef","kind":"commit","published_at":"2013-09-28T02:08:16.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.8.6","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.8.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.6/manifests"},{"name":"0.8.5","sha":"e66f4095c4b4d5d1a87c02ed4e7673e1fce6966e","kind":"commit","published_at":"2013-09-22T06:38:35.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.8.5","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.8.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.5/manifests"},{"name":"0.8.4","sha":"99f766ce1852d4a40ed80b0df31c0f316f1ec0f2","kind":"commit","published_at":"2013-08-25T00:43:27.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.8.4","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.8.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.4/manifests"},{"name":"0.8.3","sha":"dad97613d0fcf255bfbaf89d74f34af72b6e3d05","kind":"commit","published_at":"2013-08-04T23:15:15.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.8.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.8.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.3/manifests"},{"name":"0.8.2","sha":"8ac04bfd0d86d7e3cabb94453e6838f7b0596701","kind":"commit","published_at":"2013-07-28T21:10:20.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.8.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.2/manifests"},{"name":"0.8.1","sha":"7c54bb999ec4c54453a061a0a1a183dbe7e31b91","kind":"commit","published_at":"2013-07-21T20:57:24.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.8.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.1/manifests"},{"name":"0.8.0","sha":"d9332c45da9a8a5717a3f79a8cd87ba941896420","kind":"commit","published_at":"2013-07-21T08:50:37.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.8.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.8.0/manifests"},{"name":"0.7.0","sha":"99138fb61c9a16d29ffeda6e4a9ce12b0c86cae0","kind":"commit","published_at":"2013-07-04T23:31:41.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.7.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.7.0/manifests"},{"name":"0.6.5","sha":"7265dca73ae685e4df7ada557bda1624aab99998","kind":"commit","published_at":"2013-05-21T00:58:20.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.6.5","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.6.5/manifests"},{"name":"0.6.4","sha":"0bb73106c3f2805b13c0c72e75374b2abd311ca6","kind":"commit","published_at":"2013-05-21T00:39:26.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.6.4","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.6.4/manifests"},{"name":"0.6.3","sha":"253b7f8644b01a431440a768e8dd4239f9699987","kind":"commit","published_at":"2013-05-16T04:35:28.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.6.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.6.3/manifests"},{"name":"0.6.2","sha":"d1225a6dc2bf79d392186dde92541fbd62be8c9b","kind":"commit","published_at":"2013-05-11T21:29:45.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.6.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.6.2/manifests"},{"name":"0.6.1","sha":"ea5bfec80d1d35ad3b5e8a6085130c8d1eb50ee7","kind":"commit","published_at":"2013-05-07T02:51:08.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.6.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"0d89bf5b6b2c5aecd4477392eba2b6175f942fa1","kind":"commit","published_at":"2013-04-15T20:04:59.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.6.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.6.0/manifests"},{"name":"0.5.7","sha":"5ae276be2979a3702ad3f0e413f407799c065b5a","kind":"commit","published_at":"2013-04-15T15:59:50.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.5.7","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.5.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.5.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.5.7/manifests"},{"name":"0.5.6","sha":"004ba2c74c28b511a5ce6761afc113f4049bc9e2","kind":"commit","published_at":"2013-04-08T01:30:35.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.5.6","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.5.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.5.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.5.6/manifests"},{"name":"0.5.5","sha":"46aacffc611adeca691e1ee959e265509420a87f","kind":"commit","published_at":"2013-03-29T20:34:35.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.5.5","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.5.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.5.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.5.5/manifests"},{"name":"0.5.4","sha":"8067838750118cc422313627da57c327f7918383","kind":"commit","published_at":"2013-03-24T21:55:30.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.5.4","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.5.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.5.4/manifests"},{"name":"0.5.3","sha":"9ae8e377ee1662541cf474dc929171be55135079","kind":"commit","published_at":"2013-03-16T23:52:15.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.5.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"7289ae33615b10ef780bd42ae8dca46c7e7a3afc","kind":"commit","published_at":"2013-03-10T21:47:12.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.5.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"0964b231b05a82a60531c87c7e67af96a28ec99b","kind":"commit","published_at":"2013-03-03T00:52:26.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.5.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"e3dd2df8c3002cc1ab217ee783400324c93051f5","kind":"commit","published_at":"2013-02-13T04:56:57.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.5.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.5.0/manifests"},{"name":"0.4.2","sha":"5a4d8f92b93b0a5fa579243e746e8157f6b14b71","kind":"commit","published_at":"2013-02-13T04:33:46.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.4.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.4.2/manifests"},{"name":"0.4.1","sha":"167835446bfb991b4d00c8f2cfc91b31b7f1710a","kind":"commit","published_at":"2013-02-08T06:32:20.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.4.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.4.1/manifests"},{"name":"0.4.0","sha":"f99c741c1d411845c292cc2cf00a44597ba380c3","kind":"commit","published_at":"2013-02-06T05:05:16.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.4.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.4.0/manifests"},{"name":"0.3.4","sha":"f3972cb095aedfcc5422c80e603961a5fb253ce3","kind":"commit","published_at":"2012-12-29T06:08:42.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.3.4","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.3.4/manifests"},{"name":"0.3.3","sha":"c5ee5556edd06d0d96b1461acb01173f2743c167","kind":"commit","published_at":"2012-12-20T03:54:50.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.3.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.3.3/manifests"},{"name":"0.3.2","sha":"e2ac97f28ae2cc67fa9494205e7c97b47e979e4e","kind":"commit","published_at":"2012-12-16T23:42:27.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.3.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.3.2/manifests"},{"name":"0.3.1","sha":"0f75fb2570a1ff916733e8b9ccfc7e9d8ffaf490","kind":"commit","published_at":"2012-12-11T06:05:37.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.3.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.3.1/manifests"},{"name":"0.3.0","sha":"218405fbd925611059c0c3d2acb96ce8c37258ca","kind":"commit","published_at":"2012-12-10T08:08:41.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.3.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.3.0/manifests"},{"name":"0.2.19","sha":"d047be885a7ccb8f0afc323de34c8c29d73348b7","kind":"commit","published_at":"2012-10-27T02:42:10.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.19","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.19/manifests"},{"name":"0.2.18","sha":"d082e08986a70c4337904bd93368c4548a88fa28","kind":"commit","published_at":"2012-10-13T03:26:08.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.18","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.18/manifests"},{"name":"0.2.17","sha":"c95b753e40d3408476462e5b349e7e8379d4f4cb","kind":"commit","published_at":"2012-10-13T00:13:48.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.17","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.17/manifests"},{"name":"0.2.16","sha":"f1c3ec035641bdf44473a5a480140067f5e75fc4","kind":"commit","published_at":"2012-10-12T00:02:02.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.16","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.16/manifests"},{"name":"0.2.15","sha":"932c8aac9b9b610953a979f0115296c5c13039d9","kind":"commit","published_at":"2012-07-12T20:10:17.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.15","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.15/manifests"},{"name":"v0.2.14-patch2","sha":"89311c0568e954c3d70fc9c3e789d046eeac83ee","kind":"commit","published_at":"2012-05-14T11:56:07.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/v0.2.14-patch2","html_url":"https://github.com/jsdom/jsdom/releases/tag/v0.2.14-patch2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/v0.2.14-patch2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/v0.2.14-patch2/manifests"},{"name":"0.2.14-patch1","sha":"247b178bbb98b53fdd33eb28a4d43fc22ef8cd88","kind":"commit","published_at":"2012-04-14T20:54:15.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.14-patch1","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.14-patch1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.14-patch1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.14-patch1/manifests"},{"name":"0.2.14","sha":"9c18ca5885b2488629c3913dc0f417d5eb8b711b","kind":"commit","published_at":"2012-04-12T22:16:02.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.14","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.14/manifests"},{"name":"v0.2.13-patch3","sha":"d46ae7905d7da6941245f42db0d85b5326cf8213","kind":"commit","published_at":"2012-04-02T18:05:35.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/v0.2.13-patch3","html_url":"https://github.com/jsdom/jsdom/releases/tag/v0.2.13-patch3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/v0.2.13-patch3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/v0.2.13-patch3/manifests"},{"name":"v0.2.13-patch2","sha":"f1aacbfdf2e621d547ec7e2bbdbe87d659440f58","kind":"commit","published_at":"2012-04-01T20:30:11.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/v0.2.13-patch2","html_url":"https://github.com/jsdom/jsdom/releases/tag/v0.2.13-patch2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/v0.2.13-patch2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/v0.2.13-patch2/manifests"},{"name":"0.2.13","sha":"0bccbdc2a6f0a5fcb9686095d8f6330f37ff1586","kind":"commit","published_at":"2012-02-28T01:42:39.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.13","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.13/manifests"},{"name":"0.2.12","sha":"1a0aca737146f20818afd49675d25c55a06937fc","kind":"commit","published_at":"2012-02-23T19:28:32.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.12","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.12/manifests"},{"name":"0.2.11","sha":"b2739a8e71514dbe62957c06cb7dffb370b44398","kind":"commit","published_at":"2012-02-23T15:43:18.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.11","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.11/manifests"},{"name":"0.2.10","sha":"4c6e9925aa2a23fda30774944873ff47894eeba9","kind":"commit","published_at":"2011-11-21T00:54:42.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.10","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.10/manifests"},{"name":"0.2.9","sha":"aa45593b6e1b53eb7d808bfd300f7a9698968860","kind":"commit","published_at":"2011-10-31T02:55:27.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.9","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.9/manifests"},{"name":"0.2.8","sha":"55582a5c9974ff12b4ae0a61f0c6c5001e27e3d6","kind":"commit","published_at":"2011-10-17T05:26:47.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.8","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.8/manifests"},{"name":"0.2.7","sha":"51938ca15ac7bd16f94e534cda3779f8a0a9f130","kind":"commit","published_at":"2011-10-10T06:24:57.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.7","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.7/manifests"},{"name":"0.2.6","sha":"2b885decd1f18dde2be492e085f20bad4d183cd2","kind":"commit","published_at":"2011-10-10T04:50:07.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.6","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.6/manifests"},{"name":"0.2.5","sha":"b8e470fa45ba2648323b09a747ff8d360bbddd23","kind":"commit","published_at":"2011-09-26T02:21:11.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.5","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.5/manifests"},{"name":"0.2.4","sha":"cb153b32dbb9733d3895eb7cdd65a936fc11d319","kind":"commit","published_at":"2011-09-02T04:24:35.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.4","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.4/manifests"},{"name":"0.2.3","sha":"710ede34c73d8a76cc473eb83749a0c25bed6b11","kind":"commit","published_at":"2011-08-08T21:31:41.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.3/manifests"},{"name":"0.2.2","sha":"de3f0d3709310615f335c4a2059f438896488cf3","kind":"commit","published_at":"2011-08-06T19:21:28.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.2/manifests"},{"name":"0.2.1","sha":"ce82b4953a29bf7717107b176774aa0a35bf6fc1","kind":"commit","published_at":"2011-07-22T03:36:25.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.1/manifests"},{"name":"0.2.0","sha":"82b86b3b62f2f083efd717efaa74c92b115d3d85","kind":"commit","published_at":"2011-02-18T19:30:04.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.2.0","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.2.0/manifests"},{"name":"0.1.23","sha":"c2bc3a9ebba6a09a68c1e0ab5be31dda18cab0bd","kind":"commit","published_at":"2011-01-04T02:47:04.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.23","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.23","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.23","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.23/manifests"},{"name":"0.1.22","sha":"495c78c922663f0f98d27019062e55d9e2326e16","kind":"commit","published_at":"2010-12-29T01:58:25.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.22","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.22","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.22/manifests"},{"name":"0.1.21","sha":"3b3bc801642e42dcee173ad56a56b30df8f695d8","kind":"commit","published_at":"2010-12-05T20:50:32.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.21","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.21","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.21/manifests"},{"name":"0.1.20","sha":"101de048be653ee9dc68185dd98523cecb28c330","kind":"commit","published_at":"2010-11-06T01:07:42.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.20","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.20/manifests"},{"name":"0.1.19","sha":"4f2191df8da743669b68f2a2894ce94f2a541e1c","kind":"commit","published_at":"2010-10-28T02:46:48.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.19","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.19/manifests"},{"name":"0.1.18","sha":"b3297c224189917b27717ade1e04a6faeb7db66c","kind":"commit","published_at":"2010-10-22T21:35:52.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.18","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.18/manifests"},{"name":"0.1.17","sha":"6a0c5aeb666b562872a80bdf9c50fe4e4641e404","kind":"commit","published_at":"2010-10-22T01:41:34.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.17","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.17/manifests"},{"name":"0.1.16","sha":"28b84ee3da972b61971ceab9d5b0101a26801c11","kind":"commit","published_at":"2010-10-12T20:24:57.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.16","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.16/manifests"},{"name":"0.1.15","sha":"921db68350c3610332de7e4853de77aa1dd1052d","kind":"commit","published_at":"2010-10-10T00:34:28.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.15","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.15/manifests"},{"name":"0.1.14","sha":"628da50996530cbc9294a78ee584b3435277f1ca","kind":"commit","published_at":"2010-09-23T01:07:49.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.14","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.14/manifests"},{"name":"0.1.13","sha":"87665f38fc8b7683499456cf764741427f995745","kind":"commit","published_at":"2010-09-18T18:46:56.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.13","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.13/manifests"},{"name":"0.1.12","sha":"f31e440851cd74b29ebb4212c964191b40c7ff98","kind":"commit","published_at":"2010-09-18T17:55:46.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.12","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.12/manifests"},{"name":"0.1.11","sha":"33797d9e27770a76d8a4ec24598fb1ca5921db30","kind":"commit","published_at":"2010-09-18T17:30:57.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.11","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.11/manifests"},{"name":"0.1.10","sha":"49e0e37155a761b9e7cf10430117d3130dfc116d","kind":"commit","published_at":"2010-09-14T04:59:53.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.10","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.10/manifests"},{"name":"0.1.9","sha":"8e70ff1a7ff5d425fd88d2bc3f6bd720a8b01b52","kind":"commit","published_at":"2010-09-09T00:23:00.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.9","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.9/manifests"},{"name":"0.1.8","sha":"0448ff3ee382df015bf043a1ba5c2982d77fb8c8","kind":"commit","published_at":"2010-09-08T22:45:28.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.8","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.8/manifests"},{"name":"0.1.7","sha":"dc346c9f3f10330ed38167d3c81dbcd60719f848","kind":"commit","published_at":"2010-09-08T20:43:24.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.7","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.7/manifests"},{"name":"0.1.6","sha":"2264e2e7e379ad08d4d2b798cc9b4808f4d56ba7","kind":"commit","published_at":"2010-08-12T05:09:05.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.6","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.6/manifests"},{"name":"0.1.5","sha":"76925b7c706be6a9ada243525bbe4c9d003b6430","kind":"commit","published_at":"2010-07-30T04:56:02.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.5","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.5/manifests"},{"name":"0.1.4","sha":"25b1217751bdff4e7005fd8db47ee977d765f6b2","kind":"commit","published_at":"2010-07-29T13:09:16.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.4","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.4/manifests"},{"name":"0.1.3","sha":"834a0511e9c39649fbb7f70c675711d8e93313ac","kind":"commit","published_at":"2010-07-29T13:05:19.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.3","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.3/manifests"},{"name":"0.1.2","sha":"7aab12488567930a97b6f35954b473c2d2eb6e90","kind":"commit","published_at":"2010-07-26T16:33:53.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.2/manifests"},{"name":"rm","sha":"eefb3c1efeb1114456ca64e9bb2905f84a9bf3c1","kind":"commit","published_at":"2010-07-23T11:06:10.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/rm","html_url":"https://github.com/jsdom/jsdom/releases/tag/rm","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/rm","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/rm/manifests"},{"name":"0.0.2","sha":"eefb3c1efeb1114456ca64e9bb2905f84a9bf3c1","kind":"commit","published_at":"2010-07-23T11:06:10.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.0.2","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.0.2/manifests"},{"name":"0.1.1","sha":"f9511c3b3491c0bf03f063aaffaab3e28d9e4420","kind":"commit","published_at":"2010-05-13T00:04:21.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/0.1.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/0.1.1/manifests"},{"name":"v0.0.1","sha":"dccaea185fe4e351b8b7b30b47789081d64cf237","kind":"commit","published_at":"2010-05-06T01:04:02.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/v0.0.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/v0.0.1/manifests"},{"name":"v0.1","sha":"9e8302e13c5335449228738f6ca9fc0ee69b2644","kind":"tag","published_at":"2010-04-14T02:24:05.000Z","download_url":"https://codeload.github.com/jsdom/jsdom/tar.gz/v0.1","html_url":"https://github.com/jsdom/jsdom/releases/tag/v0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/v0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdom%2Fjsdom/tags/v0.1/manifests"}]},"repo_metadata_updated_at":"2025-06-06T17:03:36.467Z","dependent_packages_count":31840,"downloads":138423422,"downloads_period":"last-month","dependent_repos_count":1437647,"rankings":{"downloads":0.016811213901066827,"dependent_repos_count":0.024806123443593724,"dependent_packages_count":0.003477238054455191,"stargazers_count":0.6633858332393293,"forks_count":0.9373757640340781,"docker_downloads_count":0.024313286553985902,"average":0.2783615765377515},"purl":"pkg:npm/jsdom","advisories":[{"uuid":"GSA_kwCzR0hTQS1mNGM5LWNxdjgtOXY5OM4AAnlN","url":"https://github.com/advisories/GHSA-f4c9-cqv8-9v98","title":"Withdrawn Advisory: Insufficient Granularity of Access Control in JSDom","description":"# Withdrawn Advisory\n\nThis advisory has been withdrawn because the user must configure jsdom to allow access to local files.\n\n# Original Description\n\nJSDom improperly allows the loading of local resources, which allows for local files to be manipulated by a malicious web page when script execution is enabled.","origin":"UNSPECIFIED","severity":"LOW","published_at":"2022-05-24T17:42:20.000Z","withdrawn_at":"2024-07-19T18:34:30.000Z","classification":"GENERAL","cvss_score":0.0,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-20066","https://www.tenable.com/security/research/tra-2021-05","https://github.com/jsdom/jsdom/issues/3124","https://github.com/jsdom/jsdom/issues/3124#issuecomment-783502951","https://security.snyk.io/vuln/SNYK-JS-JSDOM-1075447","https://github.com/advisories/GHSA-f4c9-cqv8-9v98"],"source_kind":"github","identifiers":["GHSA-f4c9-cqv8-9v98","CVE-2021-20066"],"repository_url":"https://github.com/jsdom/jsdom","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"16.5.0","vulnerable_version_range":"\u003c= 16.4.0"}],"ecosystem":"npm","package_name":"jsdom"}],"created_at":"2022-12-21T16:12:17.646Z","updated_at":"2025-02-27T01:07:55.133Z","epss_percentage":0.00152,"epss_percentile":0.52499}],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/jsdom","docker_dependents_count":15440,"docker_downloads_count":5244432489,"usage_url":"https://repos.ecosyste.ms/usage/npm/jsdom","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/jsdom/dependencies","status":null,"funding_links":["https://tidelift.com/funding/github/npm/jsdom"],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/jsdom/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/jsdom/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/jsdom/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/jsdom/related_packages","maintainers":[{"uuid":"tmpvar","login":"tmpvar","name":null,"email":"tmpvar@gmail.com","url":null,"packages_count":135,"html_url":"https://www.npmjs.com/~tmpvar","role":null,"created_at":"2022-11-10T11:19:10.085Z","updated_at":"2022-11-10T11:19:10.085Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/tmpvar/packages"},{"uuid":"timothygu","login":"timothygu","name":null,"email":"timothygu99@gmail.com","url":null,"packages_count":225,"html_url":"https://www.npmjs.com/~timothygu","role":null,"created_at":"2022-11-10T11:19:10.076Z","updated_at":"2022-11-10T11:19:10.076Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/timothygu/packages"},{"uuid":"domenic","login":"domenic","name":null,"email":"d@domenic.me","url":null,"packages_count":76,"html_url":"https://www.npmjs.com/~domenic","role":null,"created_at":"2022-11-10T11:19:10.078Z","updated_at":"2022-11-10T11:19:10.078Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/domenic/packages"},{"uuid":"sebmaster","login":"sebmaster","name":null,"email":"sebmaster16@gmail.com","url":null,"packages_count":21,"html_url":"https://www.npmjs.com/~sebmaster","role":null,"created_at":"2022-11-10T11:19:10.081Z","updated_at":"2022-11-10T11:19:10.081Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/sebmaster/packages"},{"uuid":"zirro","login":"zirro","name":null,"email":"code@zirro.se","url":null,"packages_count":14,"html_url":"https://www.npmjs.com/~zirro","role":null,"created_at":"2022-11-10T11:19:10.083Z","updated_at":"2022-11-10T11:19:10.083Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/zirro/packages"},{"uuid":"joris-van-der-wel","login":"joris-van-der-wel","name":null,"email":"joris@jorisvanderwel.com","url":null,"packages_count":43,"html_url":"https://www.npmjs.com/~joris-van-der-wel","role":null,"created_at":"2022-11-10T11:19:10.089Z","updated_at":"2022-11-10T11:19:10.089Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/joris-van-der-wel/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5006537,"maintainers_count":1012932,"namespaces_count":295512,"keywords_count":700181,"github":"npm","metadata":{"funded_packages_count":150239},"icon_url":"https://github.com/npm.png","created_at":"2022-04-04T15:19:23.081Z","updated_at":"2025-06-06T05:58:05.971Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/namespaces"}},"unique_repositories_count":6653,"unique_repositories_count_past_30_days":563,"recent_issues":[{"uuid":"4561844055","node_id":"PR_kwDOSCG5qc7hTBgp","number":79,"state":"open","title":"chore(client): Bump jsdom from 26.1.0 to 29.1.1 in /client in the test-tooling group across 1 directory","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T09:16:37.000Z","updated_at":"2026-06-01T09:16:38.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(client): Bump","packages":[{"name":"jsdom","old_version":"26.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":"/client in the test-tooling group across 1 directory","ecosystem":"npm"},"body":"Bumps the test-tooling group with 1 update in the /client directory: [jsdom](https://github.com/jsdom/jsdom).\n\nUpdates `jsdom` from 26.1.0 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v26.1.0...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=26.1.0\u0026new-version=29.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Elmanosound/familyapp/pull/79","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Elmanosound%2Ffamilyapp/issues/79","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/79/packages"},{"uuid":"4560752031","node_id":"PR_kwDORrlhks7hPe9y","number":33,"state":"open","title":"chore(deps): bump the production-minor group across 1 directory with 36 updates","user":"dependabot[bot]","labels":["api","admin","booking","dashboard"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T06:05:20.000Z","updated_at":"2026-06-01T06:05:31.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"production-minor","update_count":36,"packages":[{"name":"turbo","old_version":"2.8.17","new_version":"2.9.16","repository_url":"https://github.com/vercel/turborepo"},{"name":"@opentelemetry/auto-instrumentations-node","old_version":"0.72.0","new_version":"0.76.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js-contrib"},{"name":"@opentelemetry/exporter-trace-otlp-http","old_version":"0.214.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"@opentelemetry/resources","old_version":"2.6.1","new_version":"2.7.1","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"@opentelemetry/sdk-node","old_version":"0.214.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"@opentelemetry/semantic-conventions","old_version":"1.40.0","new_version":"1.41.1","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"axios","old_version":"1.14.0","new_version":"1.16.1","repository_url":"https://github.com/axios/axios"},{"name":"bullmq","old_version":"5.71.0","new_version":"5.77.6","repository_url":"https://github.com/taskforcesh/bullmq"},{"name":"class-validator","old_version":"0.14.4","new_version":"0.15.1","repository_url":"https://github.com/typestack/class-validator"},{"name":"helmet","old_version":"8.1.0","new_version":"8.2.0","repository_url":"https://github.com/helmetjs/helmet"},{"name":"ioredis","old_version":"5.10.0","new_version":"5.11.0","repository_url":"https://github.com/luin/ioredis"},{"name":"lru-cache","old_version":"11.3.2","new_version":"11.5.1","repository_url":"https://github.com/isaacs/node-lru-cache"},{"name":"nodemailer","old_version":"8.0.4","new_version":"8.0.10","repository_url":"https://github.com/nodemailer/nodemailer"},{"name":"pdfkit","old_version":"0.15.2","new_version":"0.18.0","repository_url":"https://github.com/foliojs/pdfkit"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"sharp","old_version":"0.33.5","new_version":"0.34.5","repository_url":"https://github.com/lovell/sharp"},{"name":"@types/pdfkit","old_version":"0.17.5","new_version":"0.17.6","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.58.2","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.58.2","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"ts-jest","old_version":"29.4.6","new_version":"29.4.11","repository_url":"https://github.com/kulshekhar/ts-jest"},{"name":"ts-loader","old_version":"9.5.4","new_version":"9.6.0","repository_url":"https://github.com/TypeStrong/ts-loader"},{"name":"@tanstack/react-query","old_version":"5.90.21","new_version":"5.100.14","repository_url":"https://github.com/TanStack/query"},{"name":"motion","old_version":"12.38.0","new_version":"12.40.0","repository_url":"https://github.com/motiondivision/motion"},{"name":"next-intl","old_version":"4.8.3","new_version":"4.13.0","repository_url":"https://github.com/amannn/next-intl"},{"name":"react-hook-form","old_version":"7.71.2","new_version":"7.77.0","repository_url":"https://github.com/react-hook-form/react-hook-form"},{"name":"tailwind-merge","old_version":"3.5.0","new_version":"3.6.0","repository_url":"https://github.com/dcastil/tailwind-merge"},{"name":"zustand","old_version":"5.0.12","new_version":"5.0.14","repository_url":"https://github.com/pmndrs/zustand"},{"name":"@axe-core/playwright","old_version":"4.11.1","new_version":"4.11.3","repository_url":"https://github.com/dequelabs/axe-core-npm"},{"name":"@lhci/cli","old_version":"0.14.0","new_version":"0.15.1","repository_url":"https://github.com/GoogleChrome/lighthouse-ci"},{"name":"@playwright/test","old_version":"1.59.1","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"@tailwindcss/postcss","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@vitest/coverage-v8","old_version":"4.1.3","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"jsdom","old_version":"29.0.2","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"postcss","old_version":"8.5.8","new_version":"8.5.15","repository_url":"https://github.com/postcss/postcss"},{"name":"tailwindcss","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"vitest","old_version":"4.1.3","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the production-minor group with 36 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [turbo](https://github.com/vercel/turborepo) | `2.8.17` | `2.9.16` |\n| [@opentelemetry/auto-instrumentations-node](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/auto-instrumentations-node) | `0.72.0` | `0.76.0` |\n| [@opentelemetry/exporter-trace-otlp-http](https://github.com/open-telemetry/opentelemetry-js) | `0.214.0` | `0.218.0` |\n| [@opentelemetry/resources](https://github.com/open-telemetry/opentelemetry-js) | `2.6.1` | `2.7.1` |\n| [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js) | `0.214.0` | `0.218.0` |\n| [@opentelemetry/semantic-conventions](https://github.com/open-telemetry/opentelemetry-js) | `1.40.0` | `1.41.1` |\n| [axios](https://github.com/axios/axios) | `1.14.0` | `1.16.1` |\n| [bullmq](https://github.com/taskforcesh/bullmq) | `5.71.0` | `5.77.6` |\n| [class-validator](https://github.com/typestack/class-validator) | `0.14.4` | `0.15.1` |\n| [helmet](https://github.com/helmetjs/helmet) | `8.1.0` | `8.2.0` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.0` | `5.11.0` |\n| [lru-cache](https://github.com/isaacs/node-lru-cache) | `11.3.2` | `11.5.1` |\n| [nodemailer](https://github.com/nodemailer/nodemailer) | `8.0.4` | `8.0.10` |\n| [pdfkit](https://github.com/foliojs/pdfkit) | `0.15.2` | `0.18.0` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [sharp](https://github.com/lovell/sharp) | `0.33.5` | `0.34.5` |\n| [@types/pdfkit](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pdfkit) | `0.17.5` | `0.17.6` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.58.2` | `8.60.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.58.2` | `8.60.0` |\n| [ts-jest](https://github.com/kulshekhar/ts-jest) | `29.4.6` | `29.4.11` |\n| [ts-loader](https://github.com/TypeStrong/ts-loader) | `9.5.4` | `9.6.0` |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.90.21` | `5.100.14` |\n| [motion](https://github.com/motiondivision/motion) | `12.38.0` | `12.40.0` |\n| [next-intl](https://github.com/amannn/next-intl) | `4.8.3` | `4.13.0` |\n| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.71.2` | `7.77.0` |\n| [tailwind-merge](https://github.com/dcastil/tailwind-merge) | `3.5.0` | `3.6.0` |\n| [zustand](https://github.com/pmndrs/zustand) | `5.0.12` | `5.0.14` |\n| [@axe-core/playwright](https://github.com/dequelabs/axe-core-npm) | `4.11.1` | `4.11.3` |\n| [@lhci/cli](https://github.com/GoogleChrome/lighthouse-ci) | `0.14.0` | `0.15.1` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.59.1` | `1.60.0` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.1` | `4.3.0` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.3` | `4.1.7` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.0.2` | `29.1.1` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.8` | `8.5.15` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.1` | `4.3.0` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.3` | `4.1.7` |\n\n\nUpdates `turbo` from 2.8.17 to 2.9.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/turborepo/releases\"\u003eturbo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTurborepo v2.9.16\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.9.15 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12955\"\u003evercel/turborepo#12955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid hanging PTY shutdown by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12958\"\u003evercel/turborepo#12958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Retry npm tlog publish failures by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12959\"\u003evercel/turborepo#12959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.1 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12960\"\u003evercel/turborepo#12960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve nested Bun dependency versions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12963\"\u003evercel/turborepo#12963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;fix: Preserve nested Bun dependency versions\u0026quot; by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12964\"\u003evercel/turborepo#12964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12961\"\u003evercel/turborepo#12961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve nested Bun dependency versions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12965\"\u003evercel/turborepo#12965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Don't delete existing \u003ccode\u003e.git\u003c/code\u003e when using \u003ccode\u003e--no-git\u003c/code\u003e flag by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12968\"\u003evercel/turborepo#12968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16\"\u003ehttps://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.9.16-canary.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.7 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12935\"\u003evercel/turborepo#12935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Restore a few internal invariant checks by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12933\"\u003evercel/turborepo#12933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Improve profile tracing coverage by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12936\"\u003evercel/turborepo#12936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Use build-scale OTel duration buckets by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12939\"\u003evercel/turborepo#12939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve pnpm injected peer package entries by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12940\"\u003evercel/turborepo#12940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add heap allocation profiling by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12943\"\u003evercel/turborepo#12943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.8 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12945\"\u003evercel/turborepo#12945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Correct attribute presence claims in turborepo-otel by \u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12932\"\u003evercel/turborepo#12932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(turbo-codemod): Remove duplicate \u0026quot;in\u0026quot; in transforms path comment by \u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12948\"\u003evercel/turborepo#12948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Switch Geist font imports to npm geist package by \u003ca href=\"https://github.com/christopherkindl\"\u003e\u003ccode\u003e@​christopherkindl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12952\"\u003evercel/turborepo#12952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Respect root gitignore during prune by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12953\"\u003evercel/turborepo#12953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Harden OTEL endpoint validation by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12954\"\u003evercel/turborepo#12954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12955\"\u003evercel/turborepo#12955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid hanging PTY shutdown by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12958\"\u003evercel/turborepo#12958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Retry npm tlog publish failures by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12959\"\u003evercel/turborepo#12959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.1 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12960\"\u003evercel/turborepo#12960\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/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12932\"\u003evercel/turborepo#12932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12948\"\u003evercel/turborepo#12948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/christopherkindl\"\u003e\u003ccode\u003e@​christopherkindl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12952\"\u003evercel/turborepo#12952\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2\"\u003ehttps://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.9.15\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5e2d466c345604aa2011cd2314d176f401f650de\"\u003e\u003ccode\u003e5e2d466\u003c/code\u003e\u003c/a\u003e publish 2.9.16 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/b4aa626ee2316a61d070bcce4038ff26474180ee\"\u003e\u003ccode\u003eb4aa626\u003c/code\u003e\u003c/a\u003e fix: Don't delete existing \u003ccode\u003e.git\u003c/code\u003e when using \u003ccode\u003e--no-git\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12968\"\u003e#12968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/7952b4627d04f1edd7ab9f2262a17c3e49cc1bc8\"\u003e\u003ccode\u003e7952b46\u003c/code\u003e\u003c/a\u003e fix: Preserve nested Bun dependency versions (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12965\"\u003e#12965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5e5b248c188e679616c0d9e23bbe4ed8b46c9c36\"\u003e\u003ccode\u003e5e5b248\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.16-canary.2 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12961\"\u003e#12961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/3b1b6e9655ccafc73b80bca5f8cf815310cb2728\"\u003e\u003ccode\u003e3b1b6e9\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: Preserve nested Bun dependency versions\u0026quot; (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12964\"\u003e#12964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/8d4eaf81af296377e6c7533138b8f8c35b77bd7e\"\u003e\u003ccode\u003e8d4eaf8\u003c/code\u003e\u003c/a\u003e fix: Preserve nested Bun dependency versions (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12963\"\u003e#12963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/2284fa90a3492cd6800567ab2d4946dc5c853c91\"\u003e\u003ccode\u003e2284fa9\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.16-canary.1 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12960\"\u003e#12960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5317f656c7d13c382eb97a6fac786ab8a807295a\"\u003e\u003ccode\u003e5317f65\u003c/code\u003e\u003c/a\u003e fix: Retry npm tlog publish failures (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12959\"\u003e#12959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/52e81bd93645e6d0b7fe44470cb93d4020c3dfd5\"\u003e\u003ccode\u003e52e81bd\u003c/code\u003e\u003c/a\u003e fix: Avoid hanging PTY shutdown (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12958\"\u003e#12958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/c85d4104bdc18df051334210d29c49353c46facf\"\u003e\u003ccode\u003ec85d410\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.15 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12955\"\u003e#12955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.8.17...v2.9.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/auto-instrumentations-node` from 0.72.0 to 0.76.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/releases\"\u003e@​opentelemetry/auto-instrumentations-node's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eauto-instrumentations-node: v0.76.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.75.0...auto-instrumentations-node-v0.76.0\"\u003e0.76.0\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update deps matching '@opentelemetry/*' (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3523\"\u003e#3523\u003c/a\u003e) (\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/commit/e26a90af6e2fb4666b22388b770add7a60140c9b\"\u003ee26a90a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe following workspace dependencies were updated\n\u003cul\u003e\n\u003cli\u003edependencies\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-amqplib\u003c/code\u003e bumped from ^0.64.0 to ^0.65.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-aws-lambda\u003c/code\u003e bumped from ^0.69.0 to ^0.70.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-aws-sdk\u003c/code\u003e bumped from ^0.72.0 to ^0.73.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-bunyan\u003c/code\u003e bumped from ^0.62.0 to ^0.63.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-cassandra-driver\u003c/code\u003e bumped from ^0.62.0 to ^0.63.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-connect\u003c/code\u003e bumped from ^0.60.0 to ^0.61.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-cucumber\u003c/code\u003e bumped from ^0.33.0 to ^0.34.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-dataloader\u003c/code\u003e bumped from ^0.34.0 to ^0.35.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-dns\u003c/code\u003e bumped from ^0.60.0 to ^0.61.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-express\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-fs\u003c/code\u003e bumped from ^0.36.0 to ^0.37.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-generic-pool\u003c/code\u003e bumped from ^0.60.0 to ^0.61.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-graphql\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-hapi\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-ioredis\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-kafkajs\u003c/code\u003e bumped from ^0.26.0 to ^0.27.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-knex\u003c/code\u003e bumped from ^0.61.0 to ^0.62.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-koa\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-lru-memoizer\u003c/code\u003e bumped from ^0.61.0 to ^0.62.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-memcached\u003c/code\u003e bumped from ^0.60.0 to ^0.61.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-mongodb\u003c/code\u003e bumped from ^0.70.0 to ^0.71.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-mongoose\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-mysql\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-mysql2\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-nestjs-core\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-net\u003c/code\u003e bumped from ^0.61.0 to ^0.62.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-openai\u003c/code\u003e bumped from ^0.15.0 to ^0.16.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-oracledb\u003c/code\u003e bumped from ^0.42.0 to ^0.43.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-pg\u003c/code\u003e bumped from ^0.69.0 to ^0.70.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-pino\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-redis\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-restify\u003c/code\u003e bumped from ^0.62.0 to ^0.63.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-router\u003c/code\u003e bumped from ^0.61.0 to ^0.62.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-runtime-node\u003c/code\u003e bumped from ^0.30.0 to ^0.31.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-socket\u003c/code\u003e.io bumped from ^0.64.0 to ^0.65.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-tedious\u003c/code\u003e bumped from ^0.36.0 to ^0.37.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-undici\u003c/code\u003e bumped from ^0.27.0 to ^0.28.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/packages/auto-instrumentations-node/CHANGELOG.md\"\u003e@​opentelemetry/auto-instrumentations-node's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.75.0...auto-instrumentations-node-v0.76.0\"\u003e0.76.0\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update deps matching '@opentelemetry/*' (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3523\"\u003e#3523\u003c/a\u003e) (\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/commit/e26a90af6e2fb4666b22388b770add7a60140c9b\"\u003ee26a90a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe following workspace dependencies were updated\n\u003cul\u003e\n\u003cli\u003edependencies\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-amqplib\u003c/code\u003e bumped from ^0.64.0 to ^0.65.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-aws-lambda\u003c/code\u003e bumped from ^0.69.0 to ^0.70.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-aws-sdk\u003c/code\u003e bumped from ^0.72.0 to ^0.73.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-bunyan\u003c/code\u003e bumped from ^0.62.0 to ^0.63.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-cassandra-driver\u003c/code\u003e bumped from ^0.62.0 to ^0.63.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-connect\u003c/code\u003e bumped from ^0.60.0 to ^0.61.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-cucumber\u003c/code\u003e bumped from ^0.33.0 to ^0.34.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-dataloader\u003c/code\u003e bumped from ^0.34.0 to ^0.35.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-dns\u003c/code\u003e bumped from ^0.60.0 to ^0.61.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-express\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-fs\u003c/code\u003e bumped from ^0.36.0 to ^0.37.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-generic-pool\u003c/code\u003e bumped from ^0.60.0 to ^0.61.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-graphql\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-hapi\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-ioredis\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-kafkajs\u003c/code\u003e bumped from ^0.26.0 to ^0.27.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-knex\u003c/code\u003e bumped from ^0.61.0 to ^0.62.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-koa\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-lru-memoizer\u003c/code\u003e bumped from ^0.61.0 to ^0.62.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-memcached\u003c/code\u003e bumped from ^0.60.0 to ^0.61.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-mongodb\u003c/code\u003e bumped from ^0.70.0 to ^0.71.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-mongoose\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-mysql\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-mysql2\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-nestjs-core\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-net\u003c/code\u003e bumped from ^0.61.0 to ^0.62.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-openai\u003c/code\u003e bumped from ^0.15.0 to ^0.16.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-oracledb\u003c/code\u003e bumped from ^0.42.0 to ^0.43.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-pg\u003c/code\u003e bumped from ^0.69.0 to ^0.70.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-pino\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-redis\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-restify\u003c/code\u003e bumped from ^0.62.0 to ^0.63.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-router\u003c/code\u003e bumped from ^0.61.0 to ^0.62.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-runtime-node\u003c/code\u003e bumped from ^0.30.0 to ^0.31.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-socket\u003c/code\u003e.io bumped from ^0.64.0 to ^0.65.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-tedious\u003c/code\u003e bumped from ^0.36.0 to ^0.37.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-undici\u003c/code\u003e bumped from ^0.27.0 to ^0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-winston\u003c/code\u003e bumped from ^0.61.0 to ^0.62.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/commit/15ef7506553f631ea4181391e0c5725a56f0d082\"\u003e\u003ccode\u003e15ef750\u003c/code\u003e\u003c/a\u003e chore: release main (\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/auto-instrumentations-node/issues/3508\"\u003e#3508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/commit/e26a90af6e2fb4666b22388b770add7a60140c9b\"\u003e\u003ccode\u003ee26a90a\u003c/code\u003e\u003c/a\u003e feat(deps): update deps matching '@opentelemetry/*' (\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/auto-instrumentations-node/issues/3523\"\u003e#3523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/commits/auto-instrumentations-node-v0.76.0/packages/auto-instrumentations-node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/exporter-trace-otlp-http` from 0.214.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/exporter-trace-otlp-http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\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/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.214.0...experimental/v0.218.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/resources` from 2.6.1 to 2.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/resources's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.7.1\u003c/h2\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(sdk-metrics): reduce loop overhead in sdk hot paths \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6593\"\u003e#6593\u003c/a\u003e \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.7.0\u003c/h2\u003e\n\u003ch2\u003e2.7.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-logs): implement log creation metrics \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6433\"\u003e#6433\u003c/a\u003e \u003ca href=\"https://github.com/anuraaga\"\u003e\u003ccode\u003e@​anuraaga\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-metrics): add the cardinalitySelector argument to PeriodicExportingMetricReaders\n\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6460\"\u003e#6460\u003c/a\u003e \u003ca href=\"https://github.com/starzlocker\"\u003e\u003ccode\u003e@​starzlocker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(opentelemetry-core): add extra checks on internal merge function for safety \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6587\"\u003e#6587\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(opentelemetry-resources): do not discard OTEL_RESOURCE_ATTRIBUTES when it contains empty kv pairs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest(exporter-zipkin): fix broken browser test assertions and add missing coverage \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6566\"\u003e#6566\u003c/a\u003e \u003ca href=\"https://github.com/overbalance\"\u003e\u003ccode\u003e@​overbalance\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sdk-metrics): repair ExponentialHistogram tests \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6565\"\u003e#6565\u003c/a\u003e \u003ca href=\"https://github.com/overbalance\"\u003e\u003ccode\u003e@​overbalance\u003c/code\u003e\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/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md\"\u003e@​opentelemetry/resources's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: test Node.js 26 in CI \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6671\"\u003e#6671\u003c/a\u003e \u003ca href=\"https://github.com/cjihrig\"\u003e\u003ccode\u003e@​cjihrig\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.7.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-logs): implement log creation metrics \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6433\"\u003e#6433\u003c/a\u003e \u003ca href=\"https://github.com/anuraaga\"\u003e\u003ccode\u003e@​anuraaga\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-metrics): add the cardinalitySelector argument to PeriodicExportingMetricReaders\n\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6460\"\u003e#6460\u003c/a\u003e \u003ca href=\"https://github.com/starzlocker\"\u003e\u003ccode\u003e@​starzlocker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(opentelemetry-core): add extra checks on internal merge function for safety \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6587\"\u003e#6587\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(opentelemetry-resources): do not discard OTEL_RESOURCE_ATTRIBUTES when it contains empty kv pairs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest(exporter-zipkin): fix broken browser test assertions and add missing coverage \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6566\"\u003e#6566\u003c/a\u003e \u003ca href=\"https://github.com/overbalance\"\u003e\u003ccode\u003e@​overbalance\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sdk-metrics): repair ExponentialHistogram tests \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6565\"\u003e#6565\u003c/a\u003e \u003ca href=\"https://github.com/overbalance\"\u003e\u003ccode\u003e@​overbalance\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(sdk-metrics): reduce loop overhead in sdk hot paths \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6593\"\u003e#6593\u003c/a\u003e \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\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/open-telemetry/opentelemetry-js/commit/2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7\"\u003e\u003ccode\u003e2400d83\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6647\"\u003e#6647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f7a9b7cc854232ebf7dea2d3ec0d6adc49128f53\"\u003e\u003ccode\u003ef7a9b7c\u003c/code\u003e\u003c/a\u003e fix(otlp-transformer): pin protobufjs to 8.0.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6646\"\u003e#6646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/cb38d7f833781c336c990757f773ce9c8360434a\"\u003e\u003ccode\u003ecb38d7f\u003c/code\u003e\u003c/a\u003e test(otlp-transformer): add metrics transfrom benchmark (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6628\"\u003e#6628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a28f12fef5fbdfb3b77a1334175b752883ef708a\"\u003e\u003ccode\u003ea28f12f\u003c/code\u003e\u003c/a\u003e fix(opentelemetry-core): defer tracestate vaidation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6459\"\u003e#6459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b27c5146ac21deb3fb1e8fca370d34f1828f3cc6\"\u003e\u003ccode\u003eb27c514\u003c/code\u003e\u003c/a\u003e refactor(opentelemetry-exporter-prometheus): do not call `enforcePrometheusNa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a2a8186e65a04dfdaf442927fbab268076cd4f5a\"\u003e\u003ccode\u003ea2a8186\u003c/code\u003e\u003c/a\u003e perf(sdk-trace-base): optimize TraceIdRatioBasedSampler hex parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6284\"\u003e#6284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/4c0f3f1b911c4740a085b6c66d267bb74826b475\"\u003e\u003ccode\u003e4c0f3f1\u003c/code\u003e\u003c/a\u003e feat(sdk-node): set TracerProvider in startNodeSDK() (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6607\"\u003e#6607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/417f2f17e4234417b34dbf7bdf8e24c330259dd2\"\u003e\u003ccode\u003e417f2f1\u003c/code\u003e\u003c/a\u003e fix(instr-xhr): do not unpatch XHR methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6611\"\u003e#6611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/47ac523b124be222ac89160e4623e8a60c960f35\"\u003e\u003ccode\u003e47ac523\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: allow browser maintainers to approve changelog edits\u0026quot; (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6627\"\u003e#6627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/86c621d5b8344f1ecdc13a9841a90604912d0055\"\u003e\u003ccode\u003e86c621d\u003c/code\u003e\u003c/a\u003e fix(instrumentation-fetch): tolerate non-writable globalThis.fetch and fix pr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/v2.6.1...v2.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/sdk-node` from 0.214.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-node's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\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/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.214.0...experimental/v0.218.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/semantic-conventions` from 1.40.0 to 1.41.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/semantic-conventions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esemconv/v1.41.1\u003c/h2\u003e\n\u003ch2\u003e1.41.1\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cp\u003eNote: Semantic Conventions v1.41.0 included \u003ca href=\"https://redirect.github.com/open-telemetry/semantic-conventions/issues/3705\"\u003ean issue\u003c/a\u003e that prevented publishing a \u0026quot;1.41.0\u0026quot; version of this package.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update semantic conventions to v1.41.1 \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6695\"\u003e#6695\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eSemantic Conventions v1.41.1: \u003ca href=\"https://github.com/open-telemetry/semantic-conventions/blob/main/CHANGELOG.md#v1410\"\u003echangelog v1.41.0\u003c/a\u003e | \u003ca href=\"https://github.com/open-telemetry/semantic-conventions/blob/release/v1.41.x/CHANGELOG.md#v1411\"\u003echangelog v1.41.1\u003c/a\u003e | \u003ca href=\"https://opentelemetry.io/docs/specs/semconv/\"\u003elatest docs\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@opentelemetry/semantic-conventions\u003c/code\u003e (stable) changes: \u003cem\u003e8 added exports\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@opentelemetry/semantic-conventions/incubating\u003c/code\u003e (unstable) changes: \u003cem\u003e2 exported values changed, 4 newly deprecated exports, 80 added exports\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eStable changes in v1.41.1\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eATTR_DEPLOYMENT_ENVIRONMENT_NAME              // deployment.environment.name\r\n  DEPLOYMENT_ENVIRONMENT_NAME_VALUE_DEVELOPMENT // \u0026quot;development\u0026quot;\r\n  DEPLOYMENT_ENVIRONMENT_NAME_VALUE_PRODUCTION  // \u0026quot;production\u0026quot;\r\n  DEPLOYMENT_ENVIRONMENT_NAME_VALUE_STAGING     // \u0026quot;staging\u0026quot;\r\n  DEPLOYMENT_ENVIRONMENT_NAME_VALUE_TEST        // \u0026quot;test\u0026quot;\r\n\u003cp\u003eATTR_OTEL_EVENT_NAME                          // otel.event.name\u003c/p\u003e\n\u003cp\u003eATTR_TELEMETRY_DISTRO_NAME                    // telemetry.distro.name\u003cbr /\u003e\nATTR_TELEMETRY_DISTRO_VERSION                 // telemetry.distro.version\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch4\u003eUnstable changes in v1.41.1\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eMETRIC_K8S_CONTAINER_CPU_LIMIT_UTILIZATION   // k8s.container.cpu.limit_utilization -\u0026gt; k8s.container.cpu.limit.utilization\r\nMETRIC_K8S_CONTAINER_CPU_REQUEST_UTILIZATION // k8s.container.cpu.request_utilization -\u0026gt; k8s.container.cpu.request.utilization\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eMETRIC_K8S_CONTAINER_CPU_LIMIT      // k8s.container.cpu.limit: Replaced by `k8s.container.cpu.limit.desired`.\r\nMETRIC_K8S_CONTAINER_CPU_REQUEST    // k8s.container.cpu.request: Replaced by `k8s.container.cpu.request.desired`.\r\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/08932889fcccc2e3ccbcce1fca1544af384e145a\"\u003e\u003ccode\u003e0893288\u003c/code\u003e\u003c/a\u003e chore(sdk-node): restore skipped test cases (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6685\"\u003e#6685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/3b5bfbdc05058e0aea90b8ba5e9c0133b5ef3ab0\"\u003e\u003ccode\u003e3b5bfbd\u003c/code\u003e\u003c/a\u003e feat(configuration): show all config validation errors, if there are multiple...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/semconv/v1.40.0...semconv/v1.41.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `axios` from 1.14.0 to 1.16.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/axios/axios/releases\"\u003eaxios's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.16.1 — May 13, 2026\u003c/h2\u003e\n\u003cp\u003eThis release ships a defence-in-depth fix for prototype pollution in \u003ccode\u003eformDataToJSON\u003c/code\u003e, hardens proxy and CI workflows, restores Webpack 4 compatibility for the fetch adapter, and includes several small bug fixes and maintenance improvements.\u003c/p\u003e\n\u003ch2\u003e🔒 Security Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePrototype Pollution Defence-in-Depth:\u003c/strong\u003e Hardened \u003ccode\u003eformDataToJSON\u003c/code\u003e against already-polluted \u003ccode\u003eObject.prototype\u003c/code\u003e by walking own properties only, so attacker-controlled keys inherited from a poisoned prototype cannot propagate through deserialization. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7413\"\u003e#7413\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProxy Cleartext Leak:\u003c/strong\u003e Fixed an issue where HTTPS request data could be transmitted in cleartext to an HTTP proxy under certain configurations. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10858\"\u003e#10858\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCI Cache Removal:\u003c/strong\u003e Removed all GitHub Actions caches as a defence-in-depth measure against cache poisoning vectors in the build pipeline. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10882\"\u003e#10882\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eData URI Parsing:\u003c/strong\u003e Updated the \u003ccode\u003efromDataURI\u003c/code\u003e regex to match RFC 2397 more strictly, fixing edge cases in \u003ccode\u003edata:\u003c/code\u003e URL handling. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10829\"\u003e#10829\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUnicode Headers:\u003c/strong\u003e Preserved Unicode header values when running through request interceptors, so non-ASCII header content is no longer corrupted before dispatch. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10850\"\u003e#10850\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXHR Upload Progress:\u003c/strong\u003e Guarded against malformed \u003ccode\u003eProgressEvent\u003c/code\u003e payloads emitted by some environments during XHR upload, preventing crashes when \u003ccode\u003eloaded\u003c/code\u003e / \u003ccode\u003etotal\u003c/code\u003e are missing or invalid. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10868\"\u003e#10868\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebpack 4 Fetch Adapter:\u003c/strong\u003e Fixed an \u0026quot;unexpected token\u0026quot; error caused by syntax in the fetch adapter that Webpack 4 could not parse, restoring compatibility for legacy bundler users. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10864\"\u003e#10864\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eType Definitions:\u003c/strong\u003e Made \u003ccode\u003eparseReviver\u003c/code\u003e \u003ccode\u003econtext.source\u003c/code\u003e optional in the type definitions to align with the ES2023 specification. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10837\"\u003e#10837\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eURL Object Support Reverted:\u003c/strong\u003e Reverted the change that allowed passing a \u003ccode\u003eURL\u003c/code\u003e object as \u003ccode\u003econfig.url\u003c/code\u003e (originally \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10866\"\u003e#10866\u003c/a\u003e\u003c/strong\u003e) due to regressions; this support will be reintroduced in a later release once the underlying issues are addressed. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10874\"\u003e#10874\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔧 Maintenance \u0026amp; Chores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCycle Detection Refactor:\u003c/strong\u003e Replaced the array-based cycle tracker in \u003ccode\u003etoJSONObject\u003c/code\u003e with a \u003ccode\u003eWeakSet\u003c/code\u003e, improving performance and memory behaviour on large nested structures. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10832\"\u003e#10832\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecomposeSignals Cleanup:\u003c/strong\u003e Refactored \u003ccode\u003ecomposeSignals\u003c/code\u003e to use a clearer early-return structure, simplifying the cancellation/abort composition path. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10844\"\u003e#10844\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAI Readiness \u0026amp; Repo Docs:\u003c/strong\u003e Added \u003ccode\u003eAGENTS.md\u003c/code\u003e and related contributor-guide updates for both human and AI agents, plus post-release documentation improvements. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10835\"\u003e#10835\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10841\"\u003e#10841\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDocs Improvements:\u003c/strong\u003e Clarified the GET request example, fixed the interceptor \u003ccode\u003eeject\u003c/code\u003e example to reference the correct instance, and corrected the Buzzoid sponsor description in the README. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10836\"\u003e#10836\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10853\"\u003e#10853\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10856\"\u003e#10856\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSponsorship Tooling:\u003c/strong\u003e Fixed empty sponsor arrays in the sponsor processing script, added the ability to inject additional sponsors, updated the sponsorship link, and added a Twicsy advertisement entry. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10843\"\u003e#10843\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10859\"\u003e#10859\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10869\"\u003e#10869\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDependencies:\u003c/strong\u003e Bumped \u003ccode\u003e@commitlint/cli\u003c/code\u003e from 20.5.0 to 20.5.2. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10846\"\u003e#10846\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🌟 New Contributors\u003c/h2\u003e\n\u003cp\u003eWe are thrilled to welcome our new contributors. Thank you for helping improve axios:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/hpinmetaverse\"\u003e\u003ccode\u003e@​hpinmetaverse\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10836\"\u003e#10836\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tommyhgunz14\"\u003e\u003ccode\u003e@​tommyhgunz14\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7413\"\u003e#7413\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/abhu85\"\u003e\u003ccode\u003e@​abhu85\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10829\"\u003e#10829\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/divyanshuraj1095\"\u003e\u003ccode\u003e@​divyanshuraj1095\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10853\"\u003e#10853\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/sagodi97\"\u003e\u003ccode\u003e@​sagodi97\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10856\"\u003e#10856\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/rkdfx\"\u003e\u003ccode\u003e@​rkdfx\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10868\"\u003e#10868\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/Liuwei1125\"\u003e\u003ccode\u003e@​Liuwei1125\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10866\"\u003e#10866\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/axios/axios/compare/v1.16.0...v1.16.1\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.16.0 — May 2, 2026\u003c/h2\u003e\n\u003cp\u003eThis release adds support for the QUERY HTTP method and a new \u003ccode\u003eECONNREFUSED\u003c/code\u003e error constant, lands a substantial wave of HTTP, fetch, and XHR adapter bug fixes around redirects, aborts, headers, and timeouts, and welcomes 23 new contributors.\u003c/p\u003e\n\u003ch2\u003e⚠️ Notable Changes\u003c/h2\u003e\n\u003cp\u003eA handful of fixes in this release are either security-adjacent or change observable behaviour. Please review before upgrading:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/axios/axios/blob/v1.x/CHANGELOG.md\"\u003eaxios's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.16.1 — May 13, 2026\u003c/h2\u003e\n\u003cp\u003eThis release ships a defence-in-depth fix for prototype pollution in \u003ccode\u003eformDataToJSON\u003c/code\u003e, hardens proxy and CI workflows, restores Webpack 4 compatibility for the fetch adapter, and includes several small bug fixes and maintenance improvements.\u003c/p\u003e\n\u003ch2\u003e🔒 Security Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePrototype Pollution Defence-in-Depth:\u003c/strong\u003e Hardened \u003ccode\u003eformDataToJSON\u003c/code\u003e against already-polluted \u003ccode\u003eObject.prototype\u003c/code\u003e by walking own properties only, so attacker-controlled keys inherited from a poisoned prototype cannot propagate through deserialization. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7413\"\u003e#7413\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProxy Cleartext Leak:\u003c/strong\u003e Fixed an issue where HTTPS request data could be transmitted in cleartext to an HTT...\n\n_Description has been truncated_","html_url":"https://github.com/sinyuor3sad-code/servix/pull/33","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinyuor3sad-code%2Fservix/issues/33","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/33/packages"},{"uuid":"4560620993","node_id":"PR_kwDOPVrYt87hPEGw","number":26,"state":"open","title":"deps: bump the development-dependencies group across 1 directory with 23 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T05:35:35.000Z","updated_at":"2026-06-01T05:40:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"development-dependencies","update_count":23,"packages":[{"name":"@eslint/js","old_version":"9.35.0","new_version":"10.0.1","repository_url":"https://github.com/eslint/eslint"},{"name":"@playwright/test","old_version":"1.58.2","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"@tailwindcss/typography","old_version":"0.5.16","new_version":"0.5.19","repository_url":"https://github.com/tailwindlabs/tailwindcss-typography"},{"name":"@testing-library/react","old_version":"16.3.0","new_version":"16.3.2","repository_url":"https://github.com/testing-library/react-testing-library"},{"name":"@types/node","old_version":"25.2.2","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitejs/plugin-react","old_version":"5.0.2","new_version":"6.0.2","repository_url":"https://github.com/vitejs/vite-plugin-react"},{"name":"@vitest/coverage-v8","old_version":"2.1.9","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/ui","old_version":"2.1.9","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"autoprefixer","old_version":"10.4.21","new_version":"10.5.0","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"concurrently","old_version":"9.2.1","new_version":"10.0.1","repository_url":"https://github.com/open-cli-tools/concurrently"},{"name":"eslint","old_version":"9.35.0","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-react-hooks","old_version":"5.2.0","new_version":"7.1.1","repository_url":"https://github.com/facebook/react"},{"name":"eslint-plugin-react-refresh","old_version":"0.4.20","new_version":"0.5.2","repository_url":"https://github.com/ArnaudBarre/eslint-plugin-react-refresh"},{"name":"globals","old_version":"15.14.0","new_version":"17.6.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"jsdom","old_version":"25.0.1","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"node-appwrite","old_version":"22.0.0","new_version":"25.2.0","repository_url":"https://github.com/appwrite/sdk-for-node"},{"name":"postcss","old_version":"8.5.6","new_version":"8.5.15","repository_url":"https://github.com/postcss/postcss"},{"name":"stripe","old_version":"18.5.0","new_version":"22.2.0","repository_url":"https://github.com/stripe/stripe-node"},{"name":"tailwindcss","old_version":"3.4.17","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"typescript","old_version":"5.9.2","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"typescript-eslint","old_version":"8.44.0","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"vite","old_version":"7.3.1","new_version":"8.0.15","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"2.1.9","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 23 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.35.0` | `10.0.1` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.58.2` | `1.60.0` |\n| [@tailwindcss/typography](https://github.com/tailwindlabs/tailwindcss-typography) | `0.5.16` | `0.5.19` |\n| [@testing-library/react](https://github.com/testing-library/react-testing-library) | `16.3.0` | `16.3.2` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.2.2` | `25.9.1` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `5.0.2` | `6.0.2` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `2.1.9` | `4.1.7` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `2.1.9` | `4.1.7` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.21` | `10.5.0` |\n| [concurrently](https://github.com/open-cli-tools/concurrently) | `9.2.1` | `10.0.1` |\n| [eslint](https://github.com/eslint/eslint) | `9.35.0` | `10.4.1` |\n| [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) | `5.2.0` | `7.1.1` |\n| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.4.20` | `0.5.2` |\n| [globals](https://github.com/sindresorhus/globals) | `15.14.0` | `17.6.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `25.0.1` | `29.1.1` |\n| [node-appwrite](https://github.com/appwrite/sdk-for-node) | `22.0.0` | `25.2.0` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.6` | `8.5.15` |\n| [stripe](https://github.com/stripe/stripe-node) | `18.5.0` | `22.2.0` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `3.4.17` | `4.3.0` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.2` | `6.0.3` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.44.0` | `8.60.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `7.3.1` | `8.0.15` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `2.1.9` | `4.1.7` |\n\n\nUpdates `@eslint/js` from 9.35.0 to 10.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003e@​eslint/js's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.0.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c87d5bded54c5cf491eb04c24c9d09bbbd42c23e\"\u003e\u003ccode\u003ec87d5bd\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20531\"\u003e#20531\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84100115c14691691058f00779c94e74fca946a\"\u003e\u003ccode\u003ed841001\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003eminimatch\u003c/code\u003e to \u003ccode\u003e10.2.1\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20519\"\u003e#20519\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/04c21475b3004904948f02049f2888b401d82c78\"\u003e\u003ccode\u003e04c2147\u003c/code\u003e\u003c/a\u003e fix: update error message for unused suppressions (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20496\"\u003e#20496\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/38b089c1726feac0e31a31d47941bd99e29ce003\"\u003e\u003ccode\u003e38b089c\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-array\u003c/code\u003e to ^0.23.1 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20484\"\u003e#20484\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b3dbce50a1404a9f118afe810cefeee79388a2a\"\u003e\u003ccode\u003e5b3dbce\u003c/code\u003e\u003c/a\u003e docs: add AI acknowledgement section to templates (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20431\"\u003e#20431\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6f23076037d5879f20fb3be2ef094293b1e8d38c\"\u003e\u003ccode\u003e6f23076\u003c/code\u003e\u003c/a\u003e docs: toggle nav in no-JS mode (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20476\"\u003e#20476\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b69cfb32a16c5d5e9986390d484fae1d21e406f9\"\u003e\u003ccode\u003eb69cfb3\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e5c281ffd038a3a7a3e5364db0b9378e0ad83020\"\u003e\u003ccode\u003ee5c281f\u003c/code\u003e\u003c/a\u003e chore: updates for v9.39.3 release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8c3832adb77cd993b4a24891900d5eeaaf093cdc\"\u003e\u003ccode\u003e8c3832a\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e to ^8.56.0 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20514\"\u003e#20514\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8330d238ae6adb68bb6a1c9381e38cfedd990d94\"\u003e\u003ccode\u003e8330d23\u003c/code\u003e\u003c/a\u003e test: add tests for config-api (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20493\"\u003e#20493\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/37d6e91e88fa6a2ca6d8726679096acff21ba6cc\"\u003e\u003ccode\u003e37d6e91\u003c/code\u003e\u003c/a\u003e chore: remove eslint v10 prereleases from eslint-config-eslint deps (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20494\"\u003e#20494\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/da7cd0e79197ad16e17052eef99df141de6dbfb1\"\u003e\u003ccode\u003eda7cd0e\u003c/code\u003e\u003c/a\u003e refactor: cleanup error message templates (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20479\"\u003e#20479\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d\"\u003e\u003ccode\u003e1f66734\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e of \u003ccode\u003e@eslint/js\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20467\"\u003e#20467\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.0.0\u003c/h2\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f9e54f43a5e497cdfa179338b431093245cb787b\"\u003e\u003ccode\u003ef9e54f4\u003c/code\u003e\u003c/a\u003e feat!: estimate rule-tester failure location (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20420\"\u003e#20420\u003c/a\u003e) (ST-DDT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a176319d8ade1a7d9b2d7fb8f038f55a2662325f\"\u003e\u003ccode\u003ea176319\u003c/code\u003e\u003c/a\u003e feat!: replace \u003ccode\u003echalk\u003c/code\u003e with \u003ccode\u003estyleText\u003c/code\u003e and add \u003ccode\u003ecolor\u003c/code\u003e to \u003ccode\u003eResultsMeta\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20227\"\u003e#20227\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c7046e6c1e03c4ca0eee4888a1f2eba4c6454f84\"\u003e\u003ccode\u003ec7046e6\u003c/code\u003e\u003c/a\u003e feat!: enable JSX reference tracking (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20152\"\u003e#20152\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa\"\u003e\u003ccode\u003efa31a60\u003c/code\u003e\u003c/a\u003e feat!: add \u003ccode\u003ename\u003c/code\u003e to configs (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20015\"\u003e#20015\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3383e7ec9028166cafc8ea7986c2f7498d0049f0\"\u003e\u003ccode\u003e3383e7e\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eSourceCode\u003c/code\u003e methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20137\"\u003e#20137\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/501abd0e916a35554c58b7c0365537f1fa3880ce\"\u003e\u003ccode\u003e501abd0\u003c/code\u003e\u003c/a\u003e feat!: update dependency minimatch to v10 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20246\"\u003e#20246\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ca4d3b40085de47561f89656a2207d09946ed45e\"\u003e\u003ccode\u003eca4d3b4\u003c/code\u003e\u003c/a\u003e fix!: stricter rule tester assertions for valid test cases (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20125\"\u003e#20125\u003c/a\u003e) (唯然)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/96512a66c86402fb0538cdcb6cd30b9073f6bf3b\"\u003e\u003ccode\u003e96512a6\u003c/code\u003e\u003c/a\u003e fix!: Remove deprecated rule context methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20086\"\u003e#20086\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c69fdacdb2e886b9d965568a397aa8220db3fe90\"\u003e\u003ccode\u003ec69fdac\u003c/code\u003e\u003c/a\u003e feat!: remove eslintrc support (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20037\"\u003e#20037\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/208b5cc34a8374ff81412b5bec2e0800eebfbd04\"\u003e\u003ccode\u003e208b5cc\u003c/code\u003e\u003c/a\u003e feat!: Use \u003ccode\u003eScopeManager#addGlobals()\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20132\"\u003e#20132\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a2ee188ea7a38a0c6155f3d39e2b00e1d0f36e14\"\u003e\u003ccode\u003ea2ee188\u003c/code\u003e\u003c/a\u003e fix!: add \u003ccode\u003euniqueItems: true\u003c/code\u003e in \u003ccode\u003eno-invalid-regexp\u003c/code\u003e option (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20155\"\u003e#20155\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a89059dbf2832d417dd493ee81483227ec44e4ab\"\u003e\u003ccode\u003ea89059d\u003c/code\u003e\u003c/a\u003e feat!: Program range span entire source text (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20133\"\u003e#20133\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39a6424373d915fa9de0d7b0caba9a4dc3da9b53\"\u003e\u003ccode\u003e39a6424\u003c/code\u003e\u003c/a\u003e fix!: assert 'text' is a string across all RuleFixer methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20082\"\u003e#20082\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f28fbf846244e043c92b355b224d121b06140b44\"\u003e\u003ccode\u003ef28fbf8\u003c/code\u003e\u003c/a\u003e fix!: Deprecate \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e and \u003ccode\u003e\u0026quot;as-needed\u0026quot;\u003c/code\u003e options of the \u003ccode\u003eradix\u003c/code\u003e rule (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20223\"\u003e#20223\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/aa3fb2b233e929b37220be940575f42c280e0b98\"\u003e\u003ccode\u003eaa3fb2b\u003c/code\u003e\u003c/a\u003e fix!: tighten \u003ccode\u003efunc-names\u003c/code\u003e schema (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20119\"\u003e#20119\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f6c0ed0311dcfee853367d5068c765d066e6b756\"\u003e\u003ccode\u003ef6c0ed0\u003c/code\u003e\u003c/a\u003e feat!: report \u003ccode\u003eeslint-env\u003c/code\u003e comments as errors (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20128\"\u003e#20128\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4bf739fb533e59f7f0a66b65f7bc80be0f37d8db\"\u003e\u003ccode\u003e4bf739f\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eLintMessage#nodeType\u003c/code\u003e and \u003ccode\u003eTestCaseError#type\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20096\"\u003e#20096\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/523c076866400670fb2192a3f55dbf7ad3469247\"\u003e\u003ccode\u003e523c076\u003c/code\u003e\u003c/a\u003e feat!: drop support for jiti \u0026lt; 2.2.0 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20016\"\u003e#20016\u003c/a\u003e) (michael faith)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64\"\u003e\u003ccode\u003e454a292\u003c/code\u003e\u003c/a\u003e feat!: update \u003ccode\u003eeslint:recommended\u003c/code\u003e configuration (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20210\"\u003e#20210\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4f880ee02992e1bf0e96ebaba679985e2d1295f1\"\u003e\u003ccode\u003e4f880ee\u003c/code\u003e\u003c/a\u003e feat!: remove \u003ccode\u003ev10_*\u003c/code\u003e and inactive \u003ccode\u003eunstable_*\u003c/code\u003e flags (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20225\"\u003e#20225\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f18115c363a4ac7671a4c7f30ee13d57ebba330f\"\u003e\u003ccode\u003ef18115c\u003c/code\u003e\u003c/a\u003e feat!: \u003ccode\u003eno-shadow-restricted-names\u003c/code\u003e report \u003ccode\u003eglobalThis\u003c/code\u003e by default (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20027\"\u003e#20027\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e\"\u003e\u003ccode\u003ec6358c3\u003c/code\u003e\u003c/a\u003e feat!: Require Node.js \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20160\"\u003e#20160\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bff9091927811497dbf066b0e3b85ecb37d43822\"\u003e\u003ccode\u003ebff9091\u003c/code\u003e\u003c/a\u003e feat: handle \u003ccode\u003eArray.fromAsync\u003c/code\u003e in \u003ccode\u003earray-callback-return\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20457\"\u003e#20457\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/290c594bb50c439fb71bc75521ee5360daa8c222\"\u003e\u003ccode\u003e290c594\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eself\u003c/code\u003e to \u003ccode\u003eno-implied-eval\u003c/code\u003e rule (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20468\"\u003e#20468\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43677de07ebd6e14bfac40a46ad749ba783c45f2\"\u003e\u003ccode\u003e43677de\u003c/code\u003e\u003c/a\u003e feat: fix handling of function and class expression names in \u003ccode\u003eno-shadow\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20432\"\u003e#20432\u003c/a\u003e) (Milos Djermanovic)\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/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d\"\u003e\u003ccode\u003e1f66734\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e of \u003ccode\u003e@eslint/js\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20467\"\u003e#20467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f3fbc2f60cbe2c718364feb8c3fc0452c0df3c56\"\u003e\u003ccode\u003ef3fbc2f\u003c/code\u003e\u003c/a\u003e chore: set \u003ccode\u003e@eslint/js\u003c/code\u003e version to 10.0.0 to skip releasing it (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20466\"\u003e#20466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b4b3127f8542c599ce2dea804b6582ebc40c993d\"\u003e\u003ccode\u003eb4b3127\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0b14059491d830a49b3577931f4f68fbcfce6be5\"\u003e\u003ccode\u003e0b14059\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa\"\u003e\u003ccode\u003efa31a60\u003c/code\u003e\u003c/a\u003e feat!: add \u003ccode\u003ename\u003c/code\u003e to configs (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1e2cad5f6fa47ed6ed89d2a29798dda926d50990\"\u003e\u003ccode\u003e1e2cad5\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64\"\u003e\u003ccode\u003e454a292\u003c/code\u003e\u003c/a\u003e feat!: update \u003ccode\u003eeslint:recommended\u003c/code\u003e configuration (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20210\"\u003e#20210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e\"\u003e\u003ccode\u003ec6358c3\u003c/code\u003e\u003c/a\u003e feat!: Require Node.js \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20160\"\u003e#20160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c7ebefc9eaf99b76b30b0d3cf9960807a47367c4\"\u003e\u003ccode\u003ec7ebefc\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/commits/v10.0.1/packages/js\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@playwright/test` from 1.58.2 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e@​playwright/test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛑 test.abort()\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-test#test-abort\"\u003etest.abort()\u003c/a\u003e aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003etest('does not publish to the shared page', async ({ page }) =\u0026gt; {\r\n  await page.route('**/publish', route =\u0026gt; {\r\n    test.abort('Tests must not publish to the shared page. Use the `clone` option.');\r\n    return route.abort();\r\n  });\r\n  // ...\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eNew APIs\u003c/h2\u003e\n\u003ch3\u003eBrowser, Context and Page\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/microsoft/playwright/commit/87bb9ddbd78f329df18c2b24847bc9409240cd07\"\u003e\u003ccode\u003e87bb9dd\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40747\"\u003e#40747\u003c/a\u003e): fix(yauzl): vendor yauzl with destroy-lifecycle fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9a9c51cb7d1b39fab51ca288e59f8ca38fd19910\"\u003e\u003ccode\u003e9a9c51c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40733\"\u003e#40733\u003c/a\u003e): chore(electron): revert \u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40184\"\u003e#40184\u003c/a\u003e (move Electron API to a s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/4b3b628663031bcaaeca907e337892263524634d\"\u003e\u003ccode\u003e4b3b628\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40736\"\u003e#40736\u003c/a\u003e): Revert \u0026quot;feat(electron): add timeout option to electronAp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f869f96bbe6607cc3b88b4ca96fd82f17b301b50\"\u003e\u003ccode\u003ef869f96\u003c/code\u003e\u003c/a\u003e chore: bump version to v1.60.0 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40714\"\u003e#40714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/7eb6918afadfb0dd5c7e94ca9ffbddd84d8fbb39\"\u003e\u003ccode\u003e7eb6918\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40710\"\u003e#40710\u003c/a\u003e): docs: release notes v1.60\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/118d2aa6076d82840decca15d96b48611b08e392\"\u003e\u003ccode\u003e118d2aa\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40693\"\u003e#40693\u003c/a\u003e): chore(python): formdata path type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/54012f5dcc586da2e5d6cccd75f13ca367b94579\"\u003e\u003ccode\u003e54012f5\u003c/code\u003e\u003c/a\u003e chore(deps): bump ip-address and express-rate-limit (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40680\"\u003e#40680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9fa531da5677a3807d6e1dccd22c5137339a44f7\"\u003e\u003ccode\u003e9fa531d\u003c/code\u003e\u003c/a\u003e fix(screencast): unblock frame ack when an async client disconnects (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40674\"\u003e#40674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/3649db560ff943e724185784d34f7db131a11961\"\u003e\u003ccode\u003e3649db5\u003c/code\u003e\u003c/a\u003e chore(mcp): bump default extension protocol to v2 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40678\"\u003e#40678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/bb6c00957f47ba04caad7fca75d426309a2d32d4\"\u003e\u003ccode\u003ebb6c009\u003c/code\u003e\u003c/a\u003e chore(extension): mark 0.2.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40679\"\u003e#40679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.58.2...v1.60.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/typography` from 0.5.16 to 0.5.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/releases\"\u003e@​tailwindcss/typography's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.5.19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed broken color styles (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.5.18\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed undefined variable error (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/403\"\u003e#403\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.5.17\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd modifiers for description list elements (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprose-picture\u003c/code\u003e modifier (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude unit in \u003ccode\u003ehr\u003c/code\u003e border-width value (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/379\"\u003e#379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e\u0026lt;kbd\u0026gt;\u003c/code\u003e styles work with Tailwind CSS v4 (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove lodash dependencies (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/402\"\u003e#402\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/tailwindlabs/tailwindcss-typography/blob/main/CHANGELOG.md\"\u003e@​tailwindcss/typography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.5.19] - 2025-09-24\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed broken color styles (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.5.18] - 2025-09-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed undefined variable error (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/403\"\u003e#403\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.5.17] - 2025-09-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd modifiers for description list elements (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprose-picture\u003c/code\u003e modifier (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude unit in \u003ccode\u003ehr\u003c/code\u003e border-width value (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/379\"\u003e#379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e\u0026lt;kbd\u0026gt;\u003c/code\u003e styles work with Tailwind CSS v4 (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove lodash dependencies (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/402\"\u003e#402\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/tailwindlabs/tailwindcss-typography/commit/e002ab89ad8f4202638249c1c300c0cf0b3739c5\"\u003e\u003ccode\u003ee002ab8\u003c/code\u003e\u003c/a\u003e 0.5.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/commit/bbb1c21099e34ff4d1d7f82f7528b85e71ed3c5a\"\u003e\u003ccode\u003ebbb1c21\u003c/code\u003e\u003c/a\u003e Fix bad RGB syntax (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/issues/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/commit/b316f958af5bc12a981526c3091d8319626e274e\"\u003e\u003ccode\u003eb316f95\u003c/code\u003e\u003c/a\u003e 0.5.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/commit/ed952066e698dbb65a2f082eeb903ccba5a6834a\"\u003e\u003ccode\u003eed95206\u003c/code\u003e\u003c/a\u003e Fix variable declaration in opacity function (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/issues/403\"\u003e#403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/commit/7efcb4a499e6ede67088e28393a906d4d089e580\"\u003e\u003ccode\u003e7efcb4a\u003c/code\u003e\u003c/a\u003e 0.5.17\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/commit/e0ec248bafa002d589509e29bfd9f054570e6d85\"\u003e\u003ccode\u003ee0ec248\u003c/code\u003e\u003c/a\u003e chore(ci): update actions for release insiders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/commit/511afcb0bd9732eb8fcdc703f35ff76e57bfcd7b\"\u003e\u003ccode\u003e511afcb\u003c/code\u003e\u003c/a\u003e Add modifiers for description list elements (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/commit/042a531528cd3ddecafda94fe972394dc8aab6ae\"\u003e\u003ccode\u003e042a531\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eprose-picture\u003c/code\u003e modifiers (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/issues/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/commit/f822222ae6e289e8cc0b23636891dc3545d5682a\"\u003e\u003ccode\u003ef822222\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003ekbd\u003c/code\u003e shadow colors not being calculated on oklch colors (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/commit/ecb7e87a52d86afbbff64200d40f05fe59433039\"\u003e\u003ccode\u003eecb7e87\u003c/code\u003e\u003c/a\u003e Add Tailwind v4 custom color theme example to README (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/compare/v0.5.16...v0.5.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@testing-library/react` from 16.3.0 to 16.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testing-library/react-testing-library/releases\"\u003e@​testing-library/react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev16.3.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/compare/v16.3.1...v16.3.2\"\u003e16.3.2\u003c/a\u003e (2026-01-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate 'onCaughtError' type inference in 'RenderOptions' to work with React v19 (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1438\"\u003e#1438\u003c/a\u003e) (\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/f32bd1b033d5e3989ae1cb490d515ce389c54e53\"\u003ef32bd1b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev16.3.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/compare/v16.3.0...v16.3.1\"\u003e16.3.1\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to trusted publishing (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1437\"\u003e#1437\u003c/a\u003e) (\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/a2d37ffa09d85b10485f29b79cf7cb4f8ec943db\"\u003ea2d37ff\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/testing-library/react-testing-library/commit/f32bd1b033d5e3989ae1cb490d515ce389c54e53\"\u003e\u003ccode\u003ef32bd1b\u003c/code\u003e\u003c/a\u003e fix: Update 'onCaughtError' type inference in 'RenderOptions' to work with Re...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/a2d37ffa09d85b10485f29b79cf7cb4f8ec943db\"\u003e\u003ccode\u003ea2d37ff\u003c/code\u003e\u003c/a\u003e fix: Switch to trusted publishing (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1437\"\u003e#1437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/cd6a175a28067e6825eedef5bb9f1e0ab49c0837\"\u003e\u003ccode\u003ecd6a175\u003c/code\u003e\u003c/a\u003e chore: fix action permissions (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1436\"\u003e#1436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/22b8c280f4d4a59d883d73d9e0af0d570e8e1928\"\u003e\u003ccode\u003e22b8c28\u003c/code\u003e\u003c/a\u003e chore: fix release (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1435\"\u003e#1435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/d996673698dc3120cdb07162a81698316abf5a9a\"\u003e\u003ccode\u003ed996673\u003c/code\u003e\u003c/a\u003e chore: new release workflow (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1434\"\u003e#1434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/205ce1756d3379f32e0afde6bf0bca76bcb7cb49\"\u003e\u003ccode\u003e205ce17\u003c/code\u003e\u003c/a\u003e chore: fix typo in jest.config.js (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1427\"\u003e#1427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/aba574074b7b39b4a4f15446bb66774051db35f2\"\u003e\u003ccode\u003eaba5740\u003c/code\u003e\u003c/a\u003e [test] Fix tests for \u003ccode\u003ereact@experimental\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1424\"\u003e#1424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/590bc18a7f24e025d4154e228adda71452fdec9e\"\u003e\u003ccode\u003e590bc18\u003c/code\u003e\u003c/a\u003e [test] Fix \u003ccode\u003enpm run typecheck\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1423\"\u003e#1423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/1c931a6c03091d725eccee7767d9ec696d5d33c6\"\u003e\u003ccode\u003e1c931a6\u003c/code\u003e\u003c/a\u003e chore(deps): use \u003ccode\u003enpm-run-all2\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1411\"\u003e#1411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/testing-library/react-testing-library/compare/v16.3.0...v16.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​testing-library/react\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.2.2 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitejs/plugin-react` from 5.0.2 to 6.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite-plugin-react/releases\"\u003e@​vitejs/plugin-react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eplugin-react@6.0.2\u003c/h2\u003e\n\u003ch3\u003eAllow all options in reactCompilerPreset (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1189\"\u003e#1189\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eThis is a type only change. Only \u003ccode\u003ecompilationMode\u003c/code\u003e and \u003ccode\u003etarget\u003c/code\u003e options were available for \u003ccode\u003ereactCompilerPreset\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003eplugin-react@6.0.1\u003c/h2\u003e\n\u003ch3\u003eExpand \u003ccode\u003e@rolldown/plugin-babel\u003c/code\u003e peer dep range (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1146\"\u003e#1146\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eExpanded \u003ccode\u003e@rolldown/plugin-babel\u003c/code\u003e peer dep range to include \u003ccode\u003e^0.2.0\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003eplugin-react@6.0.0\u003c/h2\u003e\n\u003ch3\u003eRemove Babel Related Features (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1123\"\u003e#1123\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eVite 8+ can handle React Refresh Transform by Oxc and doesn't need Babel for it. With that, there are no transform applied that requires Babel. To reduce the installation size of this plugin, babel is no longer a dependency of this plugin and the related features are removed.\u003c/p\u003e\n\u003cp\u003eIf you are using Babel, you can use \u003ccode\u003e@rolldown/plugin-babel\u003c/code\u003e together with this plugin:\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003e import { defineConfig } from 'vite'\r\n import react from '@vitejs/plugin-react'\r\n+import babel from '@rolldown/plugin-babel'\r\n\u003cp\u003eexport default defineConfig({\nplugins: [\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003ereact({\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e  babel: {\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e    plugins: ['@babel/plugin-proposal-throw-expressions'],\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e  },\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e}),\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003ereact(),\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003ebabel({\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e  plugins: ['@babel/plugin-proposal-throw-expressions'],\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e}),\n\u003c/code\u003e\u003c/pre\u003e\n]\n})\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor React compiler users, you can use \u003ccode\u003ereactCompilerPreset\u003c/code\u003e for easier setup with preconfigured filter to improve build performance:\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003e import { defineConfig } from 'vite'\r\n-import react from '@vitejs/plugin-react'\r\n+import react, { reactCompilerPreset } from '@vitejs/plugin-react'\r\n+import babel from '@rolldown/plugin-babel'\r\n\u003cp\u003eexport default defineConfig({\nplugins: [\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereact({\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e babel: {\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e   plugins: ['babel-plugin-react-compiler'],\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\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/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md\"\u003e@​vitejs/plugin-react's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.2 (2026-05-14)\u003c/h2\u003e\n\u003ch3\u003eAllow all options in reactCompilerPreset (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1189\"\u003e#1189\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eThis is a type only change. Only \u003ccode\u003ecompilationMode\u003c/code\u003e and \u003ccode\u003etarget\u003c/code\u003e options were available for \u003ccode\u003ereactCompilerPreset\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003e6.0.1 (2026-03-13)\u003c/h2\u003e\n\u003ch3\u003eExpand \u003ccode\u003e@rolldown/plugin-babel\u003c/code\u003e peer dep range (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1146\"\u003e#1146\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eExpanded \u003ccode\u003e@rolldown/plugin-babel\u003c/code\u003e peer dep range to include \u003ccode\u003e^0.2.0\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003e6.0.0 (2026-03-12)\u003c/h2\u003e\n\u003ch2\u003e6.0.0-beta.0 (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eRemove Babel Related Features (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1123\"\u003e#1123\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eVite 8+ can handle React Refresh Transform by Oxc and doesn't need Babel for it. With that, there are no transform applied that requires Babel. To reduce the installation size of this plugin, babel is no longer a dependency of this plugin and the related features are removed.\u003c/p\u003e\n\u003cp\u003eIf you are using Babel, you can use \u003ccode\u003e@rolldown/plugin-babel\u003c/code\u003e together with this plugin:\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003e import { defineConfig } from 'vite'\n import react from '@vitejs/plugin-react'\n+import babel from '@rolldown/plugin-babel'\n\u003cp\u003eexport default defineConfig({\nplugins: [\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003ereact({\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e  babel: {\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e    plugins: ['@babel/plugin-proposal-throw-expressions'],\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e  },\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e}),\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003ereact(),\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003ebabel({\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e  plugins: ['@babel/plugin-proposal-throw-expressions'],\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e}),\n\u003c/code\u003e\u003c/pre\u003e\n]\n})\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor React compiler users, you can use \u003ccode\u003ereactCompilerPreset\u003c/code\u003e for easier setup with preconfigured filter to improve build performance:\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003e import { defineConfig } from 'vite'\n-import react from '@vitejs/plugin-react'\n+import react, { reactCompilerPreset } from '@vitejs/plugin-react'\n+import babel from '@rolldown/plugin-babel'\n\u003cp\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/6535b55e956b425e6650ffc2cc98fd23cca1d231\"\u003e\u003ccode\u003e6535b55\u003c/code\u003e\u003c/a\u003e release: plugin-react@6.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/bf0e43b756e3be81f8572d59727c218311f431ef\"\u003e\u003ccode\u003ebf0e43b\u003c/code\u003e\u003c/a\u003e feat(react): whitelist debugging-options (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/3bd1f08ae0b82ee0e96feb2ff265e61c6fe74b54\"\u003e\u003ccode\u003e3bd1f08\u003c/code\u003e\u003c/a\u003e feat: use carets for rolldown versions (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/2b8df67323265d1ff5ddf47b2db9ab0b9de5c688\"\u003e\u003ccode\u003e2b8df67\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1218\"\u003e#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/8fa9619e1b1f51b079f4c1df6bcf076dcafc5aed\"\u003e\u003ccode\u003e8fa9619\u003c/code\u003e\u003c/a\u003e fix(deps): update react 19.2.6 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1211\"\u003e#1211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/a4296ad2995a8d493528b8d5450a1209de2943cb\"\u003e\u003ccode\u003ea4296ad\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1209\"\u003e#1209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/323ccd72576be636b50baa7d9ce816cc94d5991e\"\u003e\u003ccode\u003e323ccd7\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1196\"\u003e#1196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/a7506e105df00cdadc58c0aecc4512d8cfdd9765\"\u003e\u003ccode\u003ea7506e1\u003c/code\u003e\u003c/a\u003e chore(deps): update vite 8.0.10 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1198\"\u003e#1198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/02cff2a0cf5c7e9792b1612baa380228f5e4d3c1\"\u003e\u003ccode\u003e02cff2a\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1184\"\u003e#1184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/4b9c890cdb21078ac45a86873b24f7e8613b8526\"\u003e\u003ccode\u003e4b9c890\u003c/code\u003e\u003c/a\u003e fix(deps): update react 19.2.5 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1181\"\u003e#1181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.0.2/packages/plugin-react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​vitejs/plugin-react\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/coverage-v8` from 2.1.9 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/coverage-v8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.5\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option  -  by \u003ca href=\"https://github.com/BartWaardenburg\"\u003e\u003ccode\u003e@​BartWaardenburg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10119\"\u003evitest-dev/vitest#10119\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7\"\u003e\u003c!-- raw HTML omitted --\u003e(0e0ff)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e--project negation excludes browser instances  -  by \u003ca href=\"https://github.com/felamaslen\"\u003e\u003ccode\u003e@​felamaslen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10131\"\u003evitest-dev/vitest#10131\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc084\"\u003e\u003c!-- raw HTML omitted --\u003e(9423d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProject color label on html reporter  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10142\"\u003evitest-dev/vitest#10142\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986\"\u003e\u003c!-- raw HTML omitted --\u003e(596f7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10163\"\u003evitest-dev/vitest#10163\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b\"\u003e\u003c!-- raw HTML omitted --\u003e(122c2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10157\"\u003evitest-dev/vitest#10157\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3\"\u003e\u003c!-- raw HTML omitted --\u003e(663b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedad\"\u003e\u003c!-- raw HTML omitted --\u003e(9787d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions \u0026quot;  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd\"\u003e\u003c!-- raw HTML omitted --\u003e(7dc6d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003east-collect\u003c/strong\u003e: Recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery  -  by \u003ca href=\"https://github.com/Yejneshwar\"\u003e\u003ccode\u003e@​Yejneshwar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10129\"\u003evitest-dev/vitest#10129\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab2\"\u003e\u003c!-- raw HTML omitted --\u003e(32546)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Descriptive error message when reports directory is removed during test run  -  by \u003ca href=\"https://github.com/DaveT1991\"\u003e\u003ccode\u003e@​DaveT1991\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10117\"\u003evitest-dev/vitest#10117\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1413382e1\"\u003e\u003c!-- raw HTML omitted --\u003e(14133)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e: Increase default snapshot max output length  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10150\"\u003evitest-dev/vitest#10150\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/21e66ff63\"\u003e\u003c!-- raw HTML omitted --\u003e(21e66)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e: Fix jsx/tsx syntax highlight  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10152\"\u003evitest-dev/vitest#10152\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b\"\u003e\u003c!-- raw HTML omitted --\u003e(f1b1f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eweb-worker\u003c/strong\u003e: Support MessagePort objects referenced inside postMessage data  -  by \u003ca href=\"https://github.com/whitphx\"\u003e\u003ccode\u003e@​whitphx\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9927\"\u003evitest-dev/vitest#9927\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10124\"\u003evitest-dev/vitest#10124\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7ad7d39af\"\u003e\u003c!-- raw HTML omitted --\u003e(7ad7d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e: Make test-specification options writable  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10154\"\u003evitest-dev/vitest#10154\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7\"\u003e\u003c!-- raw HTML omitted --\u003e(6abd5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.4\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDefault to text reporter \u003ccode\u003eskipFull\u003c/code\u003e if agent detected  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10018\"\u003evitest-dev/vitest#10018\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/53757804c\"\u003e\u003c!-- raw HTML omitted --\u003e(53757)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eExpose \u003ccode\u003eassertion\u003c/code\u003e as a public field  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10095\"\u003evitest-dev/vitest#10095\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a120e3ab8\"\u003e\u003c!-- raw HTML omitted --\u003e(a120e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport aria snapshot  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e, \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9668\"\u003evitest-dev/vitest#9668\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d4fbb5cc9\"\u003e\u003c!-- raw HTML omitted --\u003e(d4fbb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/ac04bac206f49d793e7277084f707aee718aa936\"\u003e\u003ccode\u003eac04bac\u003c/code\u003e\u003c/a\u003e chore: release v4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/2dc0d62eaf08d8acb1f5042fdb8ac5b4a19fdc73\"\u003e\u003ccode\u003e2dc0d62\u003c/code\u003e\u003c/a\u003e chore: release v4.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/fc6f482f4c54bf6a766a0ff502b9843994af5bf5\"\u003e\u003ccode\u003efc6f482\u003c/code\u003e\u003c/a\u003e chore: release v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/1f2d318493363855b66a22caaf7c1c10579029d5\"\u003e\u003ccode\u003e1f2d318\u003c/code\u003e\u003c/a\u003e chore: release v4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/aaf9f18ae70e52b6e67aaf85f7f784d9dabd0acc\"\u003e\u003ccode\u003eaaf9f18\u003c/code\u003e\u003c/a\u003e fix(coverage): simplify provider types (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9931\"\u003e#9931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/4150b913171bda3971a4a4c47c633c26d0c6ae45\"\u003e\u003ccode\u003e4150b91\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0c2c01361a95dd26d0d7fd7bc38bcca8dbc6e5d2\"\u003e\u003ccode\u003e0c2c013\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0-beta.6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​vitest/coverage-v8\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/ui` from 2.1.9 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.5\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option  -  by \u003ca href=\"https://github.com/BartWaardenburg\"\u003e\u003ccode\u003e@​BartWaardenburg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10119\"\u003evitest-dev/vitest#10119\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7\"\u003e\u003c!-- raw HTML omitted --\u003e(0e0ff)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e--project negation excludes browser instances  -  by \u003ca href=\"https://github.com/felamaslen\"\u003e\u003ccode\u003e@​felamaslen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10131\"\u003evitest-dev/vitest#10131\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc084\"\u003e\u003c!-- raw HTML omitted --\u003e(9423d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProject color label on html reporter  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10142\"\u003evitest-dev/vitest#10142\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986\"\u003e\u003c!-- raw HTML omitted --\u003e(596f7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10163\"\u003evitest-dev/vitest#10163\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b\"\u003e\u003c!-- raw HTML omitted --\u003e(122c2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10157\"\u003evitest-dev/vitest#10157\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3\"\u003e\u003c!-- raw HTML omitted --\u003e(663b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedad\"\u003e\u003c!-- raw HTML omitted --\u003e(9787d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions \u0026quot;  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd\"\u003e\u003c!-- raw HTML omitted --\u003e(7dc6d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003east-collect\u003c/strong\u003e: Recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery  -  by \u003ca href=\"https://github.com/Yejneshwar\"\u003e\u003ccode\u003e@​Yejneshwar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10129\"\u003evitest-dev/vitest#10129\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab2\"\u003e\u003c!-- raw HTML omitted --\u003e(32546)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Descriptive error message when reports directory is removed during test run  -  by \u003ca href=\"https://github.com/DaveT1991\"\u003e\u003ccode\u003e@​DaveT1991\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10117\"\u003evitest-dev/vitest#10117\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1413382e1\"\u003e\u003c!-- raw HTML omitted --\u003e(14133)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e: Increase default snapshot max output length  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10150\"\u003evitest-dev/vitest#10150\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/21e66ff63\"\u003e\u003c!-- raw HTML omitted --\u003e(21e66)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e: Fix jsx/tsx syntax highlight  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10152\"\u003evitest-dev/vitest#10152\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b\"\u003e\u003c!-- raw HTML omitted --\u003e(f1b1f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eweb-worker\u003c/strong\u003e: Support MessagePort objects referenced inside postMessage data  -  by \u003ca href=\"https://github.com/whitphx\"\u003e\u003ccode\u003e@​whitphx\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9927\"\u003evitest-dev/vitest#9927\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10124\"\u003evitest-dev/vitest#10124\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7ad7d39af\"\u003e\u003c!-- raw HTML omitted --\u003e(7ad7d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e: Make test-specification options writable  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10154\"\u003evitest-dev/vitest#10154\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7\"\u003e\u003c!-- raw HTML omitted --\u003e(6abd5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.4\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDefault to text reporter \u003ccode\u003eskipFull\u003c/code\u003e if agent detected  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10018\"\u003evitest-dev/vitest#10018\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/53757804c\"\u003e\u003c!-- raw HTML omitted --\u003e(53757)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eExpose \u003ccode\u003eassertion\u003c/code\u003e as a public field  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10095\"\u003evitest-dev/vitest#10095\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a120e3ab8\"\u003e\u003c!-- raw HTML omitted --\u003e(a120e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport aria snapshot  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e, \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9668\"\u003evitest-dev/vitest#9668\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d4fbb5cc9\"\u003e\u003c!-- raw HTML omitted --\u003e(d4fbb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986abe2161a9a06f0ca03df68e82690b21\"\u003e\u003ccode\u003e596f739\u003c/code\u003e\u003c/a\u003e fix: project color label on html reporter (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui/issues/10142\"\u003e#10142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b053381f1d9ae184298240a4faa581b0\"\u003e\u003ccode\u003ef1b1f6c\u003c/code\u003e\u003c/a\u003e fix(ui): fix jsx/tsx syntax highlight (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui/issues/10152\"\u003e#10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/ac04bac206f49d793e7277084f707aee718aa936\"\u003e\u003ccode\u003eac04bac\u003c/code\u003e\u003c/a\u003e chore: release v4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/d4fbb5cc931754d05327264baaf7b4364ed02f84\"\u003e\u003ccode\u003ed4fbb5c\u003c/code\u003e\u003c/a\u003e feat(experimental): support aria snapshot (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui/issues/9668\"\u003e#9668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/2dc0d62eaf08d8acb1f5042fdb8ac5b4a19fdc73\"\u003e\u003ccode\u003e2dc0d62\u003c/code\u003e\u003c/a\u003e chore: release v4.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/89ca0e2549db38a35e8c996beba45716ffb35a5a\"\u003e\u003ccode\u003e89ca0e2\u003c/code\u003e\u003c/a\u003e feat(experimental): add \u003ccode\u003eTestAttachment.bodyEncoding\u003c/code\u003e (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui/issues/9969\"\u003e#9969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/fdff1bf9a40916b5b74f0e0362420422f09c44a8\"\u003e\u003ccode\u003efdff1bf\u003c/code\u003e\u003c/a\u003e fix(ui): don't leak vite types (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui/issues/10005\"\u003e#10005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/ui\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​vitest/ui\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `autoprefixer` from 10.4.21 to 10.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca hr...\n\n_Description has been truncated_","html_url":"https://github.com/codeme-ne/AI-Content-Repurposing-Tool/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeme-ne%2FAI-Content-Repurposing-Tool/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"},{"uuid":"4559815035","node_id":"PR_kwDOQI2bPM7hMd8y","number":80,"state":"open","title":"build(deps-dev): bump the dev-dependencies group across 1 directory with 14 updates","user":"dependabot[bot]","labels":["dependencies","frontend"],"assignees":["pilgrimlyieu"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T02:07:12.000Z","updated_at":"2026-06-01T03:05:53.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): bump","group_name":"dev-dependencies","update_count":14,"packages":[{"name":"@biomejs/biome","old_version":"2.4.13","new_version":"2.4.15","repository_url":"https://github.com/biomejs/biome"},{"name":"@tailwindcss/vite","old_version":"4.2.4","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@tauri-apps/cli","old_version":"2.10.1","new_version":"2.11.2","repository_url":"https://github.com/tauri-apps/tauri"},{"name":"@types/bun","old_version":"1.3.13","new_version":"1.3.14","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitejs/plugin-vue","old_version":"6.0.6","new_version":"6.0.7","repository_url":"https://github.com/vitejs/vite-plugin-vue"},{"name":"@vitest/coverage-v8","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/ui","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vue/test-utils","old_version":"2.4.6","new_version":"2.4.10","repository_url":"https://github.com/vuejs/test-utils"},{"name":"daisyui","old_version":"5.5.19","new_version":"5.5.20","repository_url":"https://github.com/saadeghi/daisyui"},{"name":"jsdom","old_version":"29.0.2","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"tailwindcss","old_version":"4.2.4","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"vite-plugin-vue-devtools","old_version":"8.1.1","new_version":"8.1.2","repository_url":"https://github.com/vuejs/devtools"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"vue-tsc","old_version":"3.2.7","new_version":"3.3.1","repository_url":"https://github.com/vuejs/language-tools"}],"path":null,"ecosystem":"npm"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the dev-dependencies group with 14 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) | `2.4.13` | `2.4.15` |\n| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.2.4` | `4.3.0` |\n| [@tauri-apps/cli](https://github.com/tauri-apps/tauri) | `2.10.1` | `2.11.2` |\n| [@types/bun](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/bun) | `1.3.13` | `1.3.14` |\n| [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) | `6.0.6` | `6.0.7` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.7` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `4.1.5` | `4.1.7` |\n| [@vue/test-utils](https://github.com/vuejs/test-utils) | `2.4.6` | `2.4.10` |\n| [daisyui](https://github.com/saadeghi/daisyui/tree/HEAD/packages/daisyui) | `5.5.19` | `5.5.20` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.0.2` | `29.1.1` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.4` | `4.3.0` |\n| [vite-plugin-vue-devtools](https://github.com/vuejs/devtools/tree/HEAD/packages/vite) | `8.1.1` | `8.1.2` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.7` |\n| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.2.7` | `3.3.1` |\n\n\nUpdates `@biomejs/biome` from 2.4.13 to 2.4.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/biomejs/biome/releases\"\u003e@​biomejs/biome's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBiome CLI v2.4.15\u003c/h2\u003e\n\u003ch2\u003e2.4.15\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9394\"\u003e#9394\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/ba3480e62da6ac7f0f9d99126f1459a72306368b\"\u003e\u003ccode\u003eba3480e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-test-hooks-in-order\"\u003e\u003ccode\u003euseTestHooksInOrder\u003c/code\u003e\u003c/a\u003e in the \u003ccode\u003etest\u003c/code\u003e domain. The rule enforces that Jest/Vitest lifecycle hooks (\u003ccode\u003ebeforeAll\u003c/code\u003e, \u003ccode\u003ebeforeEach\u003c/code\u003e, \u003ccode\u003eafterEach\u003c/code\u003e, \u003ccode\u003eafterAll\u003c/code\u003e) are declared in the order they execute, making test setup and teardown easier to reason about.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10254\"\u003e#10254\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/e0a54ccc0a0c892fff2270ae772bcecf0d34e79a\"\u003e\u003ccode\u003ee0a54cc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-vue-next-tick-promise/\"\u003e\u003ccode\u003euseVueNextTickPromise\u003c/code\u003e\u003c/a\u003e, which enforces Promise syntax when using Vue \u003ccode\u003enextTick\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { nextTick } from \u0026quot;vue\u0026quot;;\n\u003cp\u003enextTick(() =\u0026gt; {\nupdateDom();\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10219\"\u003e#10219\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/64aee454ac2db2ade31089c1438dd761c94a8d57\"\u003e\u003ccode\u003e64aee45\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-vue-v-on-number-values/\"\u003e\u003ccode\u003enoVueVOnNumberValues\u003c/code\u003e\u003c/a\u003e, that disallows deprecated number modifiers on Vue \u003ccode\u003ev-on\u003c/code\u003e directives.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule:\u003c/p\u003e\n\u003cpre lang=\"vue\"\u003e\u003ccode\u003e\u0026lt;input @keyup.13=\u0026quot;submit\u0026quot; /\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10195\"\u003e#10195\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/7b8d4e161a225f14bc9e070e04cc8572ee988bb2\"\u003e\u003ccode\u003e7b8d4e1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-vue-valid-v-for/\"\u003e\u003ccode\u003euseVueValidVFor\u003c/code\u003e\u003c/a\u003e, which validates Vue \u003ccode\u003ev-for\u003c/code\u003e directives and reports invalid aliases, missing component keys, and keys that do not use iteration variables.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10238\"\u003e#10238\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1110256c6d60500ebc05b9d2738fe77345c7ffd6\"\u003e\u003ccode\u003e1110256\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the recommended nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-vue-import-compiler-macros/\"\u003e\u003ccode\u003enoVueImportCompilerMacros\u003c/code\u003e\u003c/a\u003e, which disallows importing Vue compiler macros such as \u003ccode\u003edefineProps\u003c/code\u003e from \u003ccode\u003evue\u003c/code\u003e because they are automatically available.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10201\"\u003e#10201\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1a08f89df55eafe1d8463696d1be53f8dea90a80\"\u003e\u003ccode\u003e1a08f89\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/realknove\"\u003e\u003ccode\u003e@​realknove\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10193\"\u003e#10193\u003c/a\u003e: \u003ccode\u003estyle/useReadonlyClassProperties\u003c/code\u003e no longer reports class properties as readonly-able when they are assigned inside arrow callbacks nested in class property initializers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9574\"\u003e#9574\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/3bd2b6adf0be44eda922ad7610781dd2e387bdb6\"\u003e\u003ccode\u003e3bd2b6a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/9530\"\u003e#9530\u003c/a\u003e. The diagnostics of \u003ca href=\"https://biomejs.dev/assist/actions/organize-imports/\"\u003e\u003ccode\u003eorganizeImports\u003c/code\u003e\u003c/a\u003e are now more detailed and more precise. They are also better at localizing where the issue is.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10205\"\u003e#10205\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/a704a6c40392e71aad5127ab35c771486116937e\"\u003e\u003ccode\u003ea704a6c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10185\"\u003e#10185\u003c/a\u003e. \u003ca href=\"https://biomejs.dev/assist/actions/organize-imports/\"\u003e`organizeImports\u003c/a\u003e now errors when it encounters an unknown predefined group.\u003c/p\u003e\n\u003cp\u003eThe following configuration is now reported as invalid because \u003ccode\u003e:INEXISTENT:\u003c/code\u003e is an unknown predefined group.\u003c/p\u003e\n\u003cpre lang=\"json\"\u003e\u003ccode\u003e{\n  \u0026quot;assist\u0026quot;: {\n    \u0026quot;actions\u0026quot;: {\n      \u0026quot;source\u0026quot;: {\n        \u0026quot;organizeImports\u0026quot;: { \u0026quot;options\u0026quot;: { \u0026quot;groups\u0026quot;: [\u0026quot;:INEXISTENT:\u0026quot;] } }\n      }\n    }\n  }\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md\"\u003e@​biomejs/biome's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.15\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9394\"\u003e#9394\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/ba3480e62da6ac7f0f9d99126f1459a72306368b\"\u003e\u003ccode\u003eba3480e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-test-hooks-in-order\"\u003e\u003ccode\u003euseTestHooksInOrder\u003c/code\u003e\u003c/a\u003e in the \u003ccode\u003etest\u003c/code\u003e domain. The rule enforces that Jest/Vitest lifecycle hooks (\u003ccode\u003ebeforeAll\u003c/code\u003e, \u003ccode\u003ebeforeEach\u003c/code\u003e, \u003ccode\u003eafterEach\u003c/code\u003e, \u003ccode\u003eafterAll\u003c/code\u003e) are declared in the order they execute, making test setup and teardown easier to reason about.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10254\"\u003e#10254\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/e0a54ccc0a0c892fff2270ae772bcecf0d34e79a\"\u003e\u003ccode\u003ee0a54cc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-vue-next-tick-promise/\"\u003e\u003ccode\u003euseVueNextTickPromise\u003c/code\u003e\u003c/a\u003e, which enforces Promise syntax when using Vue \u003ccode\u003enextTick\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { nextTick } from \u0026quot;vue\u0026quot;;\n\u003cp\u003enextTick(() =\u0026gt; {\nupdateDom();\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10219\"\u003e#10219\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/64aee454ac2db2ade31089c1438dd761c94a8d57\"\u003e\u003ccode\u003e64aee45\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-vue-v-on-number-values/\"\u003e\u003ccode\u003enoVueVOnNumberValues\u003c/code\u003e\u003c/a\u003e, that disallows deprecated number modifiers on Vue \u003ccode\u003ev-on\u003c/code\u003e directives.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule:\u003c/p\u003e\n\u003cpre lang=\"vue\"\u003e\u003ccode\u003e\u0026lt;input @keyup.13=\u0026quot;submit\u0026quot; /\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10195\"\u003e#10195\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/7b8d4e161a225f14bc9e070e04cc8572ee988bb2\"\u003e\u003ccode\u003e7b8d4e1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-vue-valid-v-for/\"\u003e\u003ccode\u003euseVueValidVFor\u003c/code\u003e\u003c/a\u003e, which validates Vue \u003ccode\u003ev-for\u003c/code\u003e directives and reports invalid aliases, missing component keys, and keys that do not use iteration variables.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10238\"\u003e#10238\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1110256c6d60500ebc05b9d2738fe77345c7ffd6\"\u003e\u003ccode\u003e1110256\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the recommended nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-vue-import-compiler-macros/\"\u003e\u003ccode\u003enoVueImportCompilerMacros\u003c/code\u003e\u003c/a\u003e, which disallows importing Vue compiler macros such as \u003ccode\u003edefineProps\u003c/code\u003e from \u003ccode\u003evue\u003c/code\u003e because they are automatically available.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10201\"\u003e#10201\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1a08f89df55eafe1d8463696d1be53f8dea90a80\"\u003e\u003ccode\u003e1a08f89\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/realknove\"\u003e\u003ccode\u003e@​realknove\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10193\"\u003e#10193\u003c/a\u003e: \u003ccode\u003estyle/useReadonlyClassProperties\u003c/code\u003e no longer reports class properties as readonly-able when they are assigned inside arrow callbacks nested in class property initializers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9574\"\u003e#9574\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/3bd2b6adf0be44eda922ad7610781dd2e387bdb6\"\u003e\u003ccode\u003e3bd2b6a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/9530\"\u003e#9530\u003c/a\u003e. The diagnostics of \u003ca href=\"https://biomejs.dev/assist/actions/organize-imports/\"\u003e\u003ccode\u003eorganizeImports\u003c/code\u003e\u003c/a\u003e are now more detailed and more precise. They are also better at localizing where the issue is.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10205\"\u003e#10205\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/a704a6c40392e71aad5127ab35c771486116937e\"\u003e\u003ccode\u003ea704a6c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10185\"\u003e#10185\u003c/a\u003e. \u003ca href=\"https://biomejs.dev/assist/actions/organize-imports/\"\u003e`organizeImports\u003c/a\u003e now errors when it encounters an unknown predefined group.\u003c/p\u003e\n\u003cp\u003eThe following configuration is now reported as invalid because \u003ccode\u003e:INEXISTENT:\u003c/code\u003e is an unknown predefined group.\u003c/p\u003e\n\u003cpre lang=\"json\"\u003e\u003ccode\u003e{\n  \u0026quot;assist\u0026quot;: {\n    \u0026quot;actions\u0026quot;: {\n      \u0026quot;source\u0026quot;: {\n        \u0026quot;organizeImports\u0026quot;: { \u0026quot;options\u0026quot;: { \u0026quot;groups\u0026quot;: [\u0026quot;:INEXISTENT:\u0026quot;] } }\n      }\n    }\n  }\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/9dd3271eef16090416b6e77615a01e3bfbcf7993\"\u003e\u003ccode\u003e9dd3271\u003c/code\u003e\u003c/a\u003e ci: release (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10210\"\u003e#10210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/7b8d4e161a225f14bc9e070e04cc8572ee988bb2\"\u003e\u003ccode\u003e7b8d4e1\u003c/code\u003e\u003c/a\u003e feat(lint/html/vue): add \u003ccode\u003euseVueValidVFor\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10195\"\u003e#10195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/ba3480e62da6ac7f0f9d99126f1459a72306368b\"\u003e\u003ccode\u003eba3480e\u003c/code\u003e\u003c/a\u003e feat(lint/js): add \u003ccode\u003euseTestHooksInOrder\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/9394\"\u003e#9394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/e0a54ccc0a0c892fff2270ae772bcecf0d34e79a\"\u003e\u003ccode\u003ee0a54cc\u003c/code\u003e\u003c/a\u003e feat(lint/js/vue): add \u003ccode\u003euseVueNextTickPromise\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10254\"\u003e#10254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/1110256c6d60500ebc05b9d2738fe77345c7ffd6\"\u003e\u003ccode\u003e1110256\u003c/code\u003e\u003c/a\u003e feat(lint/vue): add \u003ccode\u003enoVueImportCompilerMacros\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10238\"\u003e#10238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/7f7419cc831cc0725c44669964d8ad8f318d4375\"\u003e\u003ccode\u003e7f7419c\u003c/code\u003e\u003c/a\u003e fix: grammar in extends docstring (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10263\"\u003e#10263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/0ae58406b4752f296adfccf94b1d2a042c4cddc7\"\u003e\u003ccode\u003e0ae5840\u003c/code\u003e\u003c/a\u003e feat(lint/js): add \u003ccode\u003euseThisForClassMethods\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/9807\"\u003e#9807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/83f7385f14d68704510ea4c028cfa20317698fc0\"\u003e\u003ccode\u003e83f7385\u003c/code\u003e\u003c/a\u003e feat(lint/js): add \u003ccode\u003enoBaseToString\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/64aee454ac2db2ade31089c1438dd761c94a8d57\"\u003e\u003ccode\u003e64aee45\u003c/code\u003e\u003c/a\u003e feat(lint/html/vue): add \u003ccode\u003enoVueVOnNumberValues\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10219\"\u003e#10219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/46393e0240944064eb2a33c1810fc4204ced0cf7\"\u003e\u003ccode\u003e46393e0\u003c/code\u003e\u003c/a\u003e ci: release (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10100\"\u003e#10100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/biomejs/biome/commits/@biomejs/biome@2.4.15/packages/@biomejs/biome\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/vite` from 4.2.4 to 4.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003e@​tailwindcss/vite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e@​tailwindcss/vite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.3.0] - 2026-05-08\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\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/tailwindlabs/tailwindcss/commit/588bd7371f4cae96426e1387819b7fd1d99765f9\"\u003e\u003ccode\u003e588bd73\u003c/code\u003e\u003c/a\u003e 4.3.0 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/20023\"\u003e#20023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d194d4c3e656313421f1cfa1954db8f58eec0fcd\"\u003e\u003ccode\u003ed194d4c\u003c/code\u003e\u003c/a\u003e docs: fix various typos in comments and documentation (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19878\"\u003e#19878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/db27049caaae08978995f25b61f8336f543a4640\"\u003e\u003ccode\u003edb27049\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e): include \u003ca href=\"https://github.com/variant\"\u003e\u003ccode\u003e@​variant\u003c/code\u003e\u003c/a\u003e in feature detection (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/5a799900d4b43ca4902398a38c6f0a5b37a98ed9\"\u003e\u003ccode\u003e5a79990\u003c/code\u003e\u003c/a\u003e Always resolve relative files, relative to the current .css file (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/f3fdda2a5cb9de50c897c79003aa58182cd9269b\"\u003e\u003ccode\u003ef3fdda2\u003c/code\u003e\u003c/a\u003e fix(vite): avoid resolving JS plugins to browser CSS entries (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/@tailwindcss-vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tauri-apps/cli` from 2.10.1 to 2.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/tauri/releases\"\u003e@​tauri-apps/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tauri-apps/cli\u003c/code\u003e v2.11.2\u003c/h2\u003e\n\u003ch2\u003e[2.11.2]\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded to \u003ccode\u003etauri-cli@2.11.2\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tauri-apps/cli\u003c/code\u003e v2.11.1\u003c/h2\u003e\n\u003ch2\u003e[2.11.1]\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded to \u003ccode\u003etauri-cli@2.11.1\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tauri-apps/cli\u003c/code\u003e v2.11.0\u003c/h2\u003e\n\u003ch2\u003e[2.11.0]\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.github.com/tauri-apps/tauri/commit/926a57bb0851e45d47ad1ee68fc96a9c25754c7c\"\u003e\u003ccode\u003e926a57bb0\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/pull/15201\"\u003e#15201\u003c/a\u003e) Added uninstaller icon and uninstaller header image support for NSIS installer.\u003c/p\u003e\n\u003cp\u003eNotes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFor \u003ccode\u003etauri-bundler\u003c/code\u003e lib users, the \u003ccode\u003eNsisSettings\u003c/code\u003e now has 2 new fields \u003ccode\u003euninstaller_icon\u003c/code\u003e and \u003ccode\u003euninstaller_header_image\u003c/code\u003e which can be a breaking change\u003c/li\u003e\n\u003cli\u003eWhen bundling with NSIS, users can add \u003ccode\u003euninstallerIcon\u003c/code\u003e and \u003ccode\u003euninstallerHeaderImage\u003c/code\u003e under \u003ccode\u003ebundle \u0026gt; windows \u0026gt; nsis\u003c/code\u003e to configure them.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.github.com/tauri-apps/tauri/commit/764b9139a32de149d8a914a6b5ec6cd1937c64eb\"\u003e\u003ccode\u003e764b9139a\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/pull/14313\"\u003e#14313\u003c/a\u003e) Prompt to restart the Android emulator if it is not connected to adb.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.github.com/tauri-apps/tauri/commit/5dc2cee60370665af88c185684432e425b1c987d\"\u003e\u003ccode\u003e5dc2cee60\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/pull/14793\"\u003e#14793\u003c/a\u003e) Added support for \u003ccode\u003eminimumWebview2Version\u003c/code\u003e option support for the MSI (Wix) installer, the old \u003ccode\u003ebundle \u0026gt; windows \u0026gt; nsis \u0026gt; minimumWebview2Version\u003c/code\u003e is now deprecated in favor of \u003ccode\u003ebundle \u0026gt; windows \u0026gt; minimumWebview2Version\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eNotes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFor anyone relying on the \u003ccode\u003eWVRTINSTALLED\u003c/code\u003e \u003ccode\u003eProperty\u003c/code\u003e tag in \u003ccode\u003emain.wxs\u003c/code\u003e, it is now renamed to \u003ccode\u003eINSTALLED_WEBVIEW2_VERSION\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFor \u003ccode\u003etauri-bundler\u003c/code\u003e lib users, the \u003ccode\u003eWindowsSettings\u003c/code\u003e now has a new field \u003ccode\u003eminimum_webview2_version\u003c/code\u003e which can be a breaking change\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.github.com/tauri-apps/tauri/commit/be0e4bd2da02eb6cc75a8dc7c81663277e64c590\"\u003e\u003ccode\u003ebe0e4bd2d\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/pull/15218\"\u003e#15218\u003c/a\u003e) Added Vietnamese translations for the NSIS installer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.github.com/tauri-apps/tauri/commit/8718d08163f074dfc53387ebd1d823f9c28280ee\"\u003e\u003ccode\u003e8718d0816\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/pull/15033\"\u003e#15033\u003c/a\u003e) Show the context before prompting for updater signing key password\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.github.com/tauri-apps/tauri/commit/fcb702ec4d924e81943efaeebea8d3edb7289c33\"\u003e\u003ccode\u003efcb702ec4\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/pull/14954\"\u003e#14954\u003c/a\u003e) Fix \u003ccode\u003ebuild --bundles\u003c/code\u003e to allow \u003ccode\u003ensis\u003c/code\u003e arg in linux+macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.github.com/tauri-apps/tauri/commit/80c1425af86058b1fc9489a30f778b6288d79b6b\"\u003e\u003ccode\u003e80c1425af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/pull/14921\"\u003e#14921\u003c/a\u003e) Fix iOS build failure when \u003ccode\u003eMetal Toolchain\u003c/code\u003e is installed by using explicit \u003ccode\u003e$(DEVELOPER_DIR)/Toolchains/XcodeDefault.xctoolchain\u003c/code\u003e path instead of \u003ccode\u003e$(TOOLCHAIN_DIR)\u003c/code\u003e for Swift library search paths.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.github.com/tauri-apps/tauri/commit/9979cde1c5534dafb1a07cc4dc2bc280d15d2f66\"\u003e\u003ccode\u003e9979cde1c\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/pull/15175\"\u003e#15175\u003c/a\u003e) Update NSIS installer Italian translations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded to \u003ccode\u003etauri-cli@2.11.0\u003c/code\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/tauri-apps/tauri/commit/499df79be65ef8c0670abc0207cd9e37b55d8491\"\u003e\u003ccode\u003e499df79\u003c/code\u003e\u003c/a\u003e apply version updates (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/issues/15378\"\u003e#15378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/20bb033abb1947121e8158a52f46e1de36b94af7\"\u003e\u003ccode\u003e20bb033\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;feat: add Windows VC runtime linking and bundling options (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/issues/15372\"\u003e#15372\u003c/a\u003e)\u0026quot; (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/b5b72ce51811e9f95b1f7e9a05ea19c8f12ce694\"\u003e\u003ccode\u003eb5b72ce\u003c/code\u003e\u003c/a\u003e fix(tauri-utils): preserve resource source file name when dest is empty (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/issues/15383\"\u003e#15383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/3fd8ba2c022717068ff6a154ce12942c3a672232\"\u003e\u003ccode\u003e3fd8ba2\u003c/code\u003e\u003c/a\u003e fix: resources after empty directory not copied (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/issues/15388\"\u003e#15388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/47e1b754951bffeedbcd6400928d60755fb954de\"\u003e\u003ccode\u003e47e1b75\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eset_as_windows_menu_for_nsapp\u003c/code\u003e command wrongly called `set_as_help_menu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/eadd8f5f49446fc5cdca0dd6094aade726f09b6b\"\u003e\u003ccode\u003eeadd8f5\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump svelte from 5.53.11 to 5.55.7 (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/issues/15382\"\u003e#15382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/32d81661eedb7524b36f4c422606fa1e93ac917b\"\u003e\u003ccode\u003e32d8166\u003c/code\u003e\u003c/a\u003e feat: add Windows VC runtime linking and bundling options (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/issues/15372\"\u003e#15372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/b15b859cf636ba08abd44dcfb3d4b08e2e7fa0a4\"\u003e\u003ccode\u003eb15b859\u003c/code\u003e\u003c/a\u003e refactor: make error dialog take \u003ccode\u003e\u0026amp;'static str\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/issues/15369\"\u003e#15369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/0e8e25f001d5c6eae32a5f47c7e4365a318f2c59\"\u003e\u003ccode\u003e0e8e25f\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency rollup to v4.60.3 (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/issues/15355\"\u003e#15355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/e5ae5b93cdd310045191cc0526f253140ad64b87\"\u003e\u003ccode\u003ee5ae5b9\u003c/code\u003e\u003c/a\u003e chore: fix changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tauri-apps/tauri/compare/@tauri-apps/cli-v2.10.1...@tauri-apps/cli-v2.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/bun` from 1.3.13 to 1.3.14\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/bun\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitejs/plugin-vue` from 6.0.6 to 6.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite-plugin-vue/releases\"\u003e@​vitejs/plugin-vue's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eplugin-vue@6.0.7\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite-plugin-vue/blob/plugin-vue@6.0.7/packages/plugin-vue/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite-plugin-vue/blob/main/packages/plugin-vue/CHANGELOG.md\"\u003e@​vitejs/plugin-vue's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/compare/plugin-vue@6.0.6...plugin-vue@6.0.7\"\u003e6.0.7\u003c/a\u003e (2026-05-15)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003euse carets for \u003ccode\u003e@rolldown/pluginutils\u003c/code\u003e version (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-vue/issues/776\"\u003e#776\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/commit/941b651d8329559fce9231aad4e178f54cccb013\"\u003e941b651\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update all non-major dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-vue/issues/762\"\u003e#762\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/commit/9e825b85ebe9b6006dc5927aaa8aabc0bcc7eceb\"\u003e9e825b8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update all non-major dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-vue/issues/774\"\u003e#774\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/commit/77dc8bc935216bb7ed13f1c2653a80ffdc99fd45\"\u003e77dc8bc\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/vitejs/vite-plugin-vue/commit/f93acebe8f0c73a9558bd52baf6fd4cabe986213\"\u003e\u003ccode\u003ef93aceb\u003c/code\u003e\u003c/a\u003e release: plugin-vue@6.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/commit/941b651d8329559fce9231aad4e178f54cccb013\"\u003e\u003ccode\u003e941b651\u003c/code\u003e\u003c/a\u003e feat: use carets for \u003ccode\u003e@rolldown/pluginutils\u003c/code\u003e version (\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue/issues/776\"\u003e#776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/commit/77dc8bc935216bb7ed13f1c2653a80ffdc99fd45\"\u003e\u003ccode\u003e77dc8bc\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue/issues/774\"\u003e#774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/commit/9e825b85ebe9b6006dc5927aaa8aabc0bcc7eceb\"\u003e\u003ccode\u003e9e825b8\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue/issues/762\"\u003e#762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitejs/vite-plugin-vue/commits/plugin-vue@6.0.7/packages/plugin-vue\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/coverage-v8` from 4.1.5 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/coverage-v8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/ui` from 4.1.5 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/ui\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vue/test-utils` from 2.4.6 to 2.4.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vuejs/test-utils/releases\"\u003e@​vue/test-utils's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.10\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vuejs/test-utils/compare/v2.4.9...v2.4.10\"\u003ecompare changes\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRestore text()/html() for single-root components (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/pull/2835\"\u003e#2835\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCédric Exbrayat (\u003ca href=\"https://github.com/cexbrayat\"\u003e\u003ccode\u003e@​cexbrayat\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLorenz van Herwaarden (\u003ca href=\"https://github.com/lorenzvanherwaarden\"\u003e\u003ccode\u003e@​lorenzvanherwaarden\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.4.9\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vuejs/test-utils/compare/v2.4.8...v2.4.9\"\u003ecompare changes\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTolerate duplicate attachTo cleanup (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/pull/2830\"\u003e#2830\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📖 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDocument release process (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/pull/2834\"\u003e#2834\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🏡 Chore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate renovate config (\u003ca href=\"https://github.com/vuejs/test-utils/commit/5d37934\"\u003e5d37934\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🤖 CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePin github actions to commit hashes (\u003ca href=\"https://github.com/vuejs/test-utils/commit/75dcef3\"\u003e75dcef3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCédric Exbrayat (\u003ca href=\"https://github.com/cexbrayat\"\u003e\u003ccode\u003e@​cexbrayat\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDaniel Roe (\u003ca href=\"https://github.com/danielroe\"\u003e\u003ccode\u003e@​danielroe\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.4.8\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vuejs/test-utils/compare/v2.4.7...v2.4.8\"\u003ecompare changes\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect declaration entrypoint (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/pull/2826\"\u003e#2826\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🤖 CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable pkg.pr.new (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/pull/2827\"\u003e#2827\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCédric Exbrayat (\u003ca href=\"https://github.com/cexbrayat\"\u003e\u003ccode\u003e@​cexbrayat\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDaniel Roe (\u003ca href=\"https://github.com/danielroe\"\u003e\u003ccode\u003e@​danielroe\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/vuejs/test-utils/commit/3e1f3e36367202d768e72e77fb73a47dbd003d9e\"\u003e\u003ccode\u003e3e1f3e3\u003c/code\u003e\u003c/a\u003e v2.4.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/test-utils/commit/3eb4989b2345f039bdd35bd15927f741ce094e2e\"\u003e\u003ccode\u003e3eb4989\u003c/code\u003e\u003c/a\u003e fix: restore text()/html() for single-root components (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/issues/2835\"\u003e#2835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/test-utils/commit/5f0d0f5438695aea021bbcc1c1e0c32ac2950344\"\u003e\u003ccode\u003e5f0d0f5\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency oxfmt to v0.47.0 (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/issues/2836\"\u003e#2836\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/test-utils/commit/d8b6fc73be32589b3fab8c99ad8d5d0c3d538fca\"\u003e\u003ccode\u003ed8b6fc7\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pkg-pr-new to v0.0.67 (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/issues/2833\"\u003e#2833\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/test-utils/commit/b6b9d0b74a6dce116805673e79969fbbec936614\"\u003e\u003ccode\u003eb6b9d0b\u003c/code\u003e\u003c/a\u003e v2.4.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/test-utils/commit/c67b3dc05be0c2858ba9f01ff4fc6c8da2ea26e0\"\u003e\u003ccode\u003ec67b3dc\u003c/code\u003e\u003c/a\u003e docs: document release process (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/issues/2834\"\u003e#2834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/test-utils/commit/9a14e1af52232b67893480864a76306be311b717\"\u003e\u003ccode\u003e9a14e1a\u003c/code\u003e\u003c/a\u003e fix: tolerate duplicate attachTo cleanup (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/issues/2830\"\u003e#2830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/test-utils/commit/d84c668ac65df5487b5b3331f6731ecfe3038e4e\"\u003e\u003ccode\u003ed84c668\u003c/code\u003e\u003c/a\u003e chore(deps): update all non-major dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/test-utils/commit/75dcef3afac89260bf53c20307c6c35b0e7c24a0\"\u003e\u003ccode\u003e75dcef3\u003c/code\u003e\u003c/a\u003e ci: pin github actions to commit hashes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/test-utils/commit/5d379343de50fc0cdeb5a0e70bfd73ebbde76991\"\u003e\u003ccode\u003e5d37934\u003c/code\u003e\u003c/a\u003e chore: migrate renovate config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vuejs/test-utils/compare/v2.4.6...v2.4.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​vue/test-utils\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `daisyui` from 5.5.19 to 5.5.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/saadeghi/daisyui/releases\"\u003edaisyui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.5.20\u003c/h2\u003e\n\u003cp\u003e🌼 Read changelog: \u003ca href=\"https://daisyui.com/docs/changelog/\"\u003ehttps://daisyui.com/docs/changelog/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e📦 Install this update:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003enpm i -D daisyui@5.5.20\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e💚 Thank you for using daisyUI!\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/saadeghi/daisyui/blob/master/CHANGELOG.md\"\u003edaisyui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.5.20 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edropdown animation inside a modal (\u003ca href=\"https://redirect.github.com/saadeghi/daisyui/issues/4526\"\u003e#4526\u003c/a\u003e) (\u003ca href=\"https://github.com/saadeghi/daisyui/commit/568d85f6ec4d84a16244ac4c986fa20a976aca1e\"\u003e568d85f\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/saadeghi/daisyui/commit/22ecff57f2c391b80a75617325748cf4d13fdf47\"\u003e\u003ccode\u003e22ecff5\u003c/code\u003e\u003c/a\u003e chore(release): 5.5.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/saadeghi/daisyui/commit/568d85f6ec4d84a16244ac4c986fa20a976aca1e\"\u003e\u003ccode\u003e568d85f\u003c/code\u003e\u003c/a\u003e fix: dropdown animation inside a modal (\u003ca href=\"https://github.com/saadeghi/daisyui/tree/HEAD/packages/daisyui/issues/4526\"\u003e#4526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/saadeghi/daisyui/commits/v5.5.20/packages/daisyui\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 29.0.2 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v29.0.2...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tailwindcss` from 4.2.4 to 4.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003etailwindcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003etailwindcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.3.0] - 2026-05-08\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\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/tailwindlabs/tailwindcss/commit/588bd7371f4cae96426e1387819b7fd1d99765f9\"\u003e\u003ccode\u003e588bd73\u003c/code\u003e\u003c/a\u003e 4.3.0 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20023\"\u003e#20023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/59936c6cbb69eae114bc52d0a3c9315b18c70a94\"\u003e\u003ccode\u003e59936c6\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/90a2373620200bf7e04d1d228a0d0a1c506e532a\"\u003e\u003ccode\u003e90a2373\u003c/code\u003e\u003c/a\u003e add \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/2e1ccf7f115732032d2b079073dcb0009baf82a0\"\u003e\u003ccode\u003e2e1ccf7\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/754e7512ca51db1f922dc67724cf85a0fde923a9\"\u003e\u003ccode\u003e754e751\u003c/code\u003e\u003c/a\u003e Use non-existing example in tests (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20021\"\u003e#20021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/12eb5ae7b6026ff64c04f889b2221418d772da72\"\u003e\u003ccode\u003e12eb5ae\u003c/code\u003e\u003c/a\u003e Cleanup noisy test output (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/4255671c5f792c42808ecd6b2dec27c16e3c559e\"\u003e\u003ccode\u003e4255671\u003c/code\u003e\u003c/a\u003e Improve snapshot tests (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20013\"\u003e#20013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/8c779899bbc94f9f642db47cafdd363dd094984a\"\u003e\u003ccode\u003e8c77989\u003c/code\u003e\u003c/a\u003e Ensure math operators are surrounded by whitespace in arbitrary values (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/b4db3b99d1bc6209a936df34914e0fc34b3e5...\n\n_Description has been truncated_","html_url":"https://github.com/pilgrimlyieu/Focust/pull/80","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pilgrimlyieu%2FFocust/issues/80","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/80/packages"},{"uuid":"4556804827","node_id":"PR_kwDOSA8ZV87hDcsa","number":5,"state":"closed","title":"deps(ui): bump jsdom from 24.1.3 to 29.1.1 in /ui","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-31T07:07:58.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-31T06:43:12.000Z","updated_at":"2026-05-31T07:08:00.000Z","time_to_close":1486,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(ui)","packages":[{"name":"jsdom","old_version":"24.1.3","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":"/ui","ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 24.1.3 to 29.1.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v24.1.3...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=24.1.3\u0026new-version=29.1.1)](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/loopgap/HAL-Proxy-build-by-go/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/loopgap%2FHAL-Proxy-build-by-go/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"4555545446","node_id":"PR_kwDOQv1DUM7g_vME","number":171,"state":"closed","title":"chore(deps-dev): bump the development-dependencies group across 1 directory with 29 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-05-30T23:14:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-30T20:06:05.000Z","updated_at":"2026-05-30T23:14:44.000Z","time_to_close":11318,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"development-dependencies","update_count":29,"packages":[{"name":"@playwright/test","old_version":"1.58.2","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"@tailwindcss/postcss","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@tailwindcss/vite","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@tanstack/react-query-devtools","old_version":"5.91.3","new_version":"5.100.14","repository_url":"https://github.com/TanStack/query"},{"name":"@types/node","old_version":"20.19.35","new_version":"20.19.41","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.56.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.56.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitejs/plugin-react","old_version":"5.1.4","new_version":"6.0.2","repository_url":"https://github.com/vitejs/vite-plugin-react"},{"name":"@vitest/coverage-v8","old_version":"4.0.18","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/ui","old_version":"4.0.18","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"autoprefixer","old_version":"10.4.27","new_version":"10.5.0","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"dotenv","old_version":"17.3.1","new_version":"17.4.2","repository_url":"https://github.com/motdotla/dotenv"},{"name":"drizzle-kit","old_version":"0.31.9","new_version":"0.31.10","repository_url":"https://github.com/drizzle-team/drizzle-orm"},{"name":"eslint","old_version":"10.0.2","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-react-hooks","old_version":"7.0.1","new_version":"7.1.1","repository_url":"https://github.com/facebook/react"},{"name":"fast-check","old_version":"4.5.3","new_version":"4.8.0","repository_url":"https://github.com/dubzzz/fast-check"},{"name":"globals","old_version":"17.4.0","new_version":"17.6.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"happy-dom","old_version":"20.7.0","new_version":"20.9.0","repository_url":"https://github.com/capricorn86/happy-dom"},{"name":"jsdom","old_version":"28.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"lint-staged","old_version":"16.3.1","new_version":"17.0.6","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"rollup","old_version":"4.59.0","new_version":"4.60.4","repository_url":"https://github.com/rollup/rollup"},{"name":"turbo","old_version":"2.8.12","new_version":"2.9.16","repository_url":"https://github.com/vercel/turborepo"},{"name":"typescript-eslint","old_version":"8.56.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"vite","old_version":"7.3.1","new_version":"8.0.14","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"4.0.18","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 26 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.58.2` | `1.60.0` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.1` | `4.3.0` |\n| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.2.1` | `4.3.0` |\n| [@tanstack/react-query-devtools](https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools) | `5.91.3` | `5.100.14` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `20.19.35` | `20.19.41` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.56.1` | `8.60.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.56.1` | `8.60.0` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `5.1.4` | `6.0.2` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.0.18` | `4.1.7` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `4.0.18` | `4.1.7` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.27` | `10.5.0` |\n| [dotenv](https://github.com/motdotla/dotenv) | `17.3.1` | `17.4.2` |\n| [drizzle-kit](https://github.com/drizzle-team/drizzle-orm) | `0.31.9` | `0.31.10` |\n| [eslint](https://github.com/eslint/eslint) | `10.0.2` | `10.4.1` |\n| [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) | `7.0.1` | `7.1.1` |\n| [fast-check](https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check) | `4.5.3` | `4.8.0` |\n| [globals](https://github.com/sindresorhus/globals) | `17.4.0` | `17.6.0` |\n| [happy-dom](https://github.com/capricorn86/happy-dom) | `20.7.0` | `20.9.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `28.1.0` | `29.1.1` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.3.1` | `17.0.6` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [rollup](https://github.com/rollup/rollup) | `4.59.0` | `4.60.4` |\n| [turbo](https://github.com/vercel/turborepo) | `2.8.12` | `2.9.16` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.56.1` | `8.60.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `7.3.1` | `8.0.14` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.18` | `4.1.7` |\n\n\nUpdates `@playwright/test` from 1.58.2 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e@​playwright/test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛑 test.abort()\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-test#test-abort\"\u003etest.abort()\u003c/a\u003e aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003etest('does not publish to the shared page', async ({ page }) =\u0026gt; {\r\n  await page.route('**/publish', route =\u0026gt; {\r\n    test.abort('Tests must not publish to the shared page. Use the `clone` option.');\r\n    return route.abort();\r\n  });\r\n  // ...\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eNew APIs\u003c/h2\u003e\n\u003ch3\u003eBrowser, Context and Page\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/microsoft/playwright/commit/87bb9ddbd78f329df18c2b24847bc9409240cd07\"\u003e\u003ccode\u003e87bb9dd\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40747\"\u003e#40747\u003c/a\u003e): fix(yauzl): vendor yauzl with destroy-lifecycle fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9a9c51cb7d1b39fab51ca288e59f8ca38fd19910\"\u003e\u003ccode\u003e9a9c51c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40733\"\u003e#40733\u003c/a\u003e): chore(electron): revert \u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40184\"\u003e#40184\u003c/a\u003e (move Electron API to a s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/4b3b628663031bcaaeca907e337892263524634d\"\u003e\u003ccode\u003e4b3b628\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40736\"\u003e#40736\u003c/a\u003e): Revert \u0026quot;feat(electron): add timeout option to electronAp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f869f96bbe6607cc3b88b4ca96fd82f17b301b50\"\u003e\u003ccode\u003ef869f96\u003c/code\u003e\u003c/a\u003e chore: bump version to v1.60.0 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40714\"\u003e#40714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/7eb6918afadfb0dd5c7e94ca9ffbddd84d8fbb39\"\u003e\u003ccode\u003e7eb6918\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40710\"\u003e#40710\u003c/a\u003e): docs: release notes v1.60\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/118d2aa6076d82840decca15d96b48611b08e392\"\u003e\u003ccode\u003e118d2aa\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40693\"\u003e#40693\u003c/a\u003e): chore(python): formdata path type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/54012f5dcc586da2e5d6cccd75f13ca367b94579\"\u003e\u003ccode\u003e54012f5\u003c/code\u003e\u003c/a\u003e chore(deps): bump ip-address and express-rate-limit (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40680\"\u003e#40680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9fa531da5677a3807d6e1dccd22c5137339a44f7\"\u003e\u003ccode\u003e9fa531d\u003c/code\u003e\u003c/a\u003e fix(screencast): unblock frame ack when an async client disconnects (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40674\"\u003e#40674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/3649db560ff943e724185784d34f7db131a11961\"\u003e\u003ccode\u003e3649db5\u003c/code\u003e\u003c/a\u003e chore(mcp): bump default extension protocol to v2 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40678\"\u003e#40678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/bb6c00957f47ba04caad7fca75d426309a2d32d4\"\u003e\u003ccode\u003ebb6c009\u003c/code\u003e\u003c/a\u003e chore(extension): mark 0.2.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40679\"\u003e#40679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.58.2...v1.60.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/postcss` from 4.2.1 to 4.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003e@​tailwindcss/postcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalizations for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: ensure files are not emptied out when killing the upgrade process while it's running (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: use \u003ccode\u003econfig.content\u003c/code\u003e when migrating from Tailwind CSS v3 to Tailwind CSS v4 (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: never migrate files that are ignored by git (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e@​tailwindcss/postcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.3.0] - 2026-05-08\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.4] - 2026-04-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.3] - 2026-04-20\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalization for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\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/tailwindlabs/tailwindcss/commit/588bd7371f4cae96426e1387819b7fd1d99765f9\"\u003e\u003ccode\u003e588bd73\u003c/code\u003e\u003c/a\u003e 4.3.0 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/20023\"\u003e#20023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/12eb5ae7b6026ff64c04f889b2221418d772da72\"\u003e\u003ccode\u003e12eb5ae\u003c/code\u003e\u003c/a\u003e Cleanup noisy test output (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/4255671c5f792c42808ecd6b2dec27c16e3c559e\"\u003e\u003ccode\u003e4255671\u003c/code\u003e\u003c/a\u003e Improve snapshot tests (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/20013\"\u003e#20013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/52f94c74bb491e9c3641ce322a0ef90fb3c45de6\"\u003e\u003ccode\u003e52f94c7\u003c/code\u003e\u003c/a\u003e Improve codebase quality (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19999\"\u003e#19999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d194d4c3e656313421f1cfa1954db8f58eec0fcd\"\u003e\u003ccode\u003ed194d4c\u003c/code\u003e\u003c/a\u003e docs: fix various typos in comments and documentation (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19878\"\u003e#19878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/bfb5732b0b948d89c6803cb537bca168ec8e0a46\"\u003e\u003ccode\u003ebfb5732\u003c/code\u003e\u003c/a\u003e Fall back to the plugin \u003ccode\u003ebase\u003c/code\u003e when PostCSS has no \u003ccode\u003efrom\u003c/code\u003e option (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/3a890c35727fe0630c59b72dbec799d02e3c4800\"\u003e\u003ccode\u003e3a890c3\u003c/code\u003e\u003c/a\u003e Bump dependencies (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19957\"\u003e#19957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/69ad7cc5ec091125842aba783c5bfce536e9c234\"\u003e\u003ccode\u003e69ad7cc\u003c/code\u003e\u003c/a\u003e 4.2.4 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19948\"\u003e#19948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/685c19e266a6b75842747acab6fe7076e82df62d\"\u003e\u003ccode\u003e685c19e\u003c/code\u003e\u003c/a\u003e Fix issue around resolving paths in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/2e3fa490a535a8341fd2853d75098f0d4dbcc825\"\u003e\u003ccode\u003e2e3fa49\u003c/code\u003e\u003c/a\u003e 4.2.3 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19944\"\u003e#19944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/@tailwindcss-postcss\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​tailwindcss/postcss\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/vite` from 4.2.1 to 4.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003e@​tailwindcss/vite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalizations for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: ensure files are not emptied out when killing the upgrade process while it's running (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: use \u003ccode\u003econfig.content\u003c/code\u003e when migrating from Tailwind CSS v3 to Tailwind CSS v4 (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: never migrate files that are ignored by git (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e@​tailwindcss/vite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.3.0] - 2026-05-08\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.4] - 2026-04-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.3] - 2026-04-20\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalization for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\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/tailwindlabs/tailwindcss/commit/588bd7371f4cae96426e1387819b7fd1d99765f9\"\u003e\u003ccode\u003e588bd73\u003c/code\u003e\u003c/a\u003e 4.3.0 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/20023\"\u003e#20023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d194d4c3e656313421f1cfa1954db8f58eec0fcd\"\u003e\u003ccode\u003ed194d4c\u003c/code\u003e\u003c/a\u003e docs: fix various typos in comments and documentation (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19878\"\u003e#19878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/db27049caaae08978995f25b61f8336f543a4640\"\u003e\u003ccode\u003edb27049\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e): include \u003ca href=\"https://github.com/variant\"\u003e\u003ccode\u003e@​variant\u003c/code\u003e\u003c/a\u003e in feature detection (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/5a799900d4b43ca4902398a38c6f0a5b37a98ed9\"\u003e\u003ccode\u003e5a79990\u003c/code\u003e\u003c/a\u003e Always resolve relative files, relative to the current .css file (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/f3fdda2a5cb9de50c897c79003aa58182cd9269b\"\u003e\u003ccode\u003ef3fdda2\u003c/code\u003e\u003c/a\u003e fix(vite): avoid resolving JS plugins to browser CSS entries (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/69ad7cc5ec091125842aba783c5bfce536e9c234\"\u003e\u003ccode\u003e69ad7cc\u003c/code\u003e\u003c/a\u003e 4.2.4 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19948\"\u003e#19948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/685c19e266a6b75842747acab6fe7076e82df62d\"\u003e\u003ccode\u003e685c19e\u003c/code\u003e\u003c/a\u003e Fix issue around resolving paths in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/2e3fa490a535a8341fd2853d75098f0d4dbcc825\"\u003e\u003ccode\u003e2e3fa49\u003c/code\u003e\u003c/a\u003e 4.2.3 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19944\"\u003e#19944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/5cb1efdf416a6d37012d31cc1306c41cb35bbdc1\"\u003e\u003ccode\u003e5cb1efd\u003c/code\u003e\u003c/a\u003e fix(vite): resolve tsconfig paths in CSS and JS resolvers (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19803\"\u003e#19803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d596b0c43d36ad5099c983930fb155e089cbc291\"\u003e\u003ccode\u003ed596b0c\u003c/code\u003e\u003c/a\u003e 4.2.2 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19821\"\u003e#19821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/@tailwindcss-vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tanstack/react-query-devtools` from 5.91.3 to 5.100.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/releases\"\u003e@​tanstack/react-query-devtools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/ed20b6d7541c908033acfcad92b0cd112930d1c3\"\u003e\u003ccode\u003eed20b6d\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/blob/main/packages/react-query-devtools/CHANGELOG.md\"\u003e@​tanstack/react-query-devtools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.100.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/ed20b6d7541c908033acfcad92b0cd112930d1c3\"\u003e\u003ccode\u003eed20b6d\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.10\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/4d130b992d2ac396d75f921bfc530dd3a9d50577\"\u003e\u003ccode\u003e4d130b9\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.10\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.10\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/3d21cacdec3028b700c4c2e3e0ff8dbe7a235e8c\"\u003e\u003ccode\u003e3d21cac\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.8\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/TanStack/query/commit/ba6e7beebd50143408f01fcf5d9aee2ec1486f60\"\u003e\u003ccode\u003eba6e7be\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10767\"\u003e#10767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/05cf2bc0a4eae64959dc8a40152e2878190c971b\"\u003e\u003ccode\u003e05cf2bc\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10758\"\u003e#10758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/5ff4f6936bb66a64267eb4413430f956eecf7248\"\u003e\u003ccode\u003e5ff4f69\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10755\"\u003e#10755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/3e85350749751eef055fffb65f6838dfafa74891\"\u003e\u003ccode\u003e3e85350\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10706\"\u003e#10706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/9d2692cec4d538c2f96489027ba546f11638dfb1\"\u003e\u003ccode\u003e9d2692c\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10695\"\u003e#10695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/74fa05eb1b16f40ea7068afd0e5e082687d22338\"\u003e\u003ccode\u003e74fa05e\u003c/code\u003e\u003c/a\u003e chore(tsconfig.json): narrow 'include' pattern to prevent TS6053 race conditi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/8c3d523d0ab0b3f8fad28fbaae6807e7aca7eb54\"\u003e\u003ccode\u003e8c3d523\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10630\"\u003e#10630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/03eba38ae9f9367022316d802d827a8460edcab7\"\u003e\u003ccode\u003e03eba38\u003c/code\u003e\u003c/a\u003e test(react-query-devtools): add tests for missing 'QueryClient', context prov...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/9800c8f1a3f7907956410c23426a26d981e7d694\"\u003e\u003ccode\u003e9800c8f\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10623\"\u003e#10623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/3ae42619e5713b2fd6916760e84f7c9ddaa7a317\"\u003e\u003ccode\u003e3ae4261\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10620\"\u003e#10620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TanStack/query/commits/@tanstack/react-query-devtools@5.100.14/packages/react-query-devtools\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 20.19.35 to 20.19.41\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.56.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\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/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-deprecated] object destructuring values should be treated as declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12292\"\u003e#12292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-type-assertion] handle crash on recursive template literal types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12150\"\u003e#12150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDima Barabash\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4302433ae6bf93d4ddc35264ad1b951254758566\"\u003e\u003ccode\u003e4302433\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-floating-promises] stack overflow when using recursiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/10b79f1ba8e98610a3af85152a1b3b406f91e633\"\u003e\u003ccode\u003e10b79f1\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint to v10.4.0 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12339\"\u003e#12339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2a6765d9628dc776f8127c96f088bb807c0bcab2\"\u003e\u003ccode\u003e2a6765d\u003c/code\u003e\u003c/a\u003e chore: clenaup \u003ccode\u003egetAwaitedType\u003c/code\u003e from \u003ccode\u003etypescript.d.ts\u003c/code\u003e (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12302\"\u003e#12302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e26dc8003ababf078aad4df17765ee4cea30644c\"\u003e\u003ccode\u003ee26dc80\u003c/code\u003e\u003c/a\u003e docs: update stale links to latest (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12313\"\u003e#12313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ec3ef25390f7daf5a9ff33a60282bdbbb49ab0f3\"\u003e\u003ccode\u003eec3ef25\u003c/code\u003e\u003c/a\u003e test: make no-useless-empty-export tests fully static (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12260\"\u003e#12260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/eslint-plugin\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/parser` from 8.56.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.c...\n\n_Description has been truncated_","html_url":"https://github.com/brandonlacoste9-tech/ZyeuteV5/pull/171","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/brandonlacoste9-tech%2FZyeuteV5/issues/171","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/171/packages"},{"uuid":"4555282181","node_id":"PR_kwDOA1ZbbM7g-7mt","number":56,"state":"closed","title":"Bump qs and jsdom","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-30T18:32:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-30T18:26:53.000Z","updated_at":"2026-05-30T18:32:47.000Z","time_to_close":353,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"qs","repository_url":"https://github.com/ljharb/qs","old_version":null,"new_version":null,"is_removal":true},{"name":"jsdom","repository_url":"https://github.com/jsdom/jsdom","old_version":"11.5.1","new_version":"29.1.1"}],"path":null,"ecosystem":"npm"},"body":"Removes [qs](https://github.com/ljharb/qs). It's no longer used after updating ancestor dependency [jsdom](https://github.com/jsdom/jsdom). These dependencies need to be updated together.\n\nRemoves `qs`\n\nUpdates `jsdom` from 11.5.1 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v11.5.1...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Automattic/customize-direct-manipulation/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Automattic/customize-direct-manipulation/pull/56","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fcustomize-direct-manipulation/issues/56","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/56/packages"},{"uuid":"4555092804","node_id":"PR_kwDOQCbADs7g-YZJ","number":55,"state":"open","title":"chore(deps-dev): bump the development-minor-patch group across 1 directory with 8 updates","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-05-30T17:07:32.000Z","updated_at":"2026-05-30T17:08:55.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"development-minor-patch","update_count":8,"packages":[{"name":"@biomejs/biome","old_version":"2.4.13","new_version":"2.4.15","repository_url":"https://github.com/biomejs/biome"},{"name":"@types/node","old_version":"25.6.0","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"tsx","old_version":"4.21.0","new_version":"4.22.3","repository_url":"https://github.com/privatenumber/tsx"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@types/vscode","old_version":"1.116.0","new_version":"1.120.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/ui","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"jsdom","old_version":"29.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-minor-patch group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) | `2.4.13` | `2.4.15` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.0` | `25.9.1` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.7` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.22.3` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.7` |\n| [@types/vscode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/vscode) | `1.116.0` | `1.120.0` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `4.1.5` | `4.1.7` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.1.0` | `29.1.1` |\n\n\nUpdates `@biomejs/biome` from 2.4.13 to 2.4.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/biomejs/biome/releases\"\u003e@​biomejs/biome's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBiome CLI v2.4.15\u003c/h2\u003e\n\u003ch2\u003e2.4.15\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9394\"\u003e#9394\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/ba3480e62da6ac7f0f9d99126f1459a72306368b\"\u003e\u003ccode\u003eba3480e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-test-hooks-in-order\"\u003e\u003ccode\u003euseTestHooksInOrder\u003c/code\u003e\u003c/a\u003e in the \u003ccode\u003etest\u003c/code\u003e domain. The rule enforces that Jest/Vitest lifecycle hooks (\u003ccode\u003ebeforeAll\u003c/code\u003e, \u003ccode\u003ebeforeEach\u003c/code\u003e, \u003ccode\u003eafterEach\u003c/code\u003e, \u003ccode\u003eafterAll\u003c/code\u003e) are declared in the order they execute, making test setup and teardown easier to reason about.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10254\"\u003e#10254\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/e0a54ccc0a0c892fff2270ae772bcecf0d34e79a\"\u003e\u003ccode\u003ee0a54cc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-vue-next-tick-promise/\"\u003e\u003ccode\u003euseVueNextTickPromise\u003c/code\u003e\u003c/a\u003e, which enforces Promise syntax when using Vue \u003ccode\u003enextTick\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { nextTick } from \u0026quot;vue\u0026quot;;\n\u003cp\u003enextTick(() =\u0026gt; {\nupdateDom();\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10219\"\u003e#10219\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/64aee454ac2db2ade31089c1438dd761c94a8d57\"\u003e\u003ccode\u003e64aee45\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-vue-v-on-number-values/\"\u003e\u003ccode\u003enoVueVOnNumberValues\u003c/code\u003e\u003c/a\u003e, that disallows deprecated number modifiers on Vue \u003ccode\u003ev-on\u003c/code\u003e directives.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule:\u003c/p\u003e\n\u003cpre lang=\"vue\"\u003e\u003ccode\u003e\u0026lt;input @keyup.13=\u0026quot;submit\u0026quot; /\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10195\"\u003e#10195\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/7b8d4e161a225f14bc9e070e04cc8572ee988bb2\"\u003e\u003ccode\u003e7b8d4e1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-vue-valid-v-for/\"\u003e\u003ccode\u003euseVueValidVFor\u003c/code\u003e\u003c/a\u003e, which validates Vue \u003ccode\u003ev-for\u003c/code\u003e directives and reports invalid aliases, missing component keys, and keys that do not use iteration variables.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10238\"\u003e#10238\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1110256c6d60500ebc05b9d2738fe77345c7ffd6\"\u003e\u003ccode\u003e1110256\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the recommended nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-vue-import-compiler-macros/\"\u003e\u003ccode\u003enoVueImportCompilerMacros\u003c/code\u003e\u003c/a\u003e, which disallows importing Vue compiler macros such as \u003ccode\u003edefineProps\u003c/code\u003e from \u003ccode\u003evue\u003c/code\u003e because they are automatically available.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10201\"\u003e#10201\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1a08f89df55eafe1d8463696d1be53f8dea90a80\"\u003e\u003ccode\u003e1a08f89\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/realknove\"\u003e\u003ccode\u003e@​realknove\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10193\"\u003e#10193\u003c/a\u003e: \u003ccode\u003estyle/useReadonlyClassProperties\u003c/code\u003e no longer reports class properties as readonly-able when they are assigned inside arrow callbacks nested in class property initializers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9574\"\u003e#9574\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/3bd2b6adf0be44eda922ad7610781dd2e387bdb6\"\u003e\u003ccode\u003e3bd2b6a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/9530\"\u003e#9530\u003c/a\u003e. The diagnostics of \u003ca href=\"https://biomejs.dev/assist/actions/organize-imports/\"\u003e\u003ccode\u003eorganizeImports\u003c/code\u003e\u003c/a\u003e are now more detailed and more precise. They are also better at localizing where the issue is.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10205\"\u003e#10205\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/a704a6c40392e71aad5127ab35c771486116937e\"\u003e\u003ccode\u003ea704a6c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10185\"\u003e#10185\u003c/a\u003e. \u003ca href=\"https://biomejs.dev/assist/actions/organize-imports/\"\u003e`organizeImports\u003c/a\u003e now errors when it encounters an unknown predefined group.\u003c/p\u003e\n\u003cp\u003eThe following configuration is now reported as invalid because \u003ccode\u003e:INEXISTENT:\u003c/code\u003e is an unknown predefined group.\u003c/p\u003e\n\u003cpre lang=\"json\"\u003e\u003ccode\u003e{\n  \u0026quot;assist\u0026quot;: {\n    \u0026quot;actions\u0026quot;: {\n      \u0026quot;source\u0026quot;: {\n        \u0026quot;organizeImports\u0026quot;: { \u0026quot;options\u0026quot;: { \u0026quot;groups\u0026quot;: [\u0026quot;:INEXISTENT:\u0026quot;] } }\n      }\n    }\n  }\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md\"\u003e@​biomejs/biome's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.15\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9394\"\u003e#9394\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/ba3480e62da6ac7f0f9d99126f1459a72306368b\"\u003e\u003ccode\u003eba3480e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-test-hooks-in-order\"\u003e\u003ccode\u003euseTestHooksInOrder\u003c/code\u003e\u003c/a\u003e in the \u003ccode\u003etest\u003c/code\u003e domain. The rule enforces that Jest/Vitest lifecycle hooks (\u003ccode\u003ebeforeAll\u003c/code\u003e, \u003ccode\u003ebeforeEach\u003c/code\u003e, \u003ccode\u003eafterEach\u003c/code\u003e, \u003ccode\u003eafterAll\u003c/code\u003e) are declared in the order they execute, making test setup and teardown easier to reason about.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10254\"\u003e#10254\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/e0a54ccc0a0c892fff2270ae772bcecf0d34e79a\"\u003e\u003ccode\u003ee0a54cc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-vue-next-tick-promise/\"\u003e\u003ccode\u003euseVueNextTickPromise\u003c/code\u003e\u003c/a\u003e, which enforces Promise syntax when using Vue \u003ccode\u003enextTick\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { nextTick } from \u0026quot;vue\u0026quot;;\n\u003cp\u003enextTick(() =\u0026gt; {\nupdateDom();\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10219\"\u003e#10219\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/64aee454ac2db2ade31089c1438dd761c94a8d57\"\u003e\u003ccode\u003e64aee45\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-vue-v-on-number-values/\"\u003e\u003ccode\u003enoVueVOnNumberValues\u003c/code\u003e\u003c/a\u003e, that disallows deprecated number modifiers on Vue \u003ccode\u003ev-on\u003c/code\u003e directives.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule:\u003c/p\u003e\n\u003cpre lang=\"vue\"\u003e\u003ccode\u003e\u0026lt;input @keyup.13=\u0026quot;submit\u0026quot; /\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10195\"\u003e#10195\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/7b8d4e161a225f14bc9e070e04cc8572ee988bb2\"\u003e\u003ccode\u003e7b8d4e1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-vue-valid-v-for/\"\u003e\u003ccode\u003euseVueValidVFor\u003c/code\u003e\u003c/a\u003e, which validates Vue \u003ccode\u003ev-for\u003c/code\u003e directives and reports invalid aliases, missing component keys, and keys that do not use iteration variables.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10238\"\u003e#10238\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1110256c6d60500ebc05b9d2738fe77345c7ffd6\"\u003e\u003ccode\u003e1110256\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the recommended nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-vue-import-compiler-macros/\"\u003e\u003ccode\u003enoVueImportCompilerMacros\u003c/code\u003e\u003c/a\u003e, which disallows importing Vue compiler macros such as \u003ccode\u003edefineProps\u003c/code\u003e from \u003ccode\u003evue\u003c/code\u003e because they are automatically available.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10201\"\u003e#10201\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1a08f89df55eafe1d8463696d1be53f8dea90a80\"\u003e\u003ccode\u003e1a08f89\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/realknove\"\u003e\u003ccode\u003e@​realknove\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10193\"\u003e#10193\u003c/a\u003e: \u003ccode\u003estyle/useReadonlyClassProperties\u003c/code\u003e no longer reports class properties as readonly-able when they are assigned inside arrow callbacks nested in class property initializers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9574\"\u003e#9574\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/3bd2b6adf0be44eda922ad7610781dd2e387bdb6\"\u003e\u003ccode\u003e3bd2b6a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/9530\"\u003e#9530\u003c/a\u003e. The diagnostics of \u003ca href=\"https://biomejs.dev/assist/actions/organize-imports/\"\u003e\u003ccode\u003eorganizeImports\u003c/code\u003e\u003c/a\u003e are now more detailed and more precise. They are also better at localizing where the issue is.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10205\"\u003e#10205\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/a704a6c40392e71aad5127ab35c771486116937e\"\u003e\u003ccode\u003ea704a6c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10185\"\u003e#10185\u003c/a\u003e. \u003ca href=\"https://biomejs.dev/assist/actions/organize-imports/\"\u003e`organizeImports\u003c/a\u003e now errors when it encounters an unknown predefined group.\u003c/p\u003e\n\u003cp\u003eThe following configuration is now reported as invalid because \u003ccode\u003e:INEXISTENT:\u003c/code\u003e is an unknown predefined group.\u003c/p\u003e\n\u003cpre lang=\"json\"\u003e\u003ccode\u003e{\n  \u0026quot;assist\u0026quot;: {\n    \u0026quot;actions\u0026quot;: {\n      \u0026quot;source\u0026quot;: {\n        \u0026quot;organizeImports\u0026quot;: { \u0026quot;options\u0026quot;: { \u0026quot;groups\u0026quot;: [\u0026quot;:INEXISTENT:\u0026quot;] } }\n      }\n    }\n  }\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/9dd3271eef16090416b6e77615a01e3bfbcf7993\"\u003e\u003ccode\u003e9dd3271\u003c/code\u003e\u003c/a\u003e ci: release (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10210\"\u003e#10210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/7b8d4e161a225f14bc9e070e04cc8572ee988bb2\"\u003e\u003ccode\u003e7b8d4e1\u003c/code\u003e\u003c/a\u003e feat(lint/html/vue): add \u003ccode\u003euseVueValidVFor\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10195\"\u003e#10195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/ba3480e62da6ac7f0f9d99126f1459a72306368b\"\u003e\u003ccode\u003eba3480e\u003c/code\u003e\u003c/a\u003e feat(lint/js): add \u003ccode\u003euseTestHooksInOrder\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/9394\"\u003e#9394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/e0a54ccc0a0c892fff2270ae772bcecf0d34e79a\"\u003e\u003ccode\u003ee0a54cc\u003c/code\u003e\u003c/a\u003e feat(lint/js/vue): add \u003ccode\u003euseVueNextTickPromise\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10254\"\u003e#10254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/1110256c6d60500ebc05b9d2738fe77345c7ffd6\"\u003e\u003ccode\u003e1110256\u003c/code\u003e\u003c/a\u003e feat(lint/vue): add \u003ccode\u003enoVueImportCompilerMacros\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10238\"\u003e#10238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/7f7419cc831cc0725c44669964d8ad8f318d4375\"\u003e\u003ccode\u003e7f7419c\u003c/code\u003e\u003c/a\u003e fix: grammar in extends docstring (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10263\"\u003e#10263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/0ae58406b4752f296adfccf94b1d2a042c4cddc7\"\u003e\u003ccode\u003e0ae5840\u003c/code\u003e\u003c/a\u003e feat(lint/js): add \u003ccode\u003euseThisForClassMethods\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/9807\"\u003e#9807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/83f7385f14d68704510ea4c028cfa20317698fc0\"\u003e\u003ccode\u003e83f7385\u003c/code\u003e\u003c/a\u003e feat(lint/js): add \u003ccode\u003enoBaseToString\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/64aee454ac2db2ade31089c1438dd761c94a8d57\"\u003e\u003ccode\u003e64aee45\u003c/code\u003e\u003c/a\u003e feat(lint/html/vue): add \u003ccode\u003enoVueVOnNumberValues\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10219\"\u003e#10219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/46393e0240944064eb2a33c1810fc4204ced0cf7\"\u003e\u003ccode\u003e46393e0\u003c/code\u003e\u003c/a\u003e ci: release (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10100\"\u003e#10100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/biomejs/biome/commits/@biomejs/biome@2.4.15/packages/@biomejs/biome\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.6.0 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/coverage-v8` from 4.1.5 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/coverage-v8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tsx` from 4.21.0 to 4.22.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/privatenumber/tsx/releases\"\u003etsx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.22.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.22.2...v4.22.3\"\u003e4.22.3\u003c/a\u003e (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edecode typed loader source (\u003ca href=\"https://github.com/privatenumber/tsx/commit/dce02fc3b8b64a58d24560714902b16f89332f1f\"\u003edce02fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve entrypoint with TypeScript preload hooks (\u003ca href=\"https://github.com/privatenumber/tsx/commit/68f72f3304d8c3ff7048bde8571af9c163fcefa2\"\u003e68f72f3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release is also available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/tsx/v/4.22.3\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.22.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.22.1...v4.22.2\"\u003e4.22.2\u003c/a\u003e (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epreserve CJS JSON require in ESM hooks (\u003ca href=\"https://github.com/privatenumber/tsx/commit/35b700bd8620696df03827068af29dcd0d091a60\"\u003e35b700b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve named exports from CommonJS TypeScript (\u003ca href=\"https://github.com/privatenumber/tsx/commit/11de737dae1fb9dae28db3716df5b1a7e1a6a089\"\u003e11de737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport module.exports require(esm) interop (\u003ca href=\"https://github.com/privatenumber/tsx/commit/cf8f19918e4e0a0dc5ee5c52d8cc15e5e22d7c49\"\u003ecf8f199\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release is also available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/tsx/v/4.22.2\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.22.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.22.0...v4.22.1\"\u003e4.22.1\u003c/a\u003e (2026-05-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eresolve tsconfig path aliases containing a colon (\u003ca href=\"https://redirect.github.com/privatenumber/tsx/issues/780\"\u003e#780\u003c/a\u003e) (\u003ca href=\"https://github.com/privatenumber/tsx/commit/6979f28810829dc79ec9baf406e162a18b65ab4b\"\u003e6979f28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release is also available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/tsx/v/4.22.1\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.22.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.21.1...v4.22.0\"\u003e4.22.0\u003c/a\u003e (2026-05-14)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade esbuild to 0.28 (\u003ca href=\"https://redirect.github.com/privatenumber/tsx/issues/789\"\u003e#789\u003c/a\u003e) (\u003ca href=\"https://github.com/privatenumber/tsx/commit/b29f6ee4d6872fdef474eb0a89c6d4e982478a77\"\u003eb29f6ee\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release is also available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/tsx/v/4.22.0\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\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/privatenumber/tsx/commit/dce02fc3b8b64a58d24560714902b16f89332f1f\"\u003e\u003ccode\u003edce02fc\u003c/code\u003e\u003c/a\u003e fix: decode typed loader source\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/68f72f3304d8c3ff7048bde8571af9c163fcefa2\"\u003e\u003ccode\u003e68f72f3\u003c/code\u003e\u003c/a\u003e fix: preserve entrypoint with TypeScript preload hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/69455cfefbfe71100a3c58d3ce7cea42445d9113\"\u003e\u003ccode\u003e69455cf\u003c/code\u003e\u003c/a\u003e test: cover package exports for ambiguous ESM reexports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/35b700bd8620696df03827068af29dcd0d091a60\"\u003e\u003ccode\u003e35b700b\u003c/code\u003e\u003c/a\u003e fix: preserve CJS JSON require in ESM hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/ef807dba6832260fb4cafd78d81f5469a733966b\"\u003e\u003ccode\u003eef807db\u003c/code\u003e\u003c/a\u003e chore: update testing dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/3917090d4f61863ea6ea16e4a9a3722a112cc3f7\"\u003e\u003ccode\u003e3917090\u003c/code\u003e\u003c/a\u003e test: document compatibility test taxonomy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/de8113ffa8edbcd4e05fa218324c3e8c2a4afdbe\"\u003e\u003ccode\u003ede8113f\u003c/code\u003e\u003c/a\u003e refactor: centralize Node capability facts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/c1f62db45ada60b24ceb3dfdf7f64173d9a15396\"\u003e\u003ccode\u003ec1f62db\u003c/code\u003e\u003c/a\u003e test: consolidate tsconfig path edge coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/4e08174ec10276ac71c9a69eb28426ad702d0c76\"\u003e\u003ccode\u003e4e08174\u003c/code\u003e\u003c/a\u003e test: consolidate loader hook coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/674bb30bc87ce00b36e9c820d47394defba9ae36\"\u003e\u003ccode\u003e674bb30\u003c/code\u003e\u003c/a\u003e test: consolidate tsImport commonjs mts coverage\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.21.0...v4.22.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for tsx since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 4.1.5 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003evitest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/vitest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/vscode` from 1.116.0 to 1.120.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/vscode\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/ui` from 4.1.5 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/ui\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 29.1.0 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v29.1.0...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more 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/rolandzwaga/eligian/pull/55","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolandzwaga%2Feligian/issues/55","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/55/packages"},{"uuid":"4554220548","node_id":"PR_kwDOQxBvIc7g7ygQ","number":246,"state":"open","title":"chore(deps-dev): bump the npm-dev group with 13 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-30T11:19:26.000Z","updated_at":"2026-05-30T11:21:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"npm-dev","update_count":13,"packages":[{"name":"@typescript-eslint/eslint-plugin","old_version":"8.59.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.59.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/coverage-v8","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"globals","old_version":"17.5.0","new_version":"17.6.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"turbo","old_version":"2.9.6","new_version":"2.9.16","repository_url":"https://github.com/vercel/turborepo"},{"name":"jsdom","old_version":"29.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@types/node","old_version":"25.6.0","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitejs/plugin-react","old_version":"6.0.1","new_version":"6.0.2","repository_url":"https://github.com/vitejs/vite-plugin-react"},{"name":"vite","old_version":"8.0.10","new_version":"8.0.14","repository_url":"https://github.com/vitejs/vite"},{"name":"vite-plugin-dts","old_version":"5.0.0","new_version":"5.0.1","repository_url":"https://github.com/qmhc/unplugin-dts"},{"name":"@playwright/test","old_version":"1.59.1","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"vite-plugin-pwa","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/vite-pwa/vite-plugin-pwa"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-dev group with 13 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.59.1` | `8.60.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.59.1` | `8.60.0` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.7` |\n| [globals](https://github.com/sindresorhus/globals) | `17.5.0` | `17.6.0` |\n| [turbo](https://github.com/vercel/turborepo) | `2.9.6` | `2.9.16` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.1.0` | `29.1.1` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.7` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.0` | `25.9.1` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.10` | `8.0.14` |\n| [vite-plugin-dts](https://github.com/qmhc/unplugin-dts/tree/HEAD/packages/vite-plugin-dts) | `5.0.0` | `5.0.1` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.59.1` | `1.60.0` |\n| [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) | `1.2.0` | `1.3.0` |\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.59.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\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/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-deprecated] object destructuring values should be treated as declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12292\"\u003e#12292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-type-assertion] handle crash on recursive template literal types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12150\"\u003e#12150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDima Barabash\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\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/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4302433ae6bf93d4ddc35264ad1b951254758566\"\u003e\u003ccode\u003e4302433\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-floating-promises] stack overflow when using recursiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/10b79f1ba8e98610a3af85152a1b3b406f91e633\"\u003e\u003ccode\u003e10b79f1\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint to v10.4.0 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12339\"\u003e#12339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2a6765d9628dc776f8127c96f088bb807c0bcab2\"\u003e\u003ccode\u003e2a6765d\u003c/code\u003e\u003c/a\u003e chore: clenaup \u003ccode\u003egetAwaitedType\u003c/code\u003e from \u003ccode\u003etypescript.d.ts\u003c/code\u003e (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12302\"\u003e#12302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e26dc8003ababf078aad4df17765ee4cea30644c\"\u003e\u003ccode\u003ee26dc80\u003c/code\u003e\u003c/a\u003e docs: update stale links to latest (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12313\"\u003e#12313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ec3ef25390f7daf5a9ff33a60282bdbbb49ab0f3\"\u003e\u003ccode\u003eec3ef25\u003c/code\u003e\u003c/a\u003e test: make no-useless-empty-export tests fully static (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12260\"\u003e#12260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/eslint-plugin\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/parser` from 8.59.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\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/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\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/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/coverage-v8` from 4.1.5 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/coverage-v8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globals` from 17.5.0 to 17.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/globals/releases\"\u003eglobals's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate globals (2026-05-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/343\"\u003e#343\u003c/a\u003e)  00a4dd9\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\"\u003ehttps://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.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/sindresorhus/globals/commit/6b15870f1c08b60b5b57afe45a703d9ed0be39bc\"\u003e\u003ccode\u003e6b15870\u003c/code\u003e\u003c/a\u003e 17.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/00a4dd9821830a9b044798120e86b1bb1a54648d\"\u003e\u003ccode\u003e00a4dd9\u003c/code\u003e\u003c/a\u003e Update globals (2026-05-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/343\"\u003e#343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo` from 2.9.6 to 2.9.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/turborepo/releases\"\u003eturbo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTurborepo v2.9.16\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.9.15 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12955\"\u003evercel/turborepo#12955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid hanging PTY shutdown by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12958\"\u003evercel/turborepo#12958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Retry npm tlog publish failures by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12959\"\u003evercel/turborepo#12959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.1 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12960\"\u003evercel/turborepo#12960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve nested Bun dependency versions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12963\"\u003evercel/turborepo#12963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;fix: Preserve nested Bun dependency versions\u0026quot; by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12964\"\u003evercel/turborepo#12964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12961\"\u003evercel/turborepo#12961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve nested Bun dependency versions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12965\"\u003evercel/turborepo#12965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Don't delete existing \u003ccode\u003e.git\u003c/code\u003e when using \u003ccode\u003e--no-git\u003c/code\u003e flag by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12968\"\u003evercel/turborepo#12968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16\"\u003ehttps://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.9.16-canary.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.7 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12935\"\u003evercel/turborepo#12935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Restore a few internal invariant checks by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12933\"\u003evercel/turborepo#12933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Improve profile tracing coverage by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12936\"\u003evercel/turborepo#12936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Use build-scale OTel duration buckets by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12939\"\u003evercel/turborepo#12939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve pnpm injected peer package entries by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12940\"\u003evercel/turborepo#12940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add heap allocation profiling by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12943\"\u003evercel/turborepo#12943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.8 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12945\"\u003evercel/turborepo#12945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Correct attribute presence claims in turborepo-otel by \u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12932\"\u003evercel/turborepo#12932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(turbo-codemod): Remove duplicate \u0026quot;in\u0026quot; in transforms path comment by \u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12948\"\u003evercel/turborepo#12948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Switch Geist font imports to npm geist package by \u003ca href=\"https://github.com/christopherkindl\"\u003e\u003ccode\u003e@​christopherkindl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12952\"\u003evercel/turborepo#12952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Respect root gitignore during prune by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12953\"\u003evercel/turborepo#12953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Harden OTEL endpoint validation by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12954\"\u003evercel/turborepo#12954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12955\"\u003evercel/turborepo#12955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid hanging PTY shutdown by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12958\"\u003evercel/turborepo#12958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Retry npm tlog publish failures by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12959\"\u003evercel/turborepo#12959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.1 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12960\"\u003evercel/turborepo#12960\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/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12932\"\u003evercel/turborepo#12932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12948\"\u003evercel/turborepo#12948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/christopherkindl\"\u003e\u003ccode\u003e@​christopherkindl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12952\"\u003evercel/turborepo#12952\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2\"\u003ehttps://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.9.15\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5e2d466c345604aa2011cd2314d176f401f650de\"\u003e\u003ccode\u003e5e2d466\u003c/code\u003e\u003c/a\u003e publish 2.9.16 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/b4aa626ee2316a61d070bcce4038ff26474180ee\"\u003e\u003ccode\u003eb4aa626\u003c/code\u003e\u003c/a\u003e fix: Don't delete existing \u003ccode\u003e.git\u003c/code\u003e when using \u003ccode\u003e--no-git\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12968\"\u003e#12968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/7952b4627d04f1edd7ab9f2262a17c3e49cc1bc8\"\u003e\u003ccode\u003e7952b46\u003c/code\u003e\u003c/a\u003e fix: Preserve nested Bun dependency versions (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12965\"\u003e#12965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5e5b248c188e679616c0d9e23bbe4ed8b46c9c36\"\u003e\u003ccode\u003e5e5b248\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.16-canary.2 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12961\"\u003e#12961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/3b1b6e9655ccafc73b80bca5f8cf815310cb2728\"\u003e\u003ccode\u003e3b1b6e9\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: Preserve nested Bun dependency versions\u0026quot; (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12964\"\u003e#12964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/8d4eaf81af296377e6c7533138b8f8c35b77bd7e\"\u003e\u003ccode\u003e8d4eaf8\u003c/code\u003e\u003c/a\u003e fix: Preserve nested Bun dependency versions (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12963\"\u003e#12963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/2284fa90a3492cd6800567ab2d4946dc5c853c91\"\u003e\u003ccode\u003e2284fa9\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.16-canary.1 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12960\"\u003e#12960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5317f656c7d13c382eb97a6fac786ab8a807295a\"\u003e\u003ccode\u003e5317f65\u003c/code\u003e\u003c/a\u003e fix: Retry npm tlog publish failures (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12959\"\u003e#12959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/52e81bd93645e6d0b7fe44470cb93d4020c3dfd5\"\u003e\u003ccode\u003e52e81bd\u003c/code\u003e\u003c/a\u003e fix: Avoid hanging PTY shutdown (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12958\"\u003e#12958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/c85d4104bdc18df051334210d29c49353c46facf\"\u003e\u003ccode\u003ec85d410\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.15 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12955\"\u003e#12955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.6...v2.9.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 29.1.0 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v29.1.0...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 4.1.5 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003evitest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/vitest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.6.0 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitejs/plugin-react` from 6.0.1 to 6.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite-plugin-react/releases\"\u003e@​vitejs/plugin-react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eplugin-react@6.0.2\u003c/h2\u003e\n\u003ch3\u003eAllow all options in reactCompilerPreset (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1189\"\u003e#1189\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eThis is a type only change. Only \u003ccode\u003ecompilationMode\u003c/code\u003e and \u003ccode\u003etarget\u003c/code\u003e options were available for \u003ccode\u003ereactCompilerPreset\u003c/code\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/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md\"\u003e@​vitejs/plugin-react's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.2 (2026-05-14)\u003c/h2\u003e\n\u003ch3\u003eAllow all options in reactCompilerPreset (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1189\"\u003e#1189\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eThis is a type only change. Only \u003ccode\u003ecompilationMode\u003c/code\u003e and \u003ccode\u003etarget\u003c/code\u003e options were available for \u003ccode\u003ereactCompilerPreset\u003c/code\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/vitejs/vite-plugin-react/commit/6535b55e956b425e6650ffc2cc98fd23cca1d231\"\u003e\u003ccode\u003e6535b55\u003c/code\u003e\u003c/a\u003e release: plugin-react@6.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/bf0e43b756e3be81f8572d59727c218311f431ef\"\u003e\u003ccode\u003ebf0e43b\u003c/code\u003e\u003c/a\u003e feat(react): whitelist debugging-options (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/3bd1f08ae0b82ee0e96feb2ff265e61c6fe74b54\"\u003e\u003ccode\u003e3bd1f08\u003c/code\u003e\u003c/a\u003e feat: use carets for rolldown versions (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/2b8df67323265d1ff5ddf47b2db9ab0b9de5c688\"\u003e\u003ccode\u003e2b8df67\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1218\"\u003e#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/8fa9619e1b1f51b079f4c1df6bcf076dcafc5aed\"\u003e\u003ccode\u003e8fa9619\u003c/code\u003e\u003c/a\u003e fix(deps): update react 19.2.6 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1211\"\u003e#1211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/a4296ad2995a8d493528b8d5450a1209de2943cb\"\u003e\u003ccode\u003ea4296ad\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1209\"\u003e#1209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/323ccd72576be636b50baa7d9ce816cc94d5991e\"\u003e\u003ccode\u003e323ccd7\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1196\"\u003e#1196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/a7506e105df00cdadc58c0aecc4512d8cfdd9765\"\u003e\u003ccode\u003ea7506e1\u003c/code\u003e\u003c/a\u003e chore(deps): update vite 8.0.10 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1198\"\u003e#1198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/02cff2a0cf5c7e9792b1612baa380228f5e4d3c1\"\u003e\u003ccode\u003e02cff2a\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1184\"\u003e#1184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/4b9c890cdb21078ac45a86873b24f7e8613b8526\"\u003e\u003ccode\u003e4b9c890\u003c/code\u003e\u003c/a\u003e fix(deps): update react 19.2.5 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1181\"\u003e#1181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.0.2/packages/plugin-react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite` from 8.0.10 to 8.0.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/releases\"\u003evite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.14\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.14/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.13\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.13/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.12\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.12/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.11\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.11/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md\"\u003evite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.0.13...v8.0.14\"\u003e8.0.14\u003c/a\u003e (2026-05-21)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rolldown to 1.0.2 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22484\"\u003e#22484\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/96efc88570b6a6ddf1a910f106920cbac07b3cf0\"\u003e96efc88\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update all non-major dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22471\"\u003e#22471\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/98b81632139d51820f82036e58d6fbbf122b77b3\"\u003e98b8163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edev:\u003c/strong\u003e handle errors when sending messages to vite server (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22450\"\u003e#22450\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e8e9a34dcf2540139de558a10187630884d10217\"\u003ee8e9a34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e handle trailing slash paths in transformIndexHtml (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22480\"\u003e#22480\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5d94d1bffdb2a15de9341194d89baec86ce1f693\"\u003e5d94d1b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e pass oxc jsx options to transformSync in dependency scan                                                            (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22342\"\u003e#22342\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/b3132dacea9c6e0cf526cd9f0f09d850f577c262\"\u003eb3132da\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22470\"\u003e#22470\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/7cb728eb629cc677661f1bc52a044ffc0b87fc7f\"\u003e7cb728e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove irrelevant commits from changelog (\u003ca href=\"https://github.com/vitejs/vite/commit/2c69495f250edf01132d4a20128de19dbe836086\"\u003e2c69495\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eglob:\u003c/strong\u003e do not rewrite import path for absolute base (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22310\"\u003e#22310\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/0ae2844ab6d6d1ccf78a2975b8132769fc35b302\"\u003e0ae2844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e sass does not use main field (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22449\"\u003e#22449\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/ebf39a04329ddc6ba765e006a5d463680a952270\"\u003eebf39a0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.0.12...v8.0.13\"\u003e8.0.13\u003c/a\u003e (2026-05-14)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e add lazy bundling support (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/21406\"\u003e#21406\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/4f0949f3f13e4b2b34d32bf7b2b4de5f26bea192\"\u003e4f0949f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e improve the esbuild plugin converter to pass some properties of build result to \u003ccode\u003eonEnd\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22357\"\u003e#22357\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/47071ce53f21726cf39e999c4407c4828ecbe957\"\u003e47071ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate rolldown to 1.0.1 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22444\"\u003e#22444\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8c766a6c5ee014969c4e32f29cc265e8e2c96e18\"\u003e8c766a6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e copy public directory after building same environment with \u003ccode\u003ewrite=false\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22328\"\u003e#22328\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/158e8ae8efdf7075ab295727e36b5ff68da3243e\"\u003e158e8ae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e await sass/less/styl worker disposal on teardown (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22274\"\u003e#22274\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22275\"\u003e#22275\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/b7edcb7d0dd17ddfeef4ace78d610c099216dade\"\u003eb7edcb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e keep deprecated \u003ccode\u003ename\u003c/code\u003e/\u003ccode\u003eoriginalFileName\u003c/code\u003e in synthetic \u003ccode\u003eassetFileNames\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22439\"\u003e#22439\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8e59c97a44d923c4c06f67287a793c9aa5a4ebaa\"\u003e8e59c97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake \u003ccode\u003eisBundled\u003c/code\u003e per environment (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22257\"\u003e#22257\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/a5763266170f8606836da5c6f987b4b2fd6ddc55\"\u003ea576326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003essr:\u003c/strong\u003e avoid rewriting labels that collide with imports (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22451\"\u003e#22451\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/d9b18e0387a253628d3d834288e79c5f7e85d566\"\u003ed9b18e0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eremove irrelevant commits from changelog (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22430\"\u003e#22430\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6ea383859aaf0ef8e673b458f164e84aeb6ff51d\"\u003e6ea3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate changelog (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22413\"\u003e#22413\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fcdc87cc6799857e2bab0f44f333a681694fff74\"\u003efcdc87c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.0.11...v8.0.12\"\u003e8.0.12\u003c/a\u003e (2026-05-11)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rolldown to 1.0.0 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22401\"\u003e#22401\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/cf0ff4154b26cffbf18541ade1a50818842731d3\"\u003ecf0ff41\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/vitejs/vite/commit/c917f1ef9d9c6ef131af96d89089d8ec680b18f2\"\u003e\u003ccode\u003ec917f1e\u003c/code\u003e\u003c/a\u003e release: v8.0.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/5d94d1bffdb2a15de9341194d89baec86ce1f693\"\u003e\u003ccode\u003e5d94d1b\u003c/code\u003e\u003c/a\u003e fix(html): handle trailing slash paths in transformIndexHtml (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22480\"\u003e#22480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/98b81632139d51820f82036e58d6fbbf122b77b3\"\u003e\u003ccode\u003e98b8163\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22471\"\u003e#22471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/96efc88570b6a6ddf1a910f106920cbac07b3cf0\"\u003e\u003ccode\u003e96efc88\u003c/code\u003e\u003c/a\u003e feat: update rolldown to 1.0.2 (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22484\"\u003e#22484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/ebf39a04329ddc6ba765e006a5d463680a952270\"\u003e\u003ccode\u003eebf39a0\u003c/code\u003e\u003c/a\u003e test(css): sass does not use main field (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22449\"\u003e#22449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/0ae2844ab6d6d1ccf78a2975b8132769fc35b302\"\u003e\u003ccode\u003e0ae2844\u003c/code\u003e\u003c/a\u003e refactor(glob): do not rewrite import path for absolute base (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22310\"\u003e#22310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/7cb728eb629cc677661f1bc52a044ffc0b87fc7f\"\u003e\u003ccode\u003e7cb728e\u003c/code\u003e\u003c/a\u003e chore(deps): update rolldown-related dependencies (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22470\"\u003e#22470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/b3132dacea9c6e0cf526cd9f0f09d850f577c262\"\u003e\u003ccode\u003eb3132da\u003c/code\u003e\u003c/a\u003e fix(optimizer): pass oxc jsx options to transformSync in dependency scan     ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/e8e9a34dcf2540139de558a10187630884d10217\"\u003e\u003ccode\u003ee8e9a34\u003c/code\u003e\u003c/a\u003e fix(dev): handle errors when sending messages to vite server (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22450\"\u003e#22450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/2c69495f250edf01132d4a20128de19dbe836086\"\u003e\u003ccode\u003e2c69495\u003c/code\u003e\u003c/a\u003e chore: remove irrelevant commits from changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitejs/vite/commits/v8.0.14/packages/vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite-plugin-dts` from 5.0.0 to 5.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/qmhc/unplugin-dts/blob/main/packages/vite-plugin-dts/CHANGELOG.md\"\u003evite-plugin-dts's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/qmhc/unplugin-dts/compare/v1.0.0-beta.7...v5.0.1\"\u003e5.0.1\u003c/a\u003e (2026-05-19)\u003c/h2\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/qmhc/unplugin-dts/commit/b77a250a6fd7e59617a558972cb99c1b3e0dc9b1\"\u003e\u003ccode\u003eb77a250\u003c/code\u003e\u003c/a\u003e release(vite-plugin-dts): v5.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qmhc/unplugin-dts/commit/c1a18b22d60e25c95570ed9a556d499383a0f7bd\"\u003e\u003ccode\u003ec1a18b2\u003c/code\u003e\u003c/a\u003e docs: split README into docs and clean up legacy descriptions\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/qmhc/unplugin-dts/commits/vite-plugin-dts@5.0.1/packages/vite-plugin-dts\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@playwright/test` from 1.59.1 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e@​playwright/test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛑 test.abort()\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-test#test-abort\"\u003etest.abort()\u003c/a\u003e aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003etest('does not publish to the shared page', async ({ page }) =\u0026gt; {\r\n  await page.route('**/publish', route =\u0026gt; {\r\n    test.abort('Tests must not publish to the shared page. Use the `clone` option.');\r\n    return route.abort();\r\n  });\r\n  // ...\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eNew APIs\u003c/h2\u003e\n\u003ch3\u003eBrowser, Context and Page\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/microsoft/playwright/commit/87bb9ddbd78f329df18c2b24847bc9409240cd07\"\u003e\u003ccode\u003e87bb9dd\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40747\"\u003e#40747\u003c/a\u003e): fix(yauzl): vendor yauzl with destroy-lifecycle fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9a9c51cb7d1b39fab51ca288e59f8ca38fd19910\"\u003e\u003ccode\u003e9a9c51c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40733\"\u003e#40733\u003c/a\u003e): chore(electron): revert \u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40184\"\u003e#40184\u003c/a\u003e (move Electron API to a s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/4b3b628663031bcaaeca907e337892263524634d\"\u003e\u003ccode\u003e4b3b628\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40736\"\u003e#40736\u003c/a\u003e): Revert \u0026quot;feat(electron): add timeout option to electronAp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f869f96bbe6607cc3b88b4ca96fd82f17b301b50\"\u003e\u003ccode\u003ef869f96\u003c/code\u003e\u003c/a\u003e chore: bump version to v1.60.0 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40714\"\u003e#40714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/7eb6918afadfb0dd5c7e94ca9ffbddd84d8fbb39\"\u003e\u003ccode\u003e7eb6918\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40710\"\u003e#40710\u003c/a\u003e): docs: release notes v1.60\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/118d2aa6076d82840decca15d96b48611b08e392\"\u003e\u003ccode\u003e118d2aa\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40693\"\u003e#40693\u003c/a\u003e): chore(python): formdata path type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/54012f5dcc586da2e5d6cccd75f13ca367b94579\"\u003e\u003ccode\u003e54012f5\u003c/code\u003e\u003c/a\u003e chore(deps): bump ip-address and express-rate-limit (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40680\"\u003e#40680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9fa531da5677a3807d6e1dccd22c5137339a44f7\"\u003e\u003ccode\u003e9fa531d\u003c/code\u003e\u003c/a\u003e fix(screencast): unblock frame ack when an async client disconnects (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40674\"\u003e#40674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/3649db560ff943e724185784d34f7db131a11961\"\u003e\u003ccode\u003e3649db5\u003c/code\u003e\u003c/a\u003e chore(mcp): bump default extension protocol to v2 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40678\"\u003e#40678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/bb6c00957f47ba04caad7fca75d426309a2d32d4\"\u003e\u003ccode\u003ebb6c009\u003c/code\u003e\u003c/a\u003e chore(extension): mark 0.2.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40679\"\u003e#40679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.59.1...v1.60.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite-plugin-pwa` from 1.2.0 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/releases\"\u003evite-plugin-pwa's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd vite 8 peer dependency support  -  by \u003ca href=\"https://github.com/Hermione-Granger-1176\"\u003e\u003ccode\u003e@​Hermione-Granger-1176\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e \u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/276af62\"\u003e\u003c!-- raw HTML omitted --\u003e(276af)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient\u003c/strong\u003e: Add onNeedReload callback  -  by \u003ca href=\"https://github.com/tomrehnstrom\"\u003e\u003ccode\u003e@​tomrehnstrom\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/fb30890\"\u003e\u003c!-- raw HTML omitted --\u003e(fb308)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/compare/v1.2.0...v1.3.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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/vite-pwa/vite-plugin-pwa/commit/05670fc15e1dc717c847c806e1d46794cdd4cddc\"\u003e\u003ccode\u003e05670fc\u003c/code\u003e\u003c/a\u003e chore: release v1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/207f86ef29e515e205db6211070e51acb2d5b6e7\"\u003e\u003ccode\u003e207f86e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/vite-pwa/vite-plugin-pwa/issues/899\"\u003e#899\u003c/a\u003e from rj-au/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/67f5000eac97ffb5480d4c1b7b3cbc7b5e0d43d9\"\u003e\u003ccode\u003e67f5000\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/vite-pwa/vite-plugin-pwa/issues/929\"\u003e#929\u003c/a\u003e from vite-pwa/userquin/chore-bump-workbox-to-7.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/a9646914a9cb50f60dd69c6c3dfcb83abba4f86d\"\u003e\u003ccode\u003ea964691\u003c/code\u003e\u003c/a\u003e chore: update workbox to 7.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/2432f659b1262c1e214619b70f481967393da2ef\"\u003e\u003ccode\u003e2432f65\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/vite-pwa/vite-plugin-pwa/issues/924\"\u003e#924\u003c/a\u003e from Hermione-Granger-1176/feat/add-vite-8-peer-dep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/34768187ee2c120c6cb6040a408bbae8bd4ec238\"\u003e\u003ccode\u003e3476818\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/vite-pwa/vite-plugin-pwa/issues/914\"\u003e#914\u003c/a\u003e from tomrehnstrom/feat/on-need-reload\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/276af62eeecf8b5513b80a7021f39be981e5b670\"\u003e\u003ccode\u003e276af62\u003c/code\u003e\u003c/a\u003e feat: add vite 8 peer dependency support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/4e1621588676db62c0c0944d64a35485e257f023\"\u003e\u003ccode\u003e4e16215\u003c/code\u003e\u003c/a\u003e chore: use \u003ccode\u003e\u0026quot;moduleResolution\u0026quot;: \u0026quot;bundler\u0026quot;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vite-pwa/vite-plugin-pwa/issues/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/fb30890423891165e2ee1a2f4bc2655842d1fc3c\"\u003e\u003ccode\u003efb30890\u003c/code\u003e\u003c/a\u003e feat(client): add onNeedReload callback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/3fc4b278bb2bd99c19607984d0583085e34607c3\"\u003e\u003ccode\u003e3fc4b27\u003c/code\u003e\u003c/a\u003e JSDOC: registerType: fix grammar and description\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/compare/v1.2.0...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/jukka-matti/variscout/pull/246","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jukka-matti%2Fvariscout/issues/246","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/246/packages"},{"uuid":"4553802859","node_id":"PR_kwDOSsDeBs7g6lIc","number":23,"state":"open","title":"Bump jsdom from 26.0.0 to 29.1.1 in /js","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-30T08:04:43.000Z","updated_at":"2026-05-30T08:04:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"jsdom","old_version":"26.0.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":"/js","ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 26.0.0 to 29.1.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v26.0.0...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=26.0.0\u0026new-version=29.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR 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/rmcode-benchmark/clean20260529-2327__keycloak__rmcode-dev__PR38446__20260530/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmcode-benchmark%2Fclean20260529-2327__keycloak__rmcode-dev__PR38446__20260530/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"},{"uuid":"4553720608","node_id":"PR_kwDOSsBxvs7g6UgT","number":50,"state":"open","title":"Bump jsdom from 26.1.0 to 29.1.1 in /js","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-30T07:34:44.000Z","updated_at":"2026-05-30T07:34:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"jsdom","old_version":"26.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":"/js","ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 26.1.0 to 29.1.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v26.1.0...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=26.1.0\u0026new-version=29.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR 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/rmcode-benchmark/clean20260529-2327__keycloak-greptile__rmcode-dev__PR1__20260530/pull/50","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmcode-benchmark%2Fclean20260529-2327__keycloak-greptile__rmcode-dev__PR1__20260530/issues/50","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/50/packages"},{"uuid":"4553663097","node_id":"PR_kwDOSr_VCc7g6JTI","number":10,"state":"open","title":"Config(deps): Bump jsdom from 25.0.1 to 29.1.1","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-30T07:11:13.000Z","updated_at":"2026-05-30T07:11:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Config(deps): Bump","packages":[{"name":"jsdom","old_version":"25.0.1","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 25.0.1 to 29.1.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v25.0.1...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=25.0.1\u0026new-version=29.1.1)](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/patrickmarino/buildbase/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickmarino%2Fbuildbase/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"},{"uuid":"4551608659","node_id":"PR_kwDOMYpPfc7gzkKk","number":418,"state":"open","title":"Bump the development-version-updates group across 1 directory with 72 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-29T21:02:12.000Z","updated_at":"2026-05-29T21:03:32.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"development-version-updates","update_count":72,"packages":[{"name":"@angular/build","old_version":"21.2.6","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.6","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.7","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@types/node","old_version":"24.12.2","new_version":"24.12.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"angular-eslint","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"cypress","old_version":"15.13.0","new_version":"15.16.0","repository_url":"https://github.com/cypress-io/cypress"},{"name":"eslint-plugin-cypress","old_version":"6.2.2","new_version":"6.4.1","repository_url":"https://github.com/cypress-io/eslint-plugin-cypress"},{"name":"eslint-plugin-prettier","old_version":"5.5.5","new_version":"5.5.6","repository_url":"https://github.com/prettier/eslint-plugin-prettier"},{"name":"jsdom","old_version":"29.0.1","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"start-server-and-test","old_version":"3.0.0","new_version":"3.0.5","repository_url":"https://github.com/bahmutov/start-server-and-test"},{"name":"typescript-eslint","old_version":"8.58.0","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"vitest","old_version":"4.1.2","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@babel/code-frame","old_version":"7.29.0","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/compat-data","old_version":"7.29.0","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/generator","old_version":"7.29.1","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-compilation-targets","old_version":"7.28.6","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-globals","old_version":"7.28.0","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-module-imports","old_version":"7.28.6","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-module-transforms","old_version":"7.28.6","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helpers","old_version":"7.29.2","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@emnapi/core","old_version":"1.9.2","new_version":"1.10.0","repository_url":"https://github.com/toyobayashi/emnapi"},{"name":"@emnapi/runtime","old_version":"1.9.2","new_version":"1.10.0","repository_url":"https://github.com/toyobayashi/emnapi"},{"name":"@exodus/bytes","old_version":"1.15.0","new_version":"1.15.1","repository_url":"https://github.com/ExodusOSS/bytes"},{"name":"@humanfs/core","old_version":"0.19.1","new_version":"0.19.2","repository_url":"https://github.com/humanwhocodes/humanfs"},{"name":"@humanfs/node","old_version":"0.16.7","new_version":"0.16.8","repository_url":"https://github.com/humanwhocodes/humanfs"},{"name":"@istanbuljs/schema","old_version":"0.1.3","new_version":"0.1.6","repository_url":"https://github.com/istanbuljs/schema"},{"name":"@sigstore/core","old_version":"3.2.0","new_version":"3.2.1","repository_url":"https://github.com/sigstore/sigstore-js"},{"name":"@sigstore/protobuf-specs","old_version":"0.5.0","new_version":"0.5.1","repository_url":"https://github.com/sigstore/protobuf-specs"},{"name":"@sigstore/verify","old_version":"3.1.0","new_version":"3.1.1","repository_url":"https://github.com/sigstore/sigstore-js"},{"name":"@tybys/wasm-util","old_version":"0.10.1","new_version":"0.10.2","repository_url":"https://github.com/toyobayashi/wasm-util"},{"name":"baseline-browser-mapping","old_version":"2.10.14","new_version":"2.10.32","repository_url":"https://github.com/web-platform-dx/baseline-browser-mapping"},{"name":"call-bind","old_version":"1.0.8","new_version":"1.0.9","repository_url":"https://github.com/ljharb/call-bind"},{"name":"caniuse-lite","old_version":"1.0.30001784","new_version":"1.0.30001793","repository_url":"https://github.com/browserslist/caniuse-lite"},{"name":"dayjs","old_version":"1.11.20","new_version":"1.11.21","repository_url":"https://github.com/iamkun/dayjs"},{"name":"electron-to-chromium","old_version":"1.5.331","new_version":"1.5.364","repository_url":"https://github.com/Kilian/electron-to-chromium"},{"name":"empathic","old_version":"2.0.0","new_version":"2.0.1","repository_url":"https://github.com/lukeed/empathic"},{"name":"es-abstract","old_version":"1.24.1","new_version":"1.24.2","repository_url":"https://github.com/ljharb/es-abstract"},{"name":"es-module-lexer","old_version":"2.0.0","new_version":"2.1.0","repository_url":"https://github.com/guybedford/es-module-lexer"},{"name":"es-object-atoms","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/ljharb/es-object-atoms"},{"name":"eslint-module-utils","old_version":"2.12.1","new_version":"2.13.0","repository_url":"https://github.com/import-js/eslint-plugin-import"},{"name":"eventsource-parser","old_version":"3.0.6","new_version":"3.1.0","repository_url":"https://github.com/rexxars/eventsource-parser"},{"name":"express-rate-limit","old_version":"8.5.1","new_version":"8.5.2","repository_url":"https://github.com/express-rate-limit/express-rate-limit"},{"name":"get-east-asian-width","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/sindresorhus/get-east-asian-width"},{"name":"get-tsconfig","old_version":"4.13.7","new_version":"4.14.0","repository_url":"https://github.com/privatenumber/get-tsconfig"},{"name":"hasown","old_version":"2.0.2","new_version":"2.0.4","repository_url":"https://github.com/inspect-js/hasOwn"},{"name":"hono","old_version":"4.12.18","new_version":"4.12.23","repository_url":"https://github.com/honojs/hono"},{"name":"immutable","old_version":"5.1.5","new_version":"5.1.6","repository_url":"https://github.com/immutable-js/immutable-js"},{"name":"is-core-module","old_version":"2.16.1","new_version":"2.16.2","repository_url":"https://github.com/inspect-js/is-core-module"},{"name":"jose","old_version":"6.2.2","new_version":"6.2.3","repository_url":"https://github.com/panva/jose"},{"name":"jsonfile","old_version":"6.2.0","new_version":"6.2.1","repository_url":"https://github.com/jprichardson/node-jsonfile"},{"name":"make-fetch-happen","old_version":"15.0.5","new_version":"15.0.6","repository_url":"https://github.com/npm/make-fetch-happen"},{"name":"msgpackr-extract","old_version":"3.0.3","new_version":"3.0.4","repository_url":"https://github.com/kriszyp/msgpackr-extract"},{"name":"node-gyp","old_version":"12.2.0","new_version":"12.3.0","repository_url":"https://github.com/nodejs/node-gyp"},{"name":"node-releases","old_version":"2.0.37","new_version":"2.0.46","repository_url":"https://github.com/chicoxyzzy/node-releases"},{"name":"postcss","old_version":"8.5.14","new_version":"8.5.15","repository_url":"https://github.com/postcss/postcss"},{"name":"rollup","old_version":"4.60.1","new_version":"4.60.4","repository_url":"https://github.com/rollup/rollup"},{"name":"safe-array-concat","old_version":"1.1.3","new_version":"1.1.4","repository_url":"https://github.com/ljharb/safe-array-concat"},{"name":"side-channel-list","old_version":"1.0.0","new_version":"1.0.1","repository_url":"https://github.com/ljharb/side-channel-list"},{"name":"sigstore","old_version":"4.1.0","new_version":"4.1.1","repository_url":"https://github.com/sigstore/sigstore-js"},{"name":"socks","old_version":"2.8.7","new_version":"2.8.9","repository_url":"https://github.com/JoshGlazebrook/socks"},{"name":"std-env","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/unjs/std-env"},{"name":"stdin-discarder","old_version":"0.3.1","new_version":"0.3.2","repository_url":"https://github.com/sindresorhus/stdin-discarder"},{"name":"systeminformation","old_version":"5.31.6","new_version":"5.31.7","repository_url":"https://github.com/sebhildebrandt/systeminformation"},{"name":"tar","old_version":"7.5.13","new_version":"7.5.15","repository_url":"https://github.com/isaacs/node-tar"},{"name":"tinyexec","old_version":"1.0.4","new_version":"1.2.3","repository_url":"https://github.com/tinylibs/tinyexec"},{"name":"tmp","old_version":"0.2.5","new_version":"0.2.7","repository_url":"https://github.com/raszi/node-tmp"},{"name":"type-is","old_version":"2.0.1","new_version":"2.1.0","repository_url":"https://github.com/jshttp/type-is"},{"name":"typed-array-length","old_version":"1.0.7","new_version":"1.0.8","repository_url":"https://github.com/inspect-js/typed-array-length"},{"name":"unrs-resolver","old_version":"1.11.1","new_version":"1.12.2","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"which-typed-array","old_version":"1.1.20","new_version":"1.1.21","repository_url":"https://github.com/inspect-js/which-typed-array"},{"name":"yaml","old_version":"2.8.3","new_version":"2.9.0","repository_url":"https://github.com/eemeli/yaml"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-version-updates group with 72 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.6` | `21.2.13` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.6` | `21.2.13` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.7` | `21.2.15` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.12.2` | `24.12.4` |\n| [angular-eslint](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/angular-eslint) | `21.3.1` | `21.4.0` |\n| [cypress](https://github.com/cypress-io/cypress) | `15.13.0` | `15.16.0` |\n| [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) | `6.2.2` | `6.4.1` |\n| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | `5.5.5` | `5.5.6` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.0.1` | `29.1.1` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [start-server-and-test](https://github.com/bahmutov/start-server-and-test) | `3.0.0` | `3.0.5` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.58.0` | `8.60.0` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.2` | `4.1.7` |\n| [@babel/code-frame](https://github.com/babel/babel/tree/HEAD/packages/babel-code-frame) | `7.29.0` | `7.29.7` |\n| [@babel/compat-data](https://github.com/babel/babel/tree/HEAD/packages/babel-compat-data) | `7.29.0` | `7.29.7` |\n| [@babel/generator](https://github.com/babel/babel/tree/HEAD/packages/babel-generator) | `7.29.1` | `7.29.7` |\n| [@babel/helper-compilation-targets](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-compilation-targets) | `7.28.6` | `7.29.7` |\n| [@babel/helper-globals](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-globals) | `7.28.0` | `7.29.7` |\n| [@babel/helper-module-imports](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-module-imports) | `7.28.6` | `7.29.7` |\n| [@babel/helper-module-transforms](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-module-transforms) | `7.28.6` | `7.29.7` |\n| [@babel/helpers](https://github.com/babel/babel/tree/HEAD/packages/babel-helpers) | `7.29.2` | `7.29.7` |\n| [@emnapi/core](https://github.com/toyobayashi/emnapi) | `1.9.2` | `1.10.0` |\n| [@emnapi/runtime](https://github.com/toyobayashi/emnapi) | `1.9.2` | `1.10.0` |\n| [@exodus/bytes](https://github.com/ExodusOSS/bytes) | `1.15.0` | `1.15.1` |\n| [@humanfs/core](https://github.com/humanwhocodes/humanfs) | `0.19.1` | `0.19.2` |\n| [@humanfs/node](https://github.com/humanwhocodes/humanfs/tree/HEAD/packages/node) | `0.16.7` | `0.16.8` |\n| [@istanbuljs/schema](https://github.com/istanbuljs/schema) | `0.1.3` | `0.1.6` |\n| [@sigstore/core](https://github.com/sigstore/sigstore-js) | `3.2.0` | `3.2.1` |\n| [@sigstore/protobuf-specs](https://github.com/sigstore/protobuf-specs) | `0.5.0` | `0.5.1` |\n| [@sigstore/verify](https://github.com/sigstore/sigstore-js) | `3.1.0` | `3.1.1` |\n| [@tybys/wasm-util](https://github.com/toyobayashi/wasm-util) | `0.10.1` | `0.10.2` |\n| [baseline-browser-mapping](https://github.com/web-platform-dx/baseline-browser-mapping) | `2.10.14` | `2.10.32` |\n| [call-bind](https://github.com/ljharb/call-bind) | `1.0.8` | `1.0.9` |\n| [caniuse-lite](https://github.com/browserslist/caniuse-lite) | `1.0.30001784` | `1.0.30001793` |\n| [dayjs](https://github.com/iamkun/dayjs) | `1.11.20` | `1.11.21` |\n| [electron-to-chromium](https://github.com/Kilian/electron-to-chromium) | `1.5.331` | `1.5.364` |\n| [empathic](https://github.com/lukeed/empathic) | `2.0.0` | `2.0.1` |\n| [es-abstract](https://github.com/ljharb/es-abstract) | `1.24.1` | `1.24.2` |\n| [es-module-lexer](https://github.com/guybedford/es-module-lexer) | `2.0.0` | `2.1.0` |\n| [es-object-atoms](https://github.com/ljharb/es-object-atoms) | `1.1.1` | `1.1.2` |\n| [eslint-module-utils](https://github.com/import-js/eslint-plugin-import/tree/HEAD/utils) | `2.12.1` | `2.13.0` |\n| [eventsource-parser](https://github.com/rexxars/eventsource-parser) | `3.0.6` | `3.1.0` |\n| [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit) | `8.5.1` | `8.5.2` |\n| [get-east-asian-width](https://github.com/sindresorhus/get-east-asian-width) | `1.5.0` | `1.6.0` |\n| [get-tsconfig](https://github.com/privatenumber/get-tsconfig) | `4.13.7` | `4.14.0` |\n| [hasown](https://github.com/inspect-js/hasOwn) | `2.0.2` | `2.0.4` |\n| [hono](https://github.com/honojs/hono) | `4.12.18` | `4.12.23` |\n| [immutable](https://github.com/immutable-js/immutable-js) | `5.1.5` | `5.1.6` |\n| [is-core-module](https://github.com/inspect-js/is-core-module) | `2.16.1` | `2.16.2` |\n| [jose](https://github.com/panva/jose) | `6.2.2` | `6.2.3` |\n| [jsonfile](https://github.com/jprichardson/node-jsonfile) | `6.2.0` | `6.2.1` |\n| [make-fetch-happen](https://github.com/npm/make-fetch-happen) | `15.0.5` | `15.0.6` |\n| [msgpackr-extract](https://github.com/kriszyp/msgpackr-extract) | `3.0.3` | `3.0.4` |\n| [node-gyp](https://github.com/nodejs/node-gyp) | `12.2.0` | `12.3.0` |\n| [node-releases](https://github.com/chicoxyzzy/node-releases) | `2.0.37` | `2.0.46` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.14` | `8.5.15` |\n| [rollup](https://github.com/rollup/rollup) | `4.60.1` | `4.60.4` |\n| [safe-array-concat](https://github.com/ljharb/safe-array-concat) | `1.1.3` | `1.1.4` |\n| [side-channel-list](https://github.com/ljharb/side-channel-list) | `1.0.0` | `1.0.1` |\n| [sigstore](https://github.com/sigstore/sigstore-js) | `4.1.0` | `4.1.1` |\n| [socks](https://github.com/JoshGlazebrook/socks) | `2.8.7` | `2.8.9` |\n| [std-env](https://github.com/unjs/std-env) | `4.0.0` | `4.1.0` |\n| [stdin-discarder](https://github.com/sindresorhus/stdin-discarder) | `0.3.1` | `0.3.2` |\n| [systeminformation](https://github.com/sebhildebrandt/systeminformation) | `5.31.6` | `5.31.7` |\n| [tar](https://github.com/isaacs/node-tar) | `7.5.13` | `7.5.15` |\n| [tinyexec](https://github.com/tinylibs/tinyexec) | `1.0.4` | `1.2.3` |\n| [tmp](https://github.com/raszi/node-tmp) | `0.2.5` | `0.2.7` |\n| [type-is](https://github.com/jshttp/type-is) | `2.0.1` | `2.1.0` |\n| [typed-array-length](https://github.com/inspect-js/typed-array-length) | `1.0.7` | `1.0.8` |\n| [unrs-resolver](https://github.com/unrs/unrs-resolver) | `1.11.1` | `1.12.2` |\n| [which-typed-array](https://github.com/inspect-js/which-typed-array) | `1.1.20` | `1.1.21` |\n| [yaml](https://github.com/eemeli/yaml) | `2.8.3` | `2.9.0` |\n\n\nUpdates `@angular/build` from 21.2.6 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e@​angular/build's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/3c6d26a316cd6aea455c19b249dc6852d84a698e\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c6d26a31-fix-green\" alt=\"fix - 3c6d26a31\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unconditional CORS wildcard from webpack dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2b3e95517358f8ef3482d5319d970f4774e45ad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/2b3e95517-fix-green\" alt=\"fix - 2b3e95517\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eassert that asset input paths are within workspace root\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cbad57579-fix-green\" alt=\"fix - cbad57579\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbd63b7a5a1049bc56b9ddf6edf6563a1f2d9ace\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbd63b7a5-fix-green\" alt=\"fix - bbd63b7a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erobustly parse npm manifest from array\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/eafe1a719fd3fecd5263e0a8371200b4b1ff4bb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/eafe1a719-fix-green\" alt=\"fix - eafe1a719\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow all hosts in common engine rendering options to prevent validation errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7a116a80d7e6db341fd003737285d1a9db10ba6c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a116a80d-fix-green\" alt=\"fix - 7a116a80d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove stateful flag from URL_PARAMETER_REGEXP\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.10\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bb861191328fc2d25bd5ee99b0c8edc5e49d3a7d\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb8611913-fix-green\" alt=\"fix - bb8611913\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict MCP workspace access to allowed client roots during resolution\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.9\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e7abeb5c74024daf125070c9b4f7f8d2426bab66\"\u003e\u003cimg src=\"https://img.shields.io/badge/e7abeb5c7-fix-green\" alt=\"fix - e7abeb5c7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd missing imports for focus and skip APIs in refactor-jasmine-vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/233deef01288c6aa39a048d6bd66a1f09595dc15\"\u003e\u003cimg src=\"https://img.shields.io/badge/233deef01-fix-green\" alt=\"fix - 233deef01\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix broken img ref in ai-tutor\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7cea9885c64a747b391b74e6434cdf005c843766\"\u003e\u003cimg src=\"https://img.shields.io/badge/7cea9885c-fix-green\" alt=\"fix - 7cea9885c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce initial package manager workspace awareness\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b1a5b7434323eb383df1f53c389fe9dc948a785\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b1a5b743-fix-green\" alt=\"fix - 5b1a5b743\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove standalone true ref in ai tutor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/94023f62c5b51a669ff3187cc062057f82c79c52\"\u003e\u003cimg src=\"https://img.shields.io/badge/94023f62c-fix-green\" alt=\"fix - 94023f62c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce trustProxyHeaders option to safely validate and sanitize proxy headers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5ffe5c309a92e7fd42f1059171924c5942f35c36\"\u003e\u003cimg src=\"https://img.shields.io/badge/5ffe5c309-fix-green\" alt=\"fix - 5ffe5c309\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for configuring trusted proxy headers via environment variable\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/930ada9b73c5172d57830ce42a5a336ae9483a54\"\u003e\u003cimg src=\"https://img.shields.io/badge/930ada9b7-fix-green\" alt=\"fix - 930ada9b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edecode route segments when building and matching route tree\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e@​angular/build's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/3c6d26a316cd6aea455c19b249dc6852d84a698e\"\u003e3c6d26a31\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove unconditional CORS wildcard from webpack dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2b3e95517358f8ef3482d5319d970f4774e45ad0\"\u003e2b3e95517\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eassert that asset input paths are within workspace root\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.1 (2026-05-21)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7ac8e5f0a268994a8fcfebbf56f76e994b6207d\"\u003ea7ac8e5f0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport spy call arguments migration in refactor-jasmine-vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/327cc24144ab7e0e36ff3d6e9a67585588f2f69f\"\u003e327cc2414\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eassert that asset input paths are within workspace root\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/93d3527985f8aa1950f62ab42a88c0a74ae0b051\"\u003e93d352798\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.12 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003ecbad57579\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/287e4e81d257014637c2a2daa00dd88811f87fbc\"\u003e\u003ccode\u003e287e4e8\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.13 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/3c6d26a316cd6aea455c19b249dc6852d84a698e\"\u003e\u003ccode\u003e3c6d26a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e): remove unconditional CORS wildcard from w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2b3e95517358f8ef3482d5319d970f4774e45ad0\"\u003e\u003ccode\u003e2b3e955\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): assert that asset input paths are within workspace root\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9dcef4d6f7e61cef518d332a17ea0889b93e8d5c\"\u003e\u003ccode\u003e9dcef4d\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.12 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/feec5bfe03cb6cc5c3ebbc472643ef8f5e872b37\"\u003e\u003ccode\u003efeec5bf\u003c/code\u003e\u003c/a\u003e refactor(\u003ccode\u003e@​angular/build\u003c/code\u003e): add missing \u003ccode\u003eOutputFile\u003c/code\u003e import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/48c17e8a9b9a4676b58a4677bfc920934f2a7883\"\u003e\u003ccode\u003e48c17e8\u003c/code\u003e\u003c/a\u003e docs: update JSDoc return tag to \u003ccode\u003e@return\u003c/code\u003e and fix description in registry.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003e\u003ccode\u003ecbad575\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): ignore virtual esbuild paths with (disabled):\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6cc934921befc1e972d628d8164f55a230e9b883\"\u003e\u003ccode\u003e6cc9349\u003c/code\u003e\u003c/a\u003e docs: update ng.ts render function documentation to reflect removal of render...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/00e366320108b39e60e67d28d45e5bcc6a044546\"\u003e\u003ccode\u003e00e3663\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.11 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/eafe1a719fd3fecd5263e0a8371200b4b1ff4bb9\"\u003e\u003ccode\u003eeafe1a7\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/ssr\u003c/code\u003e): allow all hosts in common engine rendering options to prev...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v21.2.6...v21.2.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 21.2.6 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e@​angular/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/3c6d26a316cd6aea455c19b249dc6852d84a698e\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c6d26a31-fix-green\" alt=\"fix - 3c6d26a31\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unconditional CORS wildcard from webpack dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2b3e95517358f8ef3482d5319d970f4774e45ad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/2b3e95517-fix-green\" alt=\"fix - 2b3e95517\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eassert that asset input paths are within workspace root\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cbad57579-fix-green\" alt=\"fix - cbad57579\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbd63b7a5a1049bc56b9ddf6edf6563a1f2d9ace\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbd63b7a5-fix-green\" alt=\"fix - bbd63b7a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erobustly parse npm manifest from array\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/eafe1a719fd3fecd5263e0a8371200b4b1ff4bb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/eafe1a719-fix-green\" alt=\"fix - eafe1a719\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow all hosts in common engine rendering options to prevent validation errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7a116a80d7e6db341fd003737285d1a9db10ba6c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a116a80d-fix-green\" alt=\"fix - 7a116a80d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove stateful flag from URL_PARAMETER_REGEXP\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.10\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bb861191328fc2d25bd5ee99b0c8edc5e49d3a7d\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb8611913-fix-green\" alt=\"fix - bb8611913\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict MCP workspace access to allowed client roots during resolution\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.9\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e7abeb5c74024daf125070c9b4f7f8d2426bab66\"\u003e\u003cimg src=\"https://img.shields.io/badge/e7abeb5c7-fix-green\" alt=\"fix - e7abeb5c7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd missing imports for focus and skip APIs in refactor-jasmine-vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/233deef01288c6aa39a048d6bd66a1f09595dc15\"\u003e\u003cimg src=\"https://img.shields.io/badge/233deef01-fix-green\" alt=\"fix - 233deef01\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix broken img ref in ai-tutor\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7cea9885c64a747b391b74e6434cdf005c843766\"\u003e\u003cimg src=\"https://img.shields.io/badge/7cea9885c-fix-green\" alt=\"fix - 7cea9885c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce initial package manager workspace awareness\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b1a5b7434323eb383df1f53c389fe9dc948a785\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b1a5b743-fix-green\" alt=\"fix - 5b1a5b743\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove standalone true ref in ai tutor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/94023f62c5b51a669ff3187cc062057f82c79c52\"\u003e\u003cimg src=\"https://img.shields.io/badge/94023f62c-fix-green\" alt=\"fix - 94023f62c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce trustProxyHeaders option to safely validate and sanitize proxy headers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5ffe5c309a92e7fd42f1059171924c5942f35c36\"\u003e\u003cimg src=\"https://img.shields.io/badge/5ffe5c309-fix-green\" alt=\"fix - 5ffe5c309\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for configuring trusted proxy headers via environment variable\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/930ada9b73c5172d57830ce42a5a336ae9483a54\"\u003e\u003cimg src=\"https://img.shields.io/badge/930ada9b7-fix-green\" alt=\"fix - 930ada9b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edecode route segments when building and matching route tree\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e@​angular/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/3c6d26a316cd6aea455c19b249dc6852d84a698e\"\u003e3c6d26a31\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove unconditional CORS wildcard from webpack dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2b3e95517358f8ef3482d5319d970f4774e45ad0\"\u003e2b3e95517\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eassert that asset input paths are within workspace root\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.1 (2026-05-21)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7ac8e5f0a268994a8fcfebbf56f76e994b6207d\"\u003ea7ac8e5f0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport spy call arguments migration in refactor-jasmine-vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/327cc24144ab7e0e36ff3d6e9a67585588f2f69f\"\u003e327cc2414\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eassert that asset input paths are within workspace root\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/93d3527985f8aa1950f62ab42a88c0a74ae0b051\"\u003e93d352798\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.12 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003ecbad57579\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/287e4e81d257014637c2a2daa00dd88811f87fbc\"\u003e\u003ccode\u003e287e4e8\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.13 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/3c6d26a316cd6aea455c19b249dc6852d84a698e\"\u003e\u003ccode\u003e3c6d26a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e): remove unconditional CORS wildcard from w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2b3e95517358f8ef3482d5319d970f4774e45ad0\"\u003e\u003ccode\u003e2b3e955\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): assert that asset input paths are within workspace root\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9dcef4d6f7e61cef518d332a17ea0889b93e8d5c\"\u003e\u003ccode\u003e9dcef4d\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.12 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/feec5bfe03cb6cc5c3ebbc472643ef8f5e872b37\"\u003e\u003ccode\u003efeec5bf\u003c/code\u003e\u003c/a\u003e refactor(\u003ccode\u003e@​angular/build\u003c/code\u003e): add missing \u003ccode\u003eOutputFile\u003c/code\u003e import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/48c17e8a9b9a4676b58a4677bfc920934f2a7883\"\u003e\u003ccode\u003e48c17e8\u003c/code\u003e\u003c/a\u003e docs: update JSDoc return tag to \u003ccode\u003e@return\u003c/code\u003e and fix description in registry.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003e\u003ccode\u003ecbad575\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): ignore virtual esbuild paths with (disabled):\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6cc934921befc1e972d628d8164f55a230e9b883\"\u003e\u003ccode\u003e6cc9349\u003c/code\u003e\u003c/a\u003e docs: update ng.ts render function documentation to reflect removal of render...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/00e366320108b39e60e67d28d45e5bcc6a044546\"\u003e\u003ccode\u003e00e3663\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.11 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/eafe1a719fd3fecd5263e0a8371200b4b1ff4bb9\"\u003e\u003ccode\u003eeafe1a7\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/ssr\u003c/code\u003e): allow all hosts in common engine rendering options to prev...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v21.2.6...v21.2.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler-cli` from 21.2.7 to 21.2.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler-cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.15\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f4ac78994-fix-green\" alt=\"fix - 7f4ac78994\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003cimg src=\"https://img.shields.io/badge/300f61feb3-fix-green\" alt=\"fix - 300f61feb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b07f47bd6-fix-green\" alt=\"fix - 0b07f47bd6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler-cli/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003cimg src=\"https://img.shields.io/badge/eb1cbbf2eb-fix-green\" alt=\"fix - eb1cbbf2eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cc1378d54b-fix-green\" alt=\"fix - cc1378d54b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler-cli/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003cimg src=\"https://img.shields.io/badge/782e01594e-fix-green\" alt=\"fix - 782e01594e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler-cli/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003cimg src=\"https://img.shields.io/badge/ff12fe55ac-fix-green\" alt=\"fix - ff12fe55ac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler-cli/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003cimg src=\"https://img.shields.io/badge/e6fe77cc97-fix-green\" alt=\"fix - e6fe77cc97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003cimg src=\"https://img.shields.io/badge/daaf32937f-fix-green\" alt=\"fix - daaf32937f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler-cli/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003cimg src=\"https://img.shields.io/badge/dada86e43d-fix-green\" alt=\"fix - dada86e43d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler-cli/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003cimg src=\"https://img.shields.io/badge/582a417bd2-fix-green\" alt=\"fix - 582a417bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003cimg src=\"https://img.shields.io/badge/5c6d6df34b-fix-green\" alt=\"fix - 5c6d6df34b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e\u003cimg src=\"https://img.shields.io/badge/37e8aadf87-fix-green\" alt=\"fix - 37e8aadf87\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e\u003cimg src=\"https://img.shields.io/badge/72696e244e-fix-green\" alt=\"fix - 72696e244e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bd49341d-fix-green\" alt=\"fix - b8bd49341d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca32fc1000-fix-green\" alt=\"fix - ca32fc1000\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler-cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ea6379123a7b0e191f8b9f66dfb74ca29659a6c\"\u003e6ea6379123\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\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/angular/angular/commit/29ceeffd40a2250eb51ac34af22d49e85b878922\"\u003e\u003ccode\u003e29ceeff\u003c/code\u003e\u003c/a\u003e docs: fix typos in source code comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d1736efc32435090970a5c878c1c82eb5be21a49\"\u003e\u003ccode\u003ed1736ef\u003c/code\u003e\u003c/a\u003e docs(docs-infra): Show function args\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fc434c1d0a14309c81e3b4c46b0a48a65fba9bff\"\u003e\u003ccode\u003efc434c1\u003c/code\u003e\u003c/a\u003e refactor(compiler-cli): Remove unused properties of IndexedComponent interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/49a133aeaf979389436515adfcb9c39b12a6ef3b\"\u003e\u003ccode\u003e49a133a\u003c/code\u003e\u003c/a\u003e refactor(compiler-cli): drop \u003ca href=\"https://github.com/ts-ignore\"\u003e\u003ccode\u003e@​ts-ignore\u003c/code\u003e\u003c/a\u003e around jsDocParsingMode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c39f7708a67c3a4a8409d062e89a8ff777170a23\"\u003e\u003ccode\u003ec39f770\u003c/code\u003e\u003c/a\u003e refactor(compiler): Update indexer API to be generic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c2b441af6d9b8d15bc8de6c0e0d098a4b782cf03\"\u003e\u003ccode\u003ec2b441a\u003c/code\u003e\u003c/a\u003e test: add NgModule compliance test with 'bootstrap' \u0026amp; local compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a24dcfd1ecbf4d66b13e40e79c5e7d0e1052b856\"\u003e\u003ccode\u003ea24dcfd\u003c/code\u003e\u003c/a\u003e refactor(compiler-cli): remove reflectionhost from environment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f5d8a2c0b5e38d4debc4293945270cea4a9590d\"\u003e\u003ccode\u003e4f5d8a2\u003c/code\u003e\u003c/a\u003e fix(compiler): let declaration span not including end character\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/compiler-cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 24.12.2 to 24.12.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `angular-eslint` from 21.3.1 to 21.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular-eslint/angular-eslint/releases\"\u003eangular-eslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.4.0\u003c/h2\u003e\n\u003ch2\u003e21.4.0 (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebuilder:\u003c/strong\u003e add apply-suppressions option (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2974\"\u003e#2974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin-template:\u003c/strong\u003e [cyclomatic-complexity] add \u003ccode\u003evariant\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2976\"\u003e#2976\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate typescript-eslint packages to v8.57.0 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate dependency \u003ccode\u003e@​angular/compiler\u003c/code\u003e to v21.2.6 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2961\"\u003e#2961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate dependency eslint to v10.1.0 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2983\"\u003e#2983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate dependency \u003ccode\u003e@​angular/compiler\u003c/code\u003e to v21.2.8 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2996\"\u003e#2996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate typescript-eslint packages to v8.58.1 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2984\"\u003e#2984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate dependency eslint to v10.2.0 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2999\"\u003e#2999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate dependency \u003ccode\u003e@​angular/compiler\u003c/code\u003e to v21.2.9 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/3010\"\u003e#3010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate typescript-eslint packages to v8.59.2 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/3005\"\u003e#3005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate dependency \u003ccode\u003e@​angular/compiler\u003c/code\u003e to v21.2.11 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/3019\"\u003e#3019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate dependency eslint to v10.3.0 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/3013\"\u003e#3013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e append fixes in prefer-on-push-change-detection, use-injectable-provided-in (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2969\"\u003e#2969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-template-literal] do not check inline templates (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2959\"\u003e#2959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin-template:\u003c/strong\u003e [no-non-null-assertion] report nested arrays (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2991\"\u003e#2991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin-template:\u003c/strong\u003e [eqeqeq]  could not destructure null (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eschematics:\u003c/strong\u003e sync application schema with upstream \u003ccode\u003e@​schematics/angular\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/3027\"\u003e#3027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDave \u003ca href=\"https://github.com/reduckted\"\u003e\u003ccode\u003e@​reduckted\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvgeny Stepanovych \u003ca href=\"https://github.com/undsoft\"\u003e\u003ccode\u003e@​undsoft\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFinn Bayer\u003c/li\u003e\n\u003cli\u003egithubuser578 \u003ca href=\"https://github.com/githubuser578\"\u003e\u003ccode\u003e@​githubuser578\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGuillaume DROUARD\u003c/li\u003e\n\u003cli\u003eJames Henry \u003ca href=\"https://github.com/JamesHenry\"\u003e\u003ccode\u003e@​JamesHenry\u003c/code\u003e\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/angular-eslint/angular-eslint/blob/main/packages/angular-eslint/CHANGELOG.md\"\u003eangular-eslint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.4.0 (2026-05-13)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for angular-eslint to align it with other projects, there were no code changes.\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/angular-eslint/angular-eslint/commit/0a774c724574c3c35acf9ba432f60269e7418938\"\u003e\u003ccode\u003e0a774c7\u003c/code\u003e\u003c/a\u003e chore(release): publish 21.4.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular-eslint/angular-eslint/commits/v21.4.0/packages/angular-eslint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cypress` from 15.13.0 to 15.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cypress-io/cypress/releases\"\u003ecypress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev15.16.0\u003c/h2\u003e\n\u003cp\u003eChangelog: \u003ca href=\"https://docs.cypress.io/app/references/changelog#15-16-0\"\u003ehttps://docs.cypress.io/app/references/changelog#15-16-0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev15.15.0\u003c/h2\u003e\n\u003cp\u003eChangelog: \u003ca href=\"https://docs.cypress.io/app/references/changelog#15-15-0\"\u003ehttps://docs.cypress.io/app/references/changelog#15-15-0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev15.14.2\u003c/h2\u003e\n\u003cp\u003eChangelog: \u003ca href=\"https://docs.cypress.io/app/references/changelog#15-14-2\"\u003ehttps://docs.cypress.io/app/references/changelog#15-14-2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev15.14.1\u003c/h2\u003e\n\u003cp\u003eChangelog: \u003ca href=\"https://docs.cypress.io/app/references/changelog#15-14-1\"\u003ehttps://docs.cypress.io/app/references/changelog#15-14-1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev15.14.0\u003c/h2\u003e\n\u003cp\u003eChangelog: \u003ca href=\"https://docs.cypress.io/app/references/changelog#15-14-0\"\u003ehttps://docs.cypress.io/app/references/changelog#15-14-0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev15.13.1\u003c/h2\u003e\n\u003cp\u003eChangelog: \u003ca href=\"https://docs.cypress.io/app/references/changelog#15-13-1\"\u003ehttps://docs.cypress.io/app/references/changelog#15-13-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/cypress-io/cypress/commit/22aaf2371462ec13f138fd96c11e8f9f885ed575\"\u003e\u003ccode\u003e22aaf23\u003c/code\u003e\u003c/a\u003e chore: bump cypress-example-kitchensink to 6.0.2 for release (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33921\"\u003e#33921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/448155c6248aadc696c7add55f96c4cc1a01deca\"\u003e\u003ccode\u003e448155c\u003c/code\u003e\u003c/a\u003e fix(cli): use verbose Listr renderer in CI for install + verify output (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33890\"\u003e#33890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/01cd8873d3e2b50279d581407d0ea98168af85fb\"\u003e\u003ccode\u003e01cd887\u003c/code\u003e\u003c/a\u003e chore: surface wrong-passphrase client cert PEM errors consistently in OpenSS...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/4534d04c861ef14fbcc06bf7331cc4d8656b977c\"\u003e\u003ccode\u003e4534d04\u003c/code\u003e\u003c/a\u003e fix: pin \u003ccode\u003e@​sinonjs/fake-timers\u003c/code\u003e type resolution in bundled sinon types (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33886\"\u003e#33886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/d7cd85a43d1a64d2388bf4ff0876989e47093213\"\u003e\u003ccode\u003ed7cd85a\u003c/code\u003e\u003c/a\u003e refactor(server): convert unit test specs to TypeScript (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33899\"\u003e#33899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/2d5366d794e642cd8f6d057cfd443b08d72e9476\"\u003e\u003ccode\u003e2d5366d\u003c/code\u003e\u003c/a\u003e test: preserve allowCypressEnv in subscription test config rewrites (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33910\"\u003e#33910\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/fcee42556c8145c1a347864feb00e2617ee18db7\"\u003e\u003ccode\u003efcee425\u003c/code\u003e\u003c/a\u003e chore: updating v8 snapshot cache (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33909\"\u003e#33909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/986c3b2b886bbca3a7b29c1960439c614d70a300\"\u003e\u003ccode\u003e986c3b2\u003c/code\u003e\u003c/a\u003e chore: updating v8 snapshot cache (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33903\"\u003e#33903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/de76502f4d7600126a5c45ed7601ed77468defd2\"\u003e\u003ccode\u003ede76502\u003c/code\u003e\u003c/a\u003e chore: Update v8 snapshot cache - linux (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33875\"\u003e#33875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/247a0333a8a5d97e80079bce65def84a70560c3f\"\u003e\u003ccode\u003e247a033\u003c/code\u003e\u003c/a\u003e chore: updating v8 snapshot cache (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33901\"\u003e#33901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cypress-io/cypress/compare/v15.13.0...v15.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-cypress` from 6.2.2 to 6.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/releases\"\u003eeslint-plugin-cypress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.4.0...v6.4.1\"\u003e6.4.1\u003c/a\u003e (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency globals to ^17.6.0 (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/340\"\u003e#340\u003c/a\u003e) (\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/11f8df6dc6be97c9c8d75687f2c180ecf7f238be\"\u003e11f8df6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.4.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.3.1...v6.4.0\"\u003e6.4.0\u003c/a\u003e (2026-04-28)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport chains started of helper functions in unsafe-to-chain-command (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/307\"\u003e#307\u003c/a\u003e) (\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/bdf94f2b9d66fa2282d455b03763acb7cb11fc12\"\u003ebdf94f2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.3.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.3.0...v6.3.1\"\u003e6.3.1\u003c/a\u003e (2026-04-14)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency globals to ^17.5.0 (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/326\"\u003e#326\u003c/a\u003e) (\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/257d0ec1d86463550fec3f796e5c6b7917e02c6f\"\u003e257d0ec\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.3.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.2.3...v6.3.0\"\u003e6.3.0\u003c/a\u003e (2026-04-09)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadded no-and rule to ensure .and() follows certain commands (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/310\"\u003e#310\u003c/a\u003e) (\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/c0b7e3b1d60e54eb5c7057db846331e11154bb7d\"\u003ec0b7e3b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.2.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.2.2...v6.2.3\"\u003e6.2.3\u003c/a\u003e (2026-04-06)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eno-unnecessary-waiting\u003c/code\u003e flag identifiers defined in object/array patterns (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/308\"\u003e#308\u003c/a\u003e) (\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/f5ccf77c546db3862026d6ee7bd1c3b0f3e8705f\"\u003ef5ccf77\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/cypress-io/eslint-plugin-cypress/commit/11f8df6dc6be97c9c8d75687f2c180ecf7f238be\"\u003e\u003ccode\u003e11f8df6\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency globals to ^17.6.0 (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/340\"\u003e#340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/3be404f24c5ee6b592c3bf237691556c83b6465f\"\u003e\u003ccode\u003e3be404f\u003c/code\u003e\u003c/a\u003e chore(deps): update eslint (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/342\"\u003e#342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/586f95eab4bfdb942152f8b90abbcc5e5e284204\"\u003e\u003ccode\u003e586f95e\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/341\"\u003e#341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/64ad10cfb6cfad4fd2cab04affe6edab28a8e7d7\"\u003e\u003ccode\u003e64ad10c\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency cypress to ^15.14.2 (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/6043370e7de30cb742d880f532579b9b4a84ee4f\"\u003e\u003ccode\u003e6043370\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint to ^10.3.0 (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/339\"\u003e#339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/da2f83c7ce13e4b9461bf2defe0d03e5f8ff3eb2\"\u003e\u003ccode\u003eda2f83c\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency cypress to ^15.14.1 (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/529b061a5389bd03a69affdcd3e4e016fbc3f3b2\"\u003e\u003ccode\u003e529b061\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency \u003ccode\u003e@​typescript-eslint/rule-tester\u003c/code\u003e to ^8.59.1 (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/336\"\u003e#336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/bdf94f2b9d66fa2282d455b03763acb7cb11fc12\"\u003e\u003ccode\u003ebdf94f2\u003c/code\u003e\u003c/a\u003e feat: support chains started of helper functions in unsafe-to-chain-command (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/d5fcd0cf31f66ed16ae807518f450342f407fca9\"\u003e\u003ccode\u003ed5fcd0c\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency typescript-eslint to ^8.59.1 (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/335\"\u003e#335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/a1fa8fb98256e011cbc5c31f09050c46f90b1777\"\u003e\u003ccode\u003ea1fa8fb\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/334\"\u003e#334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.2.2...v6.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-prettier` from 5.5.5 to 5.5.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/releases\"\u003eeslint-plugin-prettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/pull/791\"\u003e#791\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: bump all (dev)Dependencies\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/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md\"\u003eeslint-plugin-prettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/pull/791\"\u003e#791\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: bump all (dev)Dependencies\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/prettier/eslint-plugin-prettier/commit/4f33ea5a503c6cdbda93424ebd13188a46a1a890\"\u003e\u003ccode\u003e4f33ea5\u003c/code\u003e\u003c/a\u003e chore: release eslint-plugin-prettier (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/792\"\u003e#792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/4745b54882a9011704764070a28aaaf0504efc92\"\u003e\u003ccode\u003e4745b54\u003c/code\u003e\u003c/a\u003e ci: declare workflow-level contents: read on 2 workflows (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e chore: bump all (dev)Dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/791\"\u003e#791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/e867680b2c1cf3748322c8c802690e7cfb78e233\"\u003e\u003ccode\u003ee867680\u003c/code\u003e\u003c/a\u003e chore(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/766\"\u003e#766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/e8e2f7f1dcad747f1d43168ee09956b512956593\"\u003e\u003ccode\u003ee8e2f7f\u003c/code\u003e\u003c/a\u003e chore: testing eslint v10 (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/779\"\u003e#779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/ca076d95aaf69aaf9c95abcc1692f8269197f248\"\u003e\u003ccode\u003eca076d9\u003c/code\u003e\u003c/a\u003e chore: update dev dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/42e636951f8d53d169b1f8c2b7e7dfd792711113\"\u003e\u003ccode\u003e42e6369\u003c/code\u003e\u003c/a\u003e build(deps): Bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/778\"\u003e#778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/53ff2143c03609e75b60e0e33d56c8089f0b364f\"\u003e\u003ccode\u003e53ff214\u003c/code\u003e\u003c/a\u003e Remove empty NPM_TOKEN from release.yml\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/compare/v5.5.5...v5.5.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 29.0.1 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v29.0.1...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.8.1 to 3.8.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.8.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003eprettier/prettier#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.8.3/CHANGELOG.md#383\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Angular v21.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md#382\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.8.3\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.2...3.8.3\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003e#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"scss\"\u003e\u003ccode\u003e// Input\n$value: if(sass(false): 1; else: -1);\n\u003cp\u003e// Prettier 3.8.2\n$value: if(\nsass(false): 1; else: -1,\n);\u003c/p\u003e\n\u003cp\u003e// Prettier 3.8.3\n$value: if(sass(false): 1; else: -1);\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.8.2\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.1...3.8.2\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eAngular: Support Angular v21.2 (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18722\"\u003e#18722\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pul...\n\n_Description has been truncated_","html_url":"https://github.com/mrlonis/todo-ui/pull/418","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrlonis%2Ftodo-ui/issues/418","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/418/packages"},{"uuid":"4546353818","node_id":"PR_kwDOJ_yh487giQU2","number":140,"state":"open","title":"chore(deps-dev): bump jsdom from 28.1.0 to 29.1.1","user":"dependabot[bot]","labels":["🤩 size/xs"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-29T06:51:37.000Z","updated_at":"2026-05-29T06:52:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"jsdom","old_version":"28.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 28.1.0 to 29.1.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v28.1.0...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=28.1.0\u0026new-version=29.1.1)](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/Proskynete/eduardoalvarez.dev/pull/140","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Proskynete%2Feduardoalvarez.dev/issues/140","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/140/packages"},{"uuid":"4545986985","node_id":"PR_kwDOPqCURM7ghCvj","number":7,"state":"open","title":"Bump jsdom from 24.1.3 to 29.1.1 in /frontend","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-05-29T05:39:35.000Z","updated_at":"2026-05-29T05:39:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"jsdom","old_version":"24.1.3","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":"/frontend","ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 24.1.3 to 29.1.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v24.1.3...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=24.1.3\u0026new-version=29.1.1)](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/rddd2006/splittr/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rddd2006%2Fsplittr/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"},{"uuid":"4545334497","node_id":"PR_kwDOJ1w1z87ge6gr","number":10,"state":"open","title":"build(deps-dev): bump jsdom from 25.0.1 to 29.1.1","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-29T03:02:43.000Z","updated_at":"2026-05-29T03:02:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"jsdom","old_version":"25.0.1","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 25.0.1 to 29.1.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v25.0.1...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=25.0.1\u0026new-version=29.1.1)](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/lucasidev/react-tailwind-seminarioPokedexAPP/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasidev%2Freact-tailwind-seminarioPokedexAPP/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"},{"uuid":"4544860086","node_id":"PR_kwDOQov_os7gdZGi","number":200,"state":"open","title":"chore(deps-dev)(deps-dev): bump the development-all group across 1 directory with 40 updates","user":"dependabot[bot]","labels":["dependencies","security"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-29T01:03:35.000Z","updated_at":"2026-05-29T01:04:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)(deps-dev): bump","group_name":"development-all","update_count":40,"packages":[{"name":"@playwright/test","old_version":"1.58.2","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"@testcontainers/postgresql","old_version":"12.0.0","new_version":"12.0.1","repository_url":"https://github.com/testcontainers/testcontainers-node"},{"name":"@types/node","old_version":"25.3.2","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.56.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.56.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/coverage-istanbul","old_version":"4.0.18","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/coverage-v8","old_version":"4.0.18","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"axe-core","old_version":"4.11.1","new_version":"4.11.4","repository_url":"https://github.com/dequelabs/axe-core"},{"name":"concurrently","old_version":"9.2.1","new_version":"10.0.0","repository_url":"https://github.com/open-cli-tools/concurrently"},{"name":"cspell","old_version":"9.7.0","new_version":"10.0.0","repository_url":"https://github.com/streetsidesoftware/cspell"},{"name":"dependency-cruiser","old_version":"17.3.8","new_version":"17.4.2","repository_url":"https://github.com/sverweij/dependency-cruiser"},{"name":"eslint","old_version":"10.0.2","new_version":"10.4.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-sonarjs","old_version":"4.0.0","new_version":"4.0.3","repository_url":"https://github.com/SonarSource/SonarJS"},{"name":"jsdom","old_version":"28.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"markdownlint-cli","old_version":"0.47.0","new_version":"0.48.0","repository_url":"https://github.com/igorshubovych/markdownlint-cli"},{"name":"memfs","old_version":"4.56.10","new_version":"4.57.3","repository_url":"https://github.com/streamich/memfs"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"puppeteer","old_version":"25.0.3","new_version":"25.1.0","repository_url":"https://github.com/puppeteer/puppeteer"},{"name":"tsx","old_version":"4.21.0","new_version":"4.22.3","repository_url":"https://github.com/privatenumber/tsx"},{"name":"turbo","old_version":"2.9.15","new_version":"2.9.16","repository_url":"https://github.com/vercel/turborepo"},{"name":"typescript-eslint","old_version":"8.56.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"vite","old_version":"7.3.2","new_version":"8.0.14","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"4.0.18","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/ui","old_version":"4.0.18","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"vitest-mock-extended","old_version":"3.1.0","new_version":"4.0.0","repository_url":"https://github.com/eratio08/vitest-mock-extended"},{"name":"@next/eslint-plugin-next","old_version":"16.1.6","new_version":"16.2.6","repository_url":"https://github.com/vercel/next.js"},{"name":"@tailwindcss/postcss","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"tailwindcss","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@storybook/react","old_version":"8.6.15","new_version":"10.4.1","repository_url":"https://github.com/storybookjs/storybook"},{"name":"eslint-plugin-react-hooks","old_version":"7.0.1","new_version":"7.1.1","repository_url":"https://github.com/facebook/react"},{"name":"happy-dom","old_version":"20.8.9","new_version":"20.9.0","repository_url":"https://github.com/capricorn86/happy-dom"},{"name":"msw","old_version":"2.12.10","new_version":"2.14.6","repository_url":"https://github.com/mswjs/msw"},{"name":"prisma","old_version":"7.4.2","new_version":"7.8.0","repository_url":"https://github.com/prisma/prisma"},{"name":"@storybook/addon-a11y","old_version":"10.4.0","new_version":"10.4.1","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/addon-essentials","old_version":"8.6.15","new_version":"8.6.18","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/addon-interactions","old_version":"8.6.15","new_version":"8.6.18","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/addon-links","old_version":"10.4.0","new_version":"10.4.1","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/addon-onboarding","old_version":"8.6.15","new_version":"10.4.1","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/react-vite","old_version":"10.2.13","new_version":"10.4.1","repository_url":"https://github.com/storybookjs/storybook"},{"name":"storybook","old_version":"10.2.13","new_version":"10.4.1","repository_url":"https://github.com/storybookjs/storybook"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-all group with 40 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.58.2` | `1.60.0` |\n| [@testcontainers/postgresql](https://github.com/testcontainers/testcontainers-node) | `12.0.0` | `12.0.1` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.3.2` | `25.9.1` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.56.1` | `8.60.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.56.1` | `8.60.0` |\n| [@vitest/coverage-istanbul](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul) | `4.0.18` | `4.1.7` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.0.18` | `4.1.7` |\n| [axe-core](https://github.com/dequelabs/axe-core) | `4.11.1` | `4.11.4` |\n| [concurrently](https://github.com/open-cli-tools/concurrently) | `9.2.1` | `10.0.0` |\n| [cspell](https://github.com/streetsidesoftware/cspell/tree/HEAD/packages/cspell) | `9.7.0` | `10.0.0` |\n| [dependency-cruiser](https://github.com/sverweij/dependency-cruiser) | `17.3.8` | `17.4.2` |\n| [eslint](https://github.com/eslint/eslint) | `10.0.2` | `10.4.0` |\n| [eslint-plugin-sonarjs](https://github.com/SonarSource/SonarJS) | `4.0.0` | `4.0.3` |\n| [jsdom](https://github.com/jsdom/jsdom) | `28.1.0` | `29.1.1` |\n| [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli) | `0.47.0` | `0.48.0` |\n| [memfs](https://github.com/streamich/memfs) | `4.56.10` | `4.57.3` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [puppeteer](https://github.com/puppeteer/puppeteer) | `25.0.3` | `25.1.0` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.22.3` |\n| [turbo](https://github.com/vercel/turborepo) | `2.9.15` | `2.9.16` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.56.1` | `8.60.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `7.3.2` | `8.0.14` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.18` | `4.1.7` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `4.0.18` | `4.1.7` |\n| [vitest-mock-extended](https://github.com/eratio08/vitest-mock-extended) | `3.1.0` | `4.0.0` |\n| [@next/eslint-plugin-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next) | `16.1.6` | `16.2.6` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.1` | `4.3.0` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.1` | `4.3.0` |\n| [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) | `8.6.15` | `10.4.1` |\n| [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) | `7.0.1` | `7.1.1` |\n| [happy-dom](https://github.com/capricorn86/happy-dom) | `20.8.9` | `20.9.0` |\n| [msw](https://github.com/mswjs/msw) | `2.12.10` | `2.14.6` |\n| [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli) | `7.4.2` | `7.8.0` |\n| [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) | `10.4.0` | `10.4.1` |\n| [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials) | `8.6.15` | `8.6.18` |\n| [@storybook/addon-interactions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions) | `8.6.15` | `8.6.18` |\n| [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/links) | `10.4.0` | `10.4.1` |\n| [@storybook/addon-onboarding](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/onboarding) | `8.6.15` | `10.4.1` |\n| [@storybook/react-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite) | `10.2.13` | `10.4.1` |\n| [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/core) | `10.2.13` | `10.4.1` |\n\n\nUpdates `@playwright/test` from 1.58.2 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e@​playwright/test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛑 test.abort()\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-test#test-abort\"\u003etest.abort()\u003c/a\u003e aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003etest('does not publish to the shared page', async ({ page }) =\u0026gt; {\r\n  await page.route('**/publish', route =\u0026gt; {\r\n    test.abort('Tests must not publish to the shared page. Use the `clone` option.');\r\n    return route.abort();\r\n  });\r\n  // ...\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eNew APIs\u003c/h2\u003e\n\u003ch3\u003eBrowser, Context and Page\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/microsoft/playwright/commit/87bb9ddbd78f329df18c2b24847bc9409240cd07\"\u003e\u003ccode\u003e87bb9dd\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40747\"\u003e#40747\u003c/a\u003e): fix(yauzl): vendor yauzl with destroy-lifecycle fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9a9c51cb7d1b39fab51ca288e59f8ca38fd19910\"\u003e\u003ccode\u003e9a9c51c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40733\"\u003e#40733\u003c/a\u003e): chore(electron): revert \u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40184\"\u003e#40184\u003c/a\u003e (move Electron API to a s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/4b3b628663031bcaaeca907e337892263524634d\"\u003e\u003ccode\u003e4b3b628\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40736\"\u003e#40736\u003c/a\u003e): Revert \u0026quot;feat(electron): add timeout option to electronAp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f869f96bbe6607cc3b88b4ca96fd82f17b301b50\"\u003e\u003ccode\u003ef869f96\u003c/code\u003e\u003c/a\u003e chore: bump version to v1.60.0 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40714\"\u003e#40714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/7eb6918afadfb0dd5c7e94ca9ffbddd84d8fbb39\"\u003e\u003ccode\u003e7eb6918\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40710\"\u003e#40710\u003c/a\u003e): docs: release notes v1.60\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/118d2aa6076d82840decca15d96b48611b08e392\"\u003e\u003ccode\u003e118d2aa\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40693\"\u003e#40693\u003c/a\u003e): chore(python): formdata path type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/54012f5dcc586da2e5d6cccd75f13ca367b94579\"\u003e\u003ccode\u003e54012f5\u003c/code\u003e\u003c/a\u003e chore(deps): bump ip-address and express-rate-limit (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40680\"\u003e#40680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9fa531da5677a3807d6e1dccd22c5137339a44f7\"\u003e\u003ccode\u003e9fa531d\u003c/code\u003e\u003c/a\u003e fix(screencast): unblock frame ack when an async client disconnects (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40674\"\u003e#40674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/3649db560ff943e724185784d34f7db131a11961\"\u003e\u003ccode\u003e3649db5\u003c/code\u003e\u003c/a\u003e chore(mcp): bump default extension protocol to v2 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40678\"\u003e#40678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/bb6c00957f47ba04caad7fca75d426309a2d32d4\"\u003e\u003ccode\u003ebb6c009\u003c/code\u003e\u003c/a\u003e chore(extension): mark 0.2.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40679\"\u003e#40679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.58.2...v1.60.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@testcontainers/postgresql` from 12.0.0 to 12.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-node/releases\"\u003e@​testcontainers/postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.0.1\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Podman image healthcheck detection \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd npm dependency release age cooldown \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse Docker Hub Redpanda image \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse preinstalled Podman in checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify affected package checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd npm publish dry run workflow \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade build agents from Ubuntu 22.04 to 24.04 \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove module compile checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1327\"\u003e#1327\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump tmp from 0.2.5 to 0.2.6 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 14 directories with 16 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group with 13 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 13 directories with 12 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 1 directory with 22 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1331\"\u003e#1331\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/testcontainers/testcontainers-node/commit/4d8de0cd81c26734b2c95b5fd717fa62ea0648eb\"\u003e\u003ccode\u003e4d8de0c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;v12.0.1\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/d2e4da4b820d5694b120739dad0c360c9e50c3b6\"\u003e\u003ccode\u003ed2e4da4\u003c/code\u003e\u003c/a\u003e v12.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/1077fd6bce442a08fdea707536290a1ae7a0de88\"\u003e\u003ccode\u003e1077fd6\u003c/code\u003e\u003c/a\u003e Revert default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1346\"\u003e#1346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/665feb4f42073eb7394435a84c6eff9f20d7a714\"\u003e\u003ccode\u003e665feb4\u003c/code\u003e\u003c/a\u003e Bump tmp from 0.2.5 to 0.2.6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cdb8366ad8c17692782a2073406209699eeeff73\"\u003e\u003ccode\u003ecdb8366\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 14 directories with 16 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/3148791de679c3208beb6c1a8f37eafe8abb6810\"\u003e\u003ccode\u003e3148791\u003c/code\u003e\u003c/a\u003e Add default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1340\"\u003e#1340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/34c581136a78d3b2098253c8ed86515617d76a52\"\u003e\u003ccode\u003e34c5811\u003c/code\u003e\u003c/a\u003e Add npm dependency release age cooldown (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/c584af1ca12b059c13ba9d76d3b73a2440dbae92\"\u003e\u003ccode\u003ec584af1\u003c/code\u003e\u003c/a\u003e Fix Podman image healthcheck detection (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cae5c26312c234df0001f2866e9d8e58002e54c7\"\u003e\u003ccode\u003ecae5c26\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 13 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/33e1dc109cc94ef9b4e0020b4a6fd9e8b8a354af\"\u003e\u003ccode\u003e33e1dc1\u003c/code\u003e\u003c/a\u003e Use Docker Hub Redpanda image (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-node/compare/v12.0.0...v12.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.3.2 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.56.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\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/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-deprecated] object destructuring values should be treated as declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12292\"\u003e#12292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-type-assertion] handle crash on recursive template literal types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12150\"\u003e#12150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDima Barabash\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4302433ae6bf93d4ddc35264ad1b951254758566\"\u003e\u003ccode\u003e4302433\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-floating-promises] stack overflow when using recursiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/10b79f1ba8e98610a3af85152a1b3b406f91e633\"\u003e\u003ccode\u003e10b79f1\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint to v10.4.0 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12339\"\u003e#12339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2a6765d9628dc776f8127c96f088bb807c0bcab2\"\u003e\u003ccode\u003e2a6765d\u003c/code\u003e\u003c/a\u003e chore: clenaup \u003ccode\u003egetAwaitedType\u003c/code\u003e from \u003ccode\u003etypescript.d.ts\u003c/code\u003e (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12302\"\u003e#12302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e26dc8003ababf078aad4df17765ee4cea30644c\"\u003e\u003ccode\u003ee26dc80\u003c/code\u003e\u003c/a\u003e docs: update stale links to latest (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12313\"\u003e#12313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ec3ef25390f7daf5a9ff33a60282bdbbb49ab0f3\"\u003e\u003ccode\u003eec3ef25\u003c/code\u003e\u003c/a\u003e test: make no-useless-empty-export tests fully static (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12260\"\u003e#12260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/eslint-plugin\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/parser` from 8.56.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\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/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.0 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.58.2 (2026-04-13)\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/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/52457932e5507b5ca01e720a541f3f8d01e09b9d\"\u003e\u003ccode\u003e5245793\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ea9ae4f8817873480e3501145059f63e39e8d8a1\"\u003e\u003ccode\u003eea9ae4f\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/90c2803a4c250e0343598d41e973f95e743bf4ce\"\u003e\u003ccode\u003e90c2803\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/be6b49a02d68db9bdc8985e7e9e1598700fda2fa\"\u003e\u003ccode\u003ebe6b49a\u003c/code\u003e\u003c/a\u003e fix: remove tsbuildinfo cache file from published packages (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12187\"\u003e#12187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/5311ed312eadf4e238324f2726ae0b1f3f2206e6\"\u003e\u003ccode\u003e5311ed3\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/coverage-istanbul` from 4.0.18 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/coverage-istanbul's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.5\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option  -  by \u003ca href=\"https://github.com/BartWaardenburg\"\u003e\u003ccode\u003e@​BartWaardenburg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10119\"\u003evitest-dev/vitest#10119\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7\"\u003e\u003c!-- raw HTML omitted --\u003e(0e0ff)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e--project negation excludes browser instances  -  by \u003ca href=\"https://github.com/felamaslen\"\u003e\u003ccode\u003e@​felamaslen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10131\"\u003evitest-dev/vitest#10131\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc084\"\u003e\u003c!-- raw HTML omitted --\u003e(9423d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProject color label on html reporter  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10142\"\u003evitest-dev/vitest#10142\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986\"\u003e\u003c!-- raw HTML omitted --\u003e(596f7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10163\"\u003evitest-dev/vitest#10163\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b\"\u003e\u003c!-- raw HTML omitted --\u003e(122c2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10157\"\u003evitest-dev/vitest#10157\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3\"\u003e\u003c!-- raw HTML omitted --\u003e(663b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedad\"\u003e\u003c!-- raw HTML omitted --\u003e(9787d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions \u0026quot;  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd\"\u003e\u003c!-- raw HTML omitted --\u003e(7dc6d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003east-collect\u003c/strong\u003e: Recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery  -  by \u003ca href=\"https://github.com/Yejneshwar\"\u003e\u003ccode\u003e@​Yejneshwar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10129\"\u003evitest-dev/vitest#10129\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab2\"\u003e\u003c!-- raw HTML omitted --\u003e(32546)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Descriptive error message when reports directory is removed during test run  -  by \u003ca href=\"https://github.com/DaveT1991\"\u003e\u003ccode\u003e@​DaveT1991\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10117\"\u003evitest-dev/vitest#10117\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1413382e1\"\u003e\u003c!-- raw HTML omitted --\u003e(14133)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e: Increase default snapshot max output length  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10150\"\u003evitest-dev/vitest#10150\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/21e66ff63\"\u003e\u003c!-- raw HTML omitted --\u003e(21e66)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e: Fix jsx/tsx syntax highlight  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10152\"\u003evitest-dev/vitest#10152\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b\"\u003e\u003c!-- raw HTML omitted --\u003e(f1b1f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eweb-worker\u003c/strong\u003e: Support MessagePort objects referenced inside postMessage data  -  by \u003ca href=\"https://github.com/whitphx\"\u003e\u003ccode\u003e@​whitphx\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9927\"\u003evitest-dev/vitest#9927\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10124\"\u003evitest-dev/vitest#10124\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7ad7d39af\"\u003e\u003c!-- raw HTML omitted --\u003e(7ad7d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e: Make test-specification options writable  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10154\"\u003evitest-dev/vitest#10154\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7\"\u003e\u003c!-- raw HTML omitted --\u003e(6abd5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.4\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDefault to text reporter \u003ccode\u003eskipFull\u003c/code\u003e if agent detected  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10018\"\u003evitest-dev/vitest#10018\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/53757804c\"\u003e\u003c!-- raw HTML omitted --\u003e(53757)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eExpose \u003ccode\u003eassertion\u003c/code\u003e as a public field  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10095\"\u003evitest-dev/vitest#10095\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a120e3ab8\"\u003e\u003c!-- raw HTML omitted --\u003e(a120e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport aria snapshot  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e, \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9668\"\u003evitest-dev/vitest#9668\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d4fbb5cc9\"\u003e\u003c!-- raw HTML omitted --\u003e(d4fbb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7e86d6e2bf581f074dc216805d10d371\"\u003e\u003ccode\u003e0e0ff41\u003c/code\u003e\u003c/a\u003e feat(coverage): istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul/issues/10119\"\u003e#10119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/ac04bac206f49d793e7277084f707aee718aa936\"\u003e\u003ccode\u003eac04bac\u003c/code\u003e\u003c/a\u003e chore: release v4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/2dc0d62eaf08d8acb1f5042fdb8ac5b4a19fdc73\"\u003e\u003ccode\u003e2dc0d62\u003c/code\u003e\u003c/a\u003e chore: release v4.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/fc6f482f4c54bf6a766a0ff502b9843994af5bf5\"\u003e\u003ccode\u003efc6f482\u003c/code\u003e\u003c/a\u003e chore: release v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/1f2d318493363855b66a22caaf7c1c10579029d5\"\u003e\u003ccode\u003e1f2d318\u003c/code\u003e\u003c/a\u003e chore: release v4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/aaf9f18ae70e52b6e67aaf85f7f784d9dabd0acc\"\u003e\u003ccode\u003eaaf9f18\u003c/code\u003e\u003c/a\u003e fix(coverage): simplify provider types (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul/issues/9931\"\u003e#9931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/4150b913171bda3971a4a4c47c633c26d0c6ae45\"\u003e\u003ccode\u003e4150b91\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/coverage-istanbul\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/coverage-v8` from 4.0.18 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/coverage-v8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.5\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option  -  by \u003ca href=\"https://github.com/BartWaardenburg\"\u003e\u003ccode\u003e@​BartWaardenburg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10119\"\u003evitest-dev/vitest#10119\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7\"\u003e\u003c!-- raw HTML omitted --\u003e(0e0ff)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e--project negation excludes browser instances  -  by \u003ca href=\"https://github.com/felamaslen\"\u003e\u003ccode\u003e@​felamaslen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10131\"\u003evitest-dev/vitest#10131\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc084\"\u003e\u003c!-- raw HTML omitted --\u003e(9423d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProject color label on html reporter  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10142\"\u003evitest-dev/vitest#10142\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986\"\u003e\u003c!-- raw HTML omitted --\u003e(596f7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10163\"\u003evitest-dev/vitest#10163\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b\"\u003e\u003c!-- raw HTML omitted --\u003e(122c2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10157\"\u003evitest-dev/vitest#10157\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3\"\u003e\u003c!-- raw HTML omitted --\u003e(663b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedad\"\u003e\u003c!-- raw HTML omitted --\u003e(9787d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions \u0026quot;  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd\"\u003e\u003c!-- raw HTML omitted --\u003e(7dc6d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003east-collect\u003c/strong\u003e: Recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery  -  by \u003ca href=\"https://github.com/Yejneshwar\"\u003e\u003ccode\u003e@​Yejneshwar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10129\"\u003evitest-dev/vitest#10129\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab2\"\u003e\u003c!-- raw HTML omitted --\u003e(32546)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Descriptive error message when reports directory is removed during test run  -  by \u003ca href=\"https://github.com/DaveT1991\"\u003e\u003ccode\u003e@​DaveT1991\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10117\"\u003evitest-dev/vitest#10117\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1413382e1\"\u003e\u003c!-- raw HTML omitted --\u003e(14133)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e: Increase default snapshot max output length  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10150\"\u003evitest-dev/vitest#10150\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/21e66ff63\"\u003e\u003c!-- raw HTML omitted --\u003e(21e66)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e: Fix jsx/tsx syntax highlight  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10152\"\u003evitest-dev/vitest#10152\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b\"\u003e\u003c!-- raw HTML omitted --\u003e(f1b1f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eweb-worker\u003c/strong\u003e: Support MessagePort objects referenced inside postMessage data  -  by \u003ca href=\"https://github.com/whitphx\"\u003e\u003ccode\u003e@​whitphx\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9927\"\u003evitest-dev/vitest#9927\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10124\"\u003evitest-dev/vitest#10124\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7ad7d39af\"\u003e\u003c!-- raw HTML omitted --\u003e(7ad7d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e: Make test-specification options writable  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10154\"\u003evitest-dev/vitest#10154\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7\"\u003e\u003c!-- raw HTML omitted --\u003e(6abd5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.4\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDefault to text reporter \u003ccode\u003eskipFull\u003c/code\u003e if agent detected  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10018\"\u003evitest-dev/vitest#10018\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/53757804c\"\u003e\u003c!-- raw HTML omitted --\u003e(53757)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eExpose \u003ccode\u003eassertion\u003c/code\u003e as a public field  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10095\"\u003evitest-dev/vitest#10095\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a120e3ab8\"\u003e\u003c!-- raw HTML omitted --\u003e(a120e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport aria snapshot  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e, \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9668\"\u003evitest-dev/vitest#9668\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d4fbb5cc9\"\u003e\u003c!-- raw HTML omitted --\u003e(d4fbb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/ac04bac206f49d793e7277084f707aee718aa936\"\u003e\u003ccode\u003eac04bac\u003c/code\u003e\u003c/a\u003e chore: release v4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/2dc0d62eaf08d8acb1f5042fdb8ac5b4a19fdc73\"\u003e\u003ccode\u003e2dc0d62\u003c/code\u003e\u003c/a\u003e chore: release v4.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/fc6f482f4c54bf6a766a0ff502b9843994af5bf5\"\u003e\u003ccode\u003efc6f482\u003c/code\u003e\u003c/a\u003e chore: release v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/1f2d318493363855b66a22caaf7c1c10579029d5\"\u003e\u003ccode\u003e1f2d318\u003c/code\u003e\u003c/a\u003e chore: release v4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/aaf9f18ae70e52b6e67aaf85f7f784d9dabd0acc\"\u003e\u003ccode\u003eaaf9f18\u003c/code\u003e\u003c/a\u003e fix(coverage): simplify provider types (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9931\"\u003e#9931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/4150b913171bda3971a4a4c47c633c26d0c6ae45\"\u003e\u003ccode\u003e4150b91\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0c2c01361a95dd26d0d7fd7bc38bcca8dbc6e5d2\"\u003e\u003ccode\u003e0c2c013\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0-beta.6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `axe-core` from 4.11.1 to 4.11.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dequelabs/axe-core/releases\"\u003eaxe-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 4.11.4\u003c/h2\u003e\n\u003cp\u003eThis release addresses an issue with ancestry selectors. It is unlikely to change the number of issues found by axe-core.\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecommons/text:\u003c/strong\u003e exclude natively hidden elements from aria-labelledby accessible name (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5076\"\u003e#5076\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/df34adfc1967919d667d40a76ab5c85b6e47ddfe\"\u003edf34adf\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4704\"\u003e#4704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eutils/getAncestry:\u003c/strong\u003e escape node name (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5079\"\u003e#5079\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6e68d0a5d26999b996152df82238bc3f3a041cb3\"\u003e6e68d0a\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5078\"\u003e#5078\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 4.11.3\u003c/h2\u003e\n\u003cp\u003eThis release addresses a few false positives, which may reduce the number of issues on \u003ccode\u003eterget-size\u003c/code\u003e and \u003ccode\u003earia-allowed-attr\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003earia-allowed-attr:\u003c/strong\u003e restrict br and wbr elements to aria-hidden only (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4974\"\u003e#4974\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/1d801636f058f2abd885c488baff954872b13846\"\u003e1d80163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etarget-size:\u003c/strong\u003e ignore position: fixed elements that are offscreen when page is scrolled (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5066\"\u003e#5066\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/5906273841cbd7ac9e08af730dffc244cf42b39b\"\u003e5906273\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5065\"\u003e#5065\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 4.11.2\u003c/h2\u003e\n\u003cp\u003eThis release addresses a number of false positives, including ones related to target size. It adds new affordances for ARIA, and adds a clarification around the scrollable regions rule.\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003earia-valid-attr-value:\u003c/strong\u003e handle multiple aria-errormessage IDs (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4973\"\u003e#4973\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/9322148b69924d6ae2d2dd46e6109bc2fc53abd3\"\u003e9322148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia:\u003c/strong\u003e prevent getOwnedVirtual from returning duplicate nodes (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4987\"\u003e#4987\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/99d1e77f351db586c79020372efc59608e604a1c\"\u003e99d1e77\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4840\"\u003e#4840\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDqElement:\u003c/strong\u003e avoid calling constructors with cloneNode (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5013\"\u003e#5013\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/88bc57fd3de12cd69d365b3f385ce9a2e30b7bd5\"\u003e88bc57f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexisting-rule:\u003c/strong\u003e aria-busy now shows an error message for a use with unallowed children (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5017\"\u003e#5017\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/dded75a9acc9a2350926f46f04e0f1de522f43d6\"\u003edded75a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003escrollable-region-focusable:\u003c/strong\u003e clarify the issue is in safari (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4995\"\u003e#4995\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/2567afd5c32398c6a488240b066bb0d335f6dc6a\"\u003e2567afd\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/WebKit/issues/190870\"\u003eWebKit#190870\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/WebKit/issues/277290\"\u003eWebKit#277290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003escrollable-region-focusable:\u003c/strong\u003e do not fail scroll areas when all content is visible without scrolling (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4993\"\u003e#4993\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/240f8b53ad168521a63b54d0053b96ce430c7184\"\u003e240f8b5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etarget-size:\u003c/strong\u003e determine offset using clientRects if target is display:inline (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5012\"\u003e#5012\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/69d81c1cbb6a61a272884516c7983dcd17d28a42\"\u003e69d81c1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etarget-size:\u003c/strong\u003e ignore widgets that are inline with other inline elements (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5000\"\u003e#5000\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/cf8a3c039b121c0c64a1eb8805c586659b69f3c1\"\u003ecf8a3c0\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/dequelabs/axe-core/blob/develop/CHANGELOG.md\"\u003eaxe-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/compare/v4.11.3...v4.11.4\"\u003e4.11.4\u003c/a\u003e (2026-04-23)\u003c/h3\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecommons/text:\u003c/strong\u003e exclude natively hidden elements from aria-labelledby accessible name (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5076\"\u003e#5076\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/df34adfc1967919d667d40a76ab5c85b6e47ddfe\"\u003edf34adf\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4704\"\u003e#4704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eutils/getAncestry:\u003c/strong\u003e escape node name (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5079\"\u003e#5079\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6e68d0a5d26999b996152df82238bc3f3a041cb3\"\u003e6e68d0a\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5078\"\u003e#5078\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/compare/v4.11.2...v4.11.3\"\u003e4.11.3\u003c/a\u003e (2026-04-13)\u003c/h3\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003earia-allowed-attr:\u003c/strong\u003e restrict br and wbr elements to aria-hidden only (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4974\"\u003e#4974\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/1d801636f058f2abd885c488baff954872b13846\"\u003e1d80163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etarget-size:\u003c/strong\u003e ignore position: fixed elements that are offscreen when page is scrolled (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5066\"\u003e#5066\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/5906273841cbd7ac9e08af730dffc244cf42b39b\"\u003e5906273\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5065\"\u003e#5065\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/compare/v4.11.1...v4.11.2\"\u003e4.11.2\u003c/a\u003e (2026-03-30)\u003c/h3\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003earia-valid-attr-value:\u003c/strong\u003e handle multiple aria-errormessage IDs (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4973\"\u003e#4973\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/9322148b69924d6ae2d2dd46e6109bc2fc53abd3\"\u003e9322148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia:\u003c/strong\u003e prevent getOwnedVirtual from returning duplicate nodes (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4987\"\u003e#4987\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/99d1e77f351db586c79020372efc59608e604a1c\"\u003e99d1e77\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4840\"\u003e#4840\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDqElement:\u003c/strong\u003e avoid calling constructors with cloneNode (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5013\"\u003e#5013\u003c/a\u003e) (\u003ca href=\"https://github.com/deque...\n\n_Description has been truncated_","html_url":"https://github.com/talyssonoliver/IntelliFlow-CRM/pull/200","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/talyssonoliver%2FIntelliFlow-CRM/issues/200","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/200/packages"},{"uuid":"4544341322","node_id":"PR_kwDORn9DPs7gbuu6","number":139,"state":"open","title":"chore(deps): bump the minor-and-patch group across 1 directory with 15 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-05-28T22:46:44.000Z","updated_at":"2026-05-28T22:47:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"minor-and-patch","update_count":15,"packages":[{"name":"@semantic-release/github","old_version":"12.0.6","new_version":"12.0.8","repository_url":"https://github.com/semantic-release/github"},{"name":"@semantic-release/release-notes-generator","old_version":"14.1.0","new_version":"14.1.1","repository_url":"https://github.com/semantic-release/release-notes-generator"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.59.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.59.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"eslint","old_version":"10.2.1","new_version":"10.4.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-prettier","old_version":"5.5.5","new_version":"5.5.6","repository_url":"https://github.com/prettier/eslint-plugin-prettier"},{"name":"typescript-eslint","old_version":"8.59.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"jsdom","old_version":"29.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"react","old_version":"19.2.5","new_version":"19.2.6","repository_url":"https://github.com/facebook/react"},{"name":"@types/react","old_version":"19.2.14","new_version":"19.2.15","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-dom","old_version":"19.2.5","new_version":"19.2.6","repository_url":"https://github.com/facebook/react"},{"name":"next","old_version":"16.2.4","new_version":"16.2.6","repository_url":"https://github.com/vercel/next.js"},{"name":"@types/node","old_version":"25.6.0","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"playwright","old_version":"1.59.1","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@semantic-release/github](https://github.com/semantic-release/github) | `12.0.6` | `12.0.8` |\n| [@semantic-release/release-notes-generator](https://github.com/semantic-release/release-notes-generator) | `14.1.0` | `14.1.1` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.59.1` | `8.60.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.59.1` | `8.60.0` |\n| [eslint](https://github.com/eslint/eslint) | `10.2.1` | `10.4.0` |\n| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | `5.5.5` | `5.5.6` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.1` | `8.60.0` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.7` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.1.0` | `29.1.1` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.5` | `19.2.6` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.15` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.5` | `19.2.6` |\n| [next](https://github.com/vercel/next.js) | `16.2.4` | `16.2.6` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.0` | `25.9.1` |\n| [playwright](https://github.com/microsoft/playwright) | `1.59.1` | `1.60.0` |\n\n\nUpdates `@semantic-release/github` from 12.0.6 to 12.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/semantic-release/github/releases\"\u003e@​semantic-release/github's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.0.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/semantic-release/github/compare/v12.0.7...v12.0.8\"\u003e12.0.8\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency http-proxy-agent to v9 (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1203\"\u003e#1203\u003c/a\u003e) (\u003ca href=\"https://github.com/semantic-release/github/commit/edd165252bc8ee96de37940f4730fd43f0e67a0f\"\u003eedd1652\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/semantic-release/github/compare/v12.0.6...v12.0.7\"\u003e12.0.7\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency https-proxy-agent to v9 (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1204\"\u003e#1204\u003c/a\u003e) (\u003ca href=\"https://github.com/semantic-release/github/commit/1f173627c00f09234e4da6f7ddbb124338f3f742\"\u003e1f17362\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/semantic-release/github/commit/edd165252bc8ee96de37940f4730fd43f0e67a0f\"\u003e\u003ccode\u003eedd1652\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency http-proxy-agent to v9 (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1203\"\u003e#1203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/github/commit/1f173627c00f09234e4da6f7ddbb124338f3f742\"\u003e\u003ccode\u003e1f17362\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency https-proxy-agent to v9 (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1204\"\u003e#1204\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/github/commit/33fd115647c282b185e4f21f49a43199f78fa08a\"\u003e\u003ccode\u003e33fd115\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency cpy to v13.2.2 (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1221\"\u003e#1221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/github/commit/59fbe01d0f778dba1727d7e6b9716a7b9e50faa5\"\u003e\u003ccode\u003e59fbe01\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency publint to v0.3.19 (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1220\"\u003e#1220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/github/commit/ff5b17cc9fecfba0198aba8e026e564e5964a72c\"\u003e\u003ccode\u003eff5b17c\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1219\"\u003e#1219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/github/commit/75faf16e00c8cb83e8515ced581b0f4eb3841fc7\"\u003e\u003ccode\u003e75faf16\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency ava to v8 (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1218\"\u003e#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/github/commit/56d65c0f5347665085cfd14212501d1adb5f262d\"\u003e\u003ccode\u003e56d65c0\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1217\"\u003e#1217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/github/commit/31a02d2480a8e4fad6209d130c86cb64f0928554\"\u003e\u003ccode\u003e31a02d2\u003c/code\u003e\u003c/a\u003e chore(deps): update npm to v11.13.0 (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/github/commit/3f06ad5cd231b6cb958eff929b58c5f077c67401\"\u003e\u003ccode\u003e3f06ad5\u003c/code\u003e\u003c/a\u003e ci(action): update actions/setup-node action to v6.4.0 (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1214\"\u003e#1214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/github/commit/6ded61129f4a9c76140f6f667002b4015adcd26f\"\u003e\u003ccode\u003e6ded611\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1213\"\u003e#1213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/semantic-release/github/compare/v12.0.6...v12.0.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@semantic-release/release-notes-generator` from 14.1.0 to 14.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/semantic-release/release-notes-generator/releases\"\u003e@​semantic-release/release-notes-generator's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev14.1.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/compare/v14.1.0...v14.1.1\"\u003e14.1.1\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency get-stream to v9 (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/613\"\u003e#613\u003c/a\u003e) (\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/9728887caf9d7ca03e6861b019785539cbb7857e\"\u003e9728887\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/semantic-release/release-notes-generator/commit/9728887caf9d7ca03e6861b019785539cbb7857e\"\u003e\u003ccode\u003e9728887\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency get-stream to v9 (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/613\"\u003e#613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/618cd055085bb6e6507b8c29840235807965a5ba\"\u003e\u003ccode\u003e618cd05\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency publint to v0.3.19 (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/965\"\u003e#965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/2cbdb587a9983ffd0e69e43157663f77c7094b21\"\u003e\u003ccode\u003e2cbdb58\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/964\"\u003e#964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/df3fb9e88ea3145f337c834408a953551345e371\"\u003e\u003ccode\u003edf3fb9e\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/e60ca731fcbbd85aa83add83e467e90af7c07bb7\"\u003e\u003ccode\u003ee60ca73\u003c/code\u003e\u003c/a\u003e chore(deps): update npm to v11.13.0 (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/961\"\u003e#961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/05ea5567c5bb8977517d2e840b07699357c66af4\"\u003e\u003ccode\u003e05ea556\u003c/code\u003e\u003c/a\u003e ci(action): update actions/setup-node action to v6.4.0 (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/0b4e4a7e080e5d1c8ef04edf7d899464c5e93798\"\u003e\u003ccode\u003e0b4e4a7\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/959\"\u003e#959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/9854b6554e3be8858492ce911448afcdaf9e0c6b\"\u003e\u003ccode\u003e9854b65\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency prettier to v3.8.3 (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/958\"\u003e#958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/64d547f0e1f3f9812f6ad8dddd516d11fa254ca2\"\u003e\u003ccode\u003e64d547f\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency sinon to v21.1.2 (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/957\"\u003e#957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/46dec933e89ff92306822b852b83261c63541a57\"\u003e\u003ccode\u003e46dec93\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency sinon to v21.1.1 (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/semantic-release/release-notes-generator/compare/v14.1.0...v14.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​semantic-release/release-notes-generator\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.59.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\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/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-deprecated] object destructuring values should be treated as declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12292\"\u003e#12292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-type-assertion] handle crash on recursive template literal types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12150\"\u003e#12150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDima Barabash\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\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/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4302433ae6bf93d4ddc35264ad1b951254758566\"\u003e\u003ccode\u003e4302433\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-floating-promises] stack overflow when using recursiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/10b79f1ba8e98610a3af85152a1b3b406f91e633\"\u003e\u003ccode\u003e10b79f1\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint to v10.4.0 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12339\"\u003e#12339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2a6765d9628dc776f8127c96f088bb807c0bcab2\"\u003e\u003ccode\u003e2a6765d\u003c/code\u003e\u003c/a\u003e chore: clenaup \u003ccode\u003egetAwaitedType\u003c/code\u003e from \u003ccode\u003etypescript.d.ts\u003c/code\u003e (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12302\"\u003e#12302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e26dc8003ababf078aad4df17765ee4cea30644c\"\u003e\u003ccode\u003ee26dc80\u003c/code\u003e\u003c/a\u003e docs: update stale links to latest (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12313\"\u003e#12313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ec3ef25390f7daf5a9ff33a60282bdbbb49ab0f3\"\u003e\u003ccode\u003eec3ef25\u003c/code\u003e\u003c/a\u003e test: make no-useless-empty-export tests fully static (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12260\"\u003e#12260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/eslint-plugin\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/parser` from 8.59.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\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/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\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/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.2.1 to 10.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf\"\u003e\u003ccode\u003e1a45ec5\u003c/code\u003e\u003c/a\u003e feat: check sequence expressions in \u003ccode\u003efor-direction\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20701\"\u003e#20701\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b\"\u003e\u003ccode\u003e450040b\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to \u003ccode\u003eeslint/config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20735\"\u003e#20735\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c\"\u003e\u003ccode\u003e6799431\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-helpers\u003c/code\u003e to ^0.6.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20850\"\u003e#20850\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd\"\u003e\u003ccode\u003ef078fef\u003c/code\u003e\u003c/a\u003e fix: handle non-array deprecated rule replacements (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20825\"\u003e#20825\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f\"\u003e\u003ccode\u003e9cc7387\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5\"\u003e\u003ccode\u003e3d7b548\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb\"\u003e\u003ccode\u003e191ec3c\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6616856f28fa514a30f87b5539fc100d739a94bf\"\u003e\u003ccode\u003e6616856\u003c/code\u003e\u003c/a\u003e chore: upgrade knip to v6 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20875\"\u003e#20875\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d13b084a3ad02f926e9addaa35fc383759ea5554\"\u003e\u003ccode\u003ed13b084\u003c/code\u003e\u003c/a\u003e ci: ensure auto-created PRs run CI (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20860\"\u003e#20860\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e71c7af86dce9acc1d18cb12d2184309f6841594\"\u003e\u003ccode\u003ee71c7af\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20862\"\u003e#20862\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84393dea170f54191fd20c8268b52c81c0ccd99\"\u003e\u003ccode\u003ed84393d\u003c/code\u003e\u003c/a\u003e test: add unit tests for SuppressionsService.applySuppressions() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20863\"\u003e#20863\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/24db8cb8e6f07fba667121777a15b1785486be94\"\u003e\u003ccode\u003e24db8cb\u003c/code\u003e\u003c/a\u003e test: add tests for SuppressionsService.save() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20802\"\u003e#20802\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2ef0549cac4a9537e4c3a26b9f3edd4c99476bf6\"\u003e\u003ccode\u003e2ef0549\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20857\"\u003e#20857\u003c/a\u003e) (github-actions[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a4297918d264d229a06cd96051ef9b91c7b86732\"\u003e\u003ccode\u003ea429791\u003c/code\u003e\u003c/a\u003e ci: remove \u003ccode\u003eeslint-webpack-plugin\u003c/code\u003e types integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20668\"\u003e#20668\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9e37386aa7f2ce220b2ef74a6afbac5f6b3527c5\"\u003e\u003ccode\u003e9e37386\u003c/code\u003e\u003c/a\u003e chore: replace \u003ccode\u003erecast\u003c/code\u003e with range approach in code-sample-minimizer (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20682\"\u003e#20682\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0dd1f9ffc9a07704d46e2a4c8d4ccc0d0908b0c0\"\u003e\u003ccode\u003e0dd1f9f\u003c/code\u003e\u003c/a\u003e test: disable warning for \u003ccode\u003evm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20845\"\u003e#20845\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9da3c7bc92d9579f8db19ecb56e718538d09db2b\"\u003e\u003ccode\u003e9da3c7b\u003c/code\u003e\u003c/a\u003e refactor: remove deprecated \u003ccode\u003emeta.language\u003c/code\u003e and migrate \u003ccode\u003emeta.dialects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20716\"\u003e#20716\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2099ed12a0a74c3d7f0808514362af2499b4fe2b\"\u003e\u003ccode\u003e2099ed1\u003c/code\u003e\u003c/a\u003e refactor: add \u003ccode\u003emeta.defaultOptions\u003c/code\u003e to more rules, enable linting (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20800\"\u003e#20800\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f1dfbc9ca57196de7092e1888cc99427bd6fe06e\"\u003e\u003ccode\u003ef1dfbc9\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20836\"\u003e#20836\u003c/a\u003e) (github-actions[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c75941390c14728806cd4baef4f6072f6de78318\"\u003e\u003ccode\u003ec759413\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.3 to 6.0.5 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20843\"\u003e#20843\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b817d6fdc9ae2c35b528dc662b2eca8f40f64aa\"\u003e\u003ccode\u003e5b817d6\u003c/code\u003e\u003c/a\u003e test: add unit tests for lib/shared/ast-utils (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20838\"\u003e#20838\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1c13ae3934c198c494e5958fa3a68b33244ff06a\"\u003e\u003ccode\u003e1c13ae3\u003c/code\u003e\u003c/a\u003e test: add unit tests for lib/shared/severity (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20835\"\u003e#20835\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.3.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/379571a975f2b24d88037b9de2e72ec61d004130\"\u003e\u003ccode\u003e379571a\u003c/code\u003e\u003c/a\u003e feat: add suggestions for no-unused-private-class-members (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20773\"\u003e#20773\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b6ae5cf07b9b51802367539cb24b245b61eaa37c\"\u003e\u003ccode\u003eb6ae5cf\u003c/code\u003e\u003c/a\u003e fix: handle unavailable require cache (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20812\"\u003e#20812\u003c/a\u003e) (Simon Podlipsky)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6fb3685bcbe9a6f72fd7dfb9129686b6fb96b0bd\"\u003e\u003ccode\u003e6fb3685\u003c/code\u003e\u003c/a\u003e fix: rule suggestions cause continuation in class body (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20787\"\u003e#20787\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/32cc7ab4ec653ce89da92deb5c40a9f4fc707fe5\"\u003e\u003ccode\u003e32cc7ab\u003c/code\u003e\u003c/a\u003e docs: fix typos in docs and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20809\"\u003e#20809\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7f479376a2fa463d823ab762db6bb37ce8d2ee8f\"\u003e\u003ccode\u003e7f47937\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d32235ec19ceea211fa86452afa383ca05f5c2f9\"\u003e\u003ccode\u003ed32235e\u003c/code\u003e\u003c/a\u003e ci: use pnpm in \u003ccode\u003eeslint-flat-config-utils\u003c/code\u003e type integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20826\"\u003e#20826\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3ffb14ea517de750ed1181579ef844af342e4096\"\u003e\u003ccode\u003e3ffb14e\u003c/code\u003e\u003c/a\u003e chore: clean up typos in comments and JSDoc (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20821\"\u003e#20821\u003c/a\u003e) (Pixel998)\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/eslint/eslint/commit/452c4010c07dc2e36fe6ec6a8c48298878e86887\"\u003e\u003ccode\u003e452c401\u003c/code\u003e\u003c/a\u003e 10.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b6417e8b55c9525070d6e168b485ce6ff21688ed\"\u003e\u003ccode\u003eb6417e8\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6616856f28fa514a30f87b5539fc100d739a94bf\"\u003e\u003ccode\u003e6616856\u003c/code\u003e\u003c/a\u003e chore: upgrade knip to v6 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20875\"\u003e#20875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d13b084a3ad02f926e9addaa35fc383759ea5554\"\u003e\u003ccode\u003ed13b084\u003c/code\u003e\u003c/a\u003e ci: ensure auto-created PRs run CI (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20860\"\u003e#20860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e71c7af86dce9acc1d18cb12d2184309f6841594\"\u003e\u003ccode\u003ee71c7af\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20862\"\u003e#20862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84393dea170f54191fd20c8268b52c81c0ccd99\"\u003e\u003ccode\u003ed84393d\u003c/code\u003e\u003c/a\u003e test: add unit tests for SuppressionsService.applySuppressions() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20863\"\u003e#20863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.2.1...v10.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-prettier` from 5.5.5 to 5.5.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/releases\"\u003eeslint-plugin-prettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/pull/791\"\u003e#791\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: bump all (dev)Dependencies\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/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md\"\u003eeslint-plugin-prettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/pull/791\"\u003e#791\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: bump all (dev)Dependencies\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/prettier/eslint-plugin-prettier/commit/4f33ea5a503c6cdbda93424ebd13188a46a1a890\"\u003e\u003ccode\u003e4f33ea5\u003c/code\u003e\u003c/a\u003e chore: release eslint-plugin-prettier (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/792\"\u003e#792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/4745b54882a9011704764070a28aaaf0504efc92\"\u003e\u003ccode\u003e4745b54\u003c/code\u003e\u003c/a\u003e ci: declare workflow-level contents: read on 2 workflows (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e chore: bump all (dev)Dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/791\"\u003e#791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/e867680b2c1cf3748322c8c802690e7cfb78e233\"\u003e\u003ccode\u003ee867680\u003c/code\u003e\u003c/a\u003e chore(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/766\"\u003e#766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/e8e2f7f1dcad747f1d43168ee09956b512956593\"\u003e\u003ccode\u003ee8e2f7f\u003c/code\u003e\u003c/a\u003e chore: testing eslint v10 (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/779\"\u003e#779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/ca076d95aaf69aaf9c95abcc1692f8269197f248\"\u003e\u003ccode\u003eca076d9\u003c/code\u003e\u003c/a\u003e chore: update dev dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/42e636951f8d53d169b1f8c2b7e7dfd792711113\"\u003e\u003ccode\u003e42e6369\u003c/code\u003e\u003c/a\u003e build(deps): Bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/778\"\u003e#778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/53ff2143c03609e75b60e0e33d56c8089f0b364f\"\u003e\u003ccode\u003e53ff214\u003c/code\u003e\u003c/a\u003e Remove empty NPM_TOKEN from release.yml\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/compare/v5.5.5...v5.5.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typescript-eslint` from 8.59.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003etypescript-eslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\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/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md\"\u003etypescript-eslint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for typescript-eslint to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for typescript-eslint to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for typescript-eslint to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\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/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4b927c607755b2648d5854b9e928c1dbb2b8e088\"\u003e\u003ccode\u003e4b927c6\u003c/code\u003e\u003c/a\u003e fix(typescript-eslint): export Compatible* types from typescript-eslint to re...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/typescript-eslint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 4.1.5 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003evitest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/vitest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 29.1.0 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v29.1.0...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react` from 19.2.5 to 19.2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facebook/react/releases\"\u003ereact's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e19.2.6 (May 6th, 2026)\u003c/h2\u003e\n\u003ch2\u003eReact Server Components\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eType hardening and performance improvements\n(\u003ca href=\"https://redirect.github.com/facebook/react/pull/36425\"\u003e#36425\u003c/a\u003e by \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/unstubbable\"\u003e\u003ccode\u003e@​unstubbable\u003c/code\u003e\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/facebook/react/commit/eaf3e95ca92be7a23d3c9cc8ffd6f199a40be401\"\u003e\u003ccode\u003eeaf3e95\u003c/code\u003e\u003c/a\u003e Version 19.2.6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/facebook/react/commits/v19.2.6/packages/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/react` from 19.2.14 to 19.2.15\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-dom` from 19.2.5 to 19.2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facebook/react/releases\"\u003ereact-dom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e19.2.6 (May 6th, 2026)\u003c/h2\u003e\n\u003ch2\u003eReact Server Components\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eType hardening and performance improvements\n(\u003ca href=\"https://redirect.github.com/facebook/react/pull/36425\"\u003e#36425\u003c/a\u003e by \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/unstubbable\"\u003e\u003ccode\u003e@​unstubbable\u003c/code\u003e\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/facebook/react/commit/eaf3e95ca92be7a23d3c9cc8ffd6f199a40be401\"\u003e\u003ccode\u003eeaf3e95\u003c/code\u003e\u003c/a\u003e Version 19.2.6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/facebook/react/commits/v19.2.6/packages/react-dom\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `next` from 16.2.4 to 16.2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/next.js/releases\"\u003enext's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev16.2.6\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release contains security fixes and backported bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eSecurity Fixes\u003c/h3\u003e\n\u003cp\u003eThe following advisories have been addressed:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eHigh:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj\"\u003eGHSA-8h8q-6873-q5fj: Denial of Service with Server Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f\"\u003eGHSA-267c-6grr-h53f: Middleware / Proxy bypass in App Router applications via segment-prefetch routes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-26hh-7cqf-hhc6\"\u003eGHSA-26hh-7cqf-hhc6: Middleware / Proxy bypass in App Router applications via segment-prefetch routes - \u003cstrong\u003eIncomplete Fix Follow-Up\u003c/strong\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx\"\u003eGHSA-mg66-mrh9-m8jx: Denial of Service via connection exhaustion in applications using Cache Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv\"\u003eGHSA-492v-c6pp-mqqv: Middleware / Proxy bypass through dynamic route parameter injection\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r\"\u003eGHSA-c4j6-fc7j-m34r: Server-side request forgery in applications using WebSocket upgrades\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-36qx-fr4f-26g5\"\u003eGHSA-36qx-fr4f-26g5: Middleware / Proxy bypass in Pages Router applications using i18n\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eModerate:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-ffhc-5mcf-pf4q\"\u003eGHSA-ffhc-5mcf-pf4q: Cross-site scripting in App Router applications using CSP nonces\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-gx5p-jg67-6x7h\"\u003eGHSA-gx5p-jg67-6x7h: Cross-site scripting in beforeInteractive scripts with untrusted input\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-h64f-5h5j-jqjh\"\u003eGHSA-h64f-5h5j-jqjh: Denial of Service in the Image Optimization API\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-wfc6-r584-vfw7\"\u003eGHSA-wfc6-r584-vfw7: Cache poisoning in React Server Component responses\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eLow:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-vfv6-92ff-j949\"\u003eGHSA-vfv6-92ff-j949: Cache poisoning via collisions in React Server Component cache-busting\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-3g8h-86w9-wvmq\"\u003eGHSA-3g8h-86w9-wvmq: Middleware / Proxy redirects can be cache-poisoned\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: preserve HTTP access fallbacks during prerender recovery (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/92231\"\u003e#92231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix fallback route params case in app-page handler (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/91737\"\u003e#91737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix invalid HTML response for route-level RSC requests in deployment adapter (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/91541\"\u003e#91541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePatch setHeader for direct route handlers (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93101\"\u003e#93101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude deployment id in \u003ccode\u003ecacheHandlers\u003c/code\u003e keys (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93453\"\u003e#93453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix double-encoding of URL pathname parts in client param parsing (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93491\"\u003e#93491\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev16.2.5\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release contains security fixes and backported bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eSecurity Fixes\u003c/h3\u003e\n\u003cp\u003eThe following advisories have been addressed:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eHigh:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj\"\u003eGHSA-8h8q-6873-q5fj: Denial of Service with Server Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f\"\u003eGHSA-267c-6grr-h53f: Middleware / Proxy bypass in App Router applications via segment-prefetch routes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx\"\u003eGHSA-mg66-mrh9-m8jx: Denial of Service via connection exhaustion in applications using Cache Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv\"\u003eGHSA-492v-c6pp-mqqv: Middleware / Proxy bypass through dynamic route parameter injection\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r\"\u003eGHSA-c4j6-fc7j-m34r: Server-side request forgery in applications using WebSocket upgrades\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/vercel/next.js/commit/ee6e79b1792a4d401ddf2480f40a83549fe8e722\"\u003e\u003ccode\u003eee6e79b\u003c/code\u003e\u003c/a\u003e v16.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/afa053d9eb9c2a68c7eba43e84fe6bed8babcd45\"\u003e\u003ccode\u003eafa053d\u003c/code\u003e\u003c/a\u003e Turbopack: Match proxy matchers with webpack implementation (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93594\"\u003e#93594\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/97a154e5bbee0cb1ac3fb8aa4db66ac36e796e3d\"\u003e\u003ccode\u003e97a154e\u003c/code\u003e\u003c/a\u003e Turbopack: Fix middleware matcher suffix (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93590\"\u003e#93590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/83899bc89103d4df1479e065c7c1e09d4698a7b6\"\u003e\u003ccode\u003e83899bc\u003c/code\u003e\u003c/a\u003e [backport] Disable build caches for production/staging/force-preview deploys ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/7b222b90954d607fc28a34e9b360a9b1636bc206\"\u003e\u003ccode\u003e7b222b9\u003c/code\u003e\u003c/a\u003e [backport][test] Pin package manager to patch versions (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93595\"\u003e#93595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/a8dc24f1fe23d4a22d24fac734837f7c824138f7\"\u003e\u003ccode\u003ea8dc24f\u003c/code\u003e\u003c/a\u003e [backport] Turbopack: more strict vergen setup (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93587\"\u003e#93587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/766148f9cd48c0e218acafcd0f15defc14871bf4\"\u003e\u003ccode\u003e766148f\u003c/code\u003e\u003c/a\u003e v16.2.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/0dd94836a8b43209fcfefa448c141683c22c1a27\"\u003e\u003ccode\u003e0dd9483\u003c/code\u003e\u003c/a\u003e fix: add explicit checks for RSC header (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/83\"\u003e#83\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/98\"\u003e#98\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/d166096c399c4fc4e09cd2d1bf26dca6579a855d\"\u003e\u003ccode\u003ed166096\u003c/code\u003e\u003c/a\u003e fix proxy matching for segment prefetch URLs (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/89\"\u003e#89\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/96\"\u003e#96\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/9d50c0b7190f59c470308578e12882788819f14c\"\u003e\u003ccode\u003e9d50c0b\u003c/code\u003e\u003c/a\u003e Strip next-resume header from incoming requests (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/92\"\u003e#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/next.js/compare/v16.2.4...v16.2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for next since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.6.0 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `playwright` from 1.59.1 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003eplaywright's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption....\n\n_Description has been truncated_","html_url":"https://github.com/neonwatty/nav-map/pull/139","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/neonwatty%2Fnav-map/issues/139","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/139/packages"},{"uuid":"4541115891","node_id":"PR_kwDOSd1lHc7gRGDd","number":7,"state":"closed","title":"Bump the dev-tooling group with 6 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-28T20:51:26.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-28T14:16:30.000Z","updated_at":"2026-05-28T20:51:28.000Z","time_to_close":23696,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dev-tooling","update_count":6,"packages":[{"name":"@vitest/coverage-v8","old_version":"3.2.4","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"eslint","old_version":"9.39.4","new_version":"10.4.0","repository_url":"https://github.com/eslint/eslint"},{"name":"jsdom","old_version":"26.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"vite","old_version":"6.4.2","new_version":"8.0.14","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"3.2.4","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-tooling group with 6 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `3.2.4` | `4.1.7` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.4` | `10.4.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `26.1.0` | `29.1.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `6.4.2` | `8.0.14` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `3.2.4` | `4.1.7` |\n\nUpdates `@vitest/coverage-v8` from 3.2.4 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/coverage-v8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.5\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option  -  by \u003ca href=\"https://github.com/BartWaardenburg\"\u003e\u003ccode\u003e@​BartWaardenburg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10119\"\u003evitest-dev/vitest#10119\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7\"\u003e\u003c!-- raw HTML omitted --\u003e(0e0ff)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e--project negation excludes browser instances  -  by \u003ca href=\"https://github.com/felamaslen\"\u003e\u003ccode\u003e@​felamaslen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10131\"\u003evitest-dev/vitest#10131\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc084\"\u003e\u003c!-- raw HTML omitted --\u003e(9423d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProject color label on html reporter  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10142\"\u003evitest-dev/vitest#10142\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986\"\u003e\u003c!-- raw HTML omitted --\u003e(596f7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10163\"\u003evitest-dev/vitest#10163\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b\"\u003e\u003c!-- raw HTML omitted --\u003e(122c2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10157\"\u003evitest-dev/vitest#10157\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3\"\u003e\u003c!-- raw HTML omitted --\u003e(663b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedad\"\u003e\u003c!-- raw HTML omitted --\u003e(9787d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions \u0026quot;  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd\"\u003e\u003c!-- raw HTML omitted --\u003e(7dc6d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003east-collect\u003c/strong\u003e: Recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery  -  by \u003ca href=\"https://github.com/Yejneshwar\"\u003e\u003ccode\u003e@​Yejneshwar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10129\"\u003evitest-dev/vitest#10129\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab2\"\u003e\u003c!-- raw HTML omitted --\u003e(32546)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Descriptive error message when reports directory is removed during test run  -  by \u003ca href=\"https://github.com/DaveT1991\"\u003e\u003ccode\u003e@​DaveT1991\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10117\"\u003evitest-dev/vitest#10117\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1413382e1\"\u003e\u003c!-- raw HTML omitted --\u003e(14133)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e: Increase default snapshot max output length  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10150\"\u003evitest-dev/vitest#10150\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/21e66ff63\"\u003e\u003c!-- raw HTML omitted --\u003e(21e66)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e: Fix jsx/tsx syntax highlight  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10152\"\u003evitest-dev/vitest#10152\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b\"\u003e\u003c!-- raw HTML omitted --\u003e(f1b1f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eweb-worker\u003c/strong\u003e: Support MessagePort objects referenced inside postMessage data  -  by \u003ca href=\"https://github.com/whitphx\"\u003e\u003ccode\u003e@​whitphx\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9927\"\u003evitest-dev/vitest#9927\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10124\"\u003evitest-dev/vitest#10124\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7ad7d39af\"\u003e\u003c!-- raw HTML omitted --\u003e(7ad7d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e: Make test-specification options writable  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10154\"\u003evitest-dev/vitest#10154\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7\"\u003e\u003c!-- raw HTML omitted --\u003e(6abd5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.4\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDefault to text reporter \u003ccode\u003eskipFull\u003c/code\u003e if agent detected  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10018\"\u003evitest-dev/vitest#10018\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/53757804c\"\u003e\u003c!-- raw HTML omitted --\u003e(53757)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eExpose \u003ccode\u003eassertion\u003c/code\u003e as a public field  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10095\"\u003evitest-dev/vitest#10095\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a120e3ab8\"\u003e\u003c!-- raw HTML omitted --\u003e(a120e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport aria snapshot  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e, \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9668\"\u003evitest-dev/vitest#9668\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d4fbb5cc9\"\u003e\u003c!-- raw HTML omitted --\u003e(d4fbb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/ac04bac206f49d793e7277084f707aee718aa936\"\u003e\u003ccode\u003eac04bac\u003c/code\u003e\u003c/a\u003e chore: release v4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/2dc0d62eaf08d8acb1f5042fdb8ac5b4a19fdc73\"\u003e\u003ccode\u003e2dc0d62\u003c/code\u003e\u003c/a\u003e chore: release v4.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/fc6f482f4c54bf6a766a0ff502b9843994af5bf5\"\u003e\u003ccode\u003efc6f482\u003c/code\u003e\u003c/a\u003e chore: release v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/1f2d318493363855b66a22caaf7c1c10579029d5\"\u003e\u003ccode\u003e1f2d318\u003c/code\u003e\u003c/a\u003e chore: release v4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/aaf9f18ae70e52b6e67aaf85f7f784d9dabd0acc\"\u003e\u003ccode\u003eaaf9f18\u003c/code\u003e\u003c/a\u003e fix(coverage): simplify provider types (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9931\"\u003e#9931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/4150b913171bda3971a4a4c47c633c26d0c6ae45\"\u003e\u003ccode\u003e4150b91\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0c2c01361a95dd26d0d7fd7bc38bcca8dbc6e5d2\"\u003e\u003ccode\u003e0c2c013\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0-beta.6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​vitest/coverage-v8\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 9.39.4 to 10.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf\"\u003e\u003ccode\u003e1a45ec5\u003c/code\u003e\u003c/a\u003e feat: check sequence expressions in \u003ccode\u003efor-direction\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20701\"\u003e#20701\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b\"\u003e\u003ccode\u003e450040b\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to \u003ccode\u003eeslint/config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20735\"\u003e#20735\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c\"\u003e\u003ccode\u003e6799431\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-helpers\u003c/code\u003e to ^0.6.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20850\"\u003e#20850\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd\"\u003e\u003ccode\u003ef078fef\u003c/code\u003e\u003c/a\u003e fix: handle non-array deprecated rule replacements (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20825\"\u003e#20825\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f\"\u003e\u003ccode\u003e9cc7387\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5\"\u003e\u003ccode\u003e3d7b548\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb\"\u003e\u003ccode\u003e191ec3c\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6616856f28fa514a30f87b5539fc100d739a94bf\"\u003e\u003ccode\u003e6616856\u003c/code\u003e\u003c/a\u003e chore: upgrade knip to v6 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20875\"\u003e#20875\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d13b084a3ad02f926e9addaa35fc383759ea5554\"\u003e\u003ccode\u003ed13b084\u003c/code\u003e\u003c/a\u003e ci: ensure auto-created PRs run CI (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20860\"\u003e#20860\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e71c7af86dce9acc1d18cb12d2184309f6841594\"\u003e\u003ccode\u003ee71c7af\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20862\"\u003e#20862\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84393dea170f54191fd20c8268b52c81c0ccd99\"\u003e\u003ccode\u003ed84393d\u003c/code\u003e\u003c/a\u003e test: add unit tests for SuppressionsService.applySuppressions() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20863\"\u003e#20863\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/24db8cb8e6f07fba667121777a15b1785486be94\"\u003e\u003ccode\u003e24db8cb\u003c/code\u003e\u003c/a\u003e test: add tests for SuppressionsService.save() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20802\"\u003e#20802\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2ef0549cac4a9537e4c3a26b9f3edd4c99476bf6\"\u003e\u003ccode\u003e2ef0549\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20857\"\u003e#20857\u003c/a\u003e) (github-actions[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a4297918d264d229a06cd96051ef9b91c7b86732\"\u003e\u003ccode\u003ea429791\u003c/code\u003e\u003c/a\u003e ci: remove \u003ccode\u003eeslint-webpack-plugin\u003c/code\u003e types integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20668\"\u003e#20668\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9e37386aa7f2ce220b2ef74a6afbac5f6b3527c5\"\u003e\u003ccode\u003e9e37386\u003c/code\u003e\u003c/a\u003e chore: replace \u003ccode\u003erecast\u003c/code\u003e with range approach in code-sample-minimizer (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20682\"\u003e#20682\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0dd1f9ffc9a07704d46e2a4c8d4ccc0d0908b0c0\"\u003e\u003ccode\u003e0dd1f9f\u003c/code\u003e\u003c/a\u003e test: disable warning for \u003ccode\u003evm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20845\"\u003e#20845\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9da3c7bc92d9579f8db19ecb56e718538d09db2b\"\u003e\u003ccode\u003e9da3c7b\u003c/code\u003e\u003c/a\u003e refactor: remove deprecated \u003ccode\u003emeta.language\u003c/code\u003e and migrate \u003ccode\u003emeta.dialects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20716\"\u003e#20716\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2099ed12a0a74c3d7f0808514362af2499b4fe2b\"\u003e\u003ccode\u003e2099ed1\u003c/code\u003e\u003c/a\u003e refactor: add \u003ccode\u003emeta.defaultOptions\u003c/code\u003e to more rules, enable linting (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20800\"\u003e#20800\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f1dfbc9ca57196de7092e1888cc99427bd6fe06e\"\u003e\u003ccode\u003ef1dfbc9\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20836\"\u003e#20836\u003c/a\u003e) (github-actions[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c75941390c14728806cd4baef4f6072f6de78318\"\u003e\u003ccode\u003ec759413\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.3 to 6.0.5 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20843\"\u003e#20843\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b817d6fdc9ae2c35b528dc662b2eca8f40f64aa\"\u003e\u003ccode\u003e5b817d6\u003c/code\u003e\u003c/a\u003e test: add unit tests for lib/shared/ast-utils (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20838\"\u003e#20838\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1c13ae3934c198c494e5958fa3a68b33244ff06a\"\u003e\u003ccode\u003e1c13ae3\u003c/code\u003e\u003c/a\u003e test: add unit tests for lib/shared/severity (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20835\"\u003e#20835\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.3.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/379571a975f2b24d88037b9de2e72ec61d004130\"\u003e\u003ccode\u003e379571a\u003c/code\u003e\u003c/a\u003e feat: add suggestions for no-unused-private-class-members (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20773\"\u003e#20773\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b6ae5cf07b9b51802367539cb24b245b61eaa37c\"\u003e\u003ccode\u003eb6ae5cf\u003c/code\u003e\u003c/a\u003e fix: handle unavailable require cache (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20812\"\u003e#20812\u003c/a\u003e) (Simon Podlipsky)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6fb3685bcbe9a6f72fd7dfb9129686b6fb96b0bd\"\u003e\u003ccode\u003e6fb3685\u003c/code\u003e\u003c/a\u003e fix: rule suggestions cause continuation in class body (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20787\"\u003e#20787\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/32cc7ab4ec653ce89da92deb5c40a9f4fc707fe5\"\u003e\u003ccode\u003e32cc7ab\u003c/code\u003e\u003c/a\u003e docs: fix typos in docs and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20809\"\u003e#20809\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7f479376a2fa463d823ab762db6bb37ce8d2ee8f\"\u003e\u003ccode\u003e7f47937\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d32235ec19ceea211fa86452afa383ca05f5c2f9\"\u003e\u003ccode\u003ed32235e\u003c/code\u003e\u003c/a\u003e ci: use pnpm in \u003ccode\u003eeslint-flat-config-utils\u003c/code\u003e type integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20826\"\u003e#20826\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3ffb14ea517de750ed1181579ef844af342e4096\"\u003e\u003ccode\u003e3ffb14e\u003c/code\u003e\u003c/a\u003e chore: clean up typos in comments and JSDoc (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20821\"\u003e#20821\u003c/a\u003e) (Pixel998)\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/eslint/eslint/commit/452c4010c07dc2e36fe6ec6a8c48298878e86887\"\u003e\u003ccode\u003e452c401\u003c/code\u003e\u003c/a\u003e 10.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b6417e8b55c9525070d6e168b485ce6ff21688ed\"\u003e\u003ccode\u003eb6417e8\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6616856f28fa514a30f87b5539fc100d739a94bf\"\u003e\u003ccode\u003e6616856\u003c/code\u003e\u003c/a\u003e chore: upgrade knip to v6 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20875\"\u003e#20875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d13b084a3ad02f926e9addaa35fc383759ea5554\"\u003e\u003ccode\u003ed13b084\u003c/code\u003e\u003c/a\u003e ci: ensure auto-created PRs run CI (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20860\"\u003e#20860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e71c7af86dce9acc1d18cb12d2184309f6841594\"\u003e\u003ccode\u003ee71c7af\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20862\"\u003e#20862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84393dea170f54191fd20c8268b52c81c0ccd99\"\u003e\u003ccode\u003ed84393d\u003c/code\u003e\u003c/a\u003e test: add unit tests for SuppressionsService.applySuppressions() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20863\"\u003e#20863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v9.39.4...v10.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 26.1.0 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v26.1.0...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typescript` from 5.9.3 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/TypeScript/releases\"\u003etypescript's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTypeScript 6.0.3\u003c/h2\u003e\n\u003cp\u003eFor release notes, check out the \u003ca href=\"https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/\"\u003erelease announcement blog post\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.0%22\"\u003efixed issues query for TypeScript 6.0.0 (Beta)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.1%22\"\u003efixed issues query for TypeScript 6.0.1 (RC)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.2%22\"\u003efixed issues query for TypeScript 6.0.2 (Stable)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.3%22\"\u003efixed issues query for TypeScript 6.0.3 (Stable)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDownloads are available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/typescript\"\u003enpm\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTypeScript 6.0\u003c/h2\u003e\n\u003cp\u003eFor release notes, check out the \u003ca href=\"https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/\"\u003erelease announcement blog post\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.0%22\"\u003efixed issues query for TypeScript 6.0.0 (Beta)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.1%22\"\u003efixed issues query for TypeScript 6.0.1 (RC)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.2%22\"\u003efixed issues query for TypeScript 6.0.2 (Stable)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDownloads are available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/typescript\"\u003enpm\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTypeScript 6.0 Beta\u003c/h2\u003e\n\u003cp\u003eFor release notes, check out the \u003ca href=\"https://devblogs.microsoft.com/typescript/announcing-typescript-6-0-beta/\"\u003erelease announcement\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.0%22+is%3Aclosed+\"\u003efixed issues query for Typescript 6.0.0 (Beta)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDownloads are available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/typescript\"\u003enpm\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/microsoft/TypeScript/commit/050880ce59e30b356b686bd3144efe24f875ebc8\"\u003e\u003ccode\u003e050880c\u003c/code\u003e\u003c/a\u003e Bump version to 6.0.3 and LKG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/eeae9dd0f17aa494658e4ec079dc002e02dd625e\"\u003e\u003ccode\u003eeeae9dd\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63401\"\u003e#63401\u003c/a\u003e (Also check package name validity in...) into release-6.0 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/ad1c695fada682764bb510dd680e8f175ae54094\"\u003e\u003ccode\u003ead1c695\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63368\"\u003e#63368\u003c/a\u003e (Harden ATA package name filtering) into release-6.0 (\u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63372\"\u003e#63372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/0725fb4664a1d5ec94040b6d94db77dc1cc354e4\"\u003e\u003ccode\u003e0725fb4\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63310\"\u003e#63310\u003c/a\u003e (Mark class property initializers as...) into release-6.0 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/607a22a90d1a5a1b507ce01bb8cd7ec020f954e7\"\u003e\u003ccode\u003e607a22a\u003c/code\u003e\u003c/a\u003e Bump version to 6.0.2 and LKG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/9e72ab71b575e26795d0d9eac3d2d9957beed17c\"\u003e\u003ccode\u003e9e72ab7\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63239\"\u003e#63239\u003c/a\u003e (Fix missing lib files in reused pro...) into release-6.0 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/35ff23d4b0cc715691323ebe54f523c16fe6e3a5\"\u003e\u003ccode\u003e35ff23d\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63163\"\u003e#63163\u003c/a\u003e (Port anyFunctionType subtype fix an...) into release-6.0 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/e175b69138038953d4e85bf6529afe88d56d8fbe\"\u003e\u003ccode\u003ee175b69\u003c/code\u003e\u003c/a\u003e Bump version to 6.0.1-rc and LKG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/af4caac0e91e838c46b3fdc1c9afacad68800f89\"\u003e\u003ccode\u003eaf4caac\u003c/code\u003e\u003c/a\u003e Update LKG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/8efd7e8544d8b35c9b33bca44a3124aa2613bf09\"\u003e\u003ccode\u003e8efd7e8\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/main' into release-6.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/TypeScript/compare/v5.9.3...v6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite` from 6.4.2 to 8.0.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/releases\"\u003evite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.14\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.14/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.13\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.13/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.12\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.12/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.11\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.11/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.10\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.10/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.9\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.9/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.8\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.8/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.7\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.7/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.6\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.6/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.5\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.5/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.4\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.4/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ecreate-vite@8.0.3\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.3/packages/create-vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.3\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.3/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ecreate-vite@8.0.2\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.2/packages/create-vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.2\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.2/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003eplugin-legacy@8.0.2\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/plugin-legacy@8.0.2/packages/plugin-legacy/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ecreate-vite@8.0.1\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.1/packages/create-vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md\"\u003evite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.0.13...v8.0.14\"\u003e8.0.14\u003c/a\u003e (2026-05-21)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rolldown to 1.0.2 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22484\"\u003e#22484\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/96efc88570b6a6ddf1a910f106920cbac07b3cf0\"\u003e96efc88\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update all non-major dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22471\"\u003e#22471\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/98b81632139d51820f82036e58d6fbbf122b77b3\"\u003e98b8163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edev:\u003c/strong\u003e handle errors when sending messages to vite server (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22450\"\u003e#22450\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e8e9a34dcf2540139de558a10187630884d10217\"\u003ee8e9a34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e handle trailing slash paths in transformIndexHtml (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22480\"\u003e#22480\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5d94d1bffdb2a15de9341194d89baec86ce1f693\"\u003e5d94d1b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e pass oxc jsx options to transformSync in dependency scan                                                            (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22342\"\u003e#22342\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/b3132dacea9c6e0cf526cd9f0f09d850f577c262\"\u003eb3132da\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22470\"\u003e#22470\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/7cb728eb629cc677661f1bc52a044ffc0b87fc7f\"\u003e7cb728e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove irrelevant commits from changelog (\u003ca href=\"https://github.com/vitejs/vite/commit/2c69495f250edf01132d4a20128de19dbe836086\"\u003e2c69495\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eglob:\u003c/strong\u003e do not rewrite import path for absolute base (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22310\"\u003e#22310\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/0ae2844ab6d6d1ccf78a2975b8132769fc35b302\"\u003e0ae2844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e sass does not use main field (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22449\"\u003e#22449\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/ebf39a04329ddc6ba765e006a5d463680a952270\"\u003eebf39a0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.0.12...v8.0.13\"\u003e8.0.13\u003c/a\u003e (2026-05-14)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e add lazy bundling support (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/21406\"\u003e#21406\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/4f0949f3f13e4b2b34d32bf7b2b4de5f26bea192\"\u003e4f0949f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e improve the esbuild plugin converter to pass some properties of build result to \u003ccode\u003eonEnd\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22357\"\u003e#22357\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/47071ce53f21726cf39e999c4407c4828ecbe957\"\u003e47071ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate rolldown to 1.0.1 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22444\"\u003e#22444\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8c766a6c5ee014969c4e32f29cc265e8e2c96e18\"\u003e8c766a6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e copy public directory after building same environment with \u003ccode\u003ewrite=false\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22328\"\u003e#22328\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/158e8ae8efdf7075ab295727e36b5ff68da3243e\"\u003e158e8ae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e await sass/less/styl worker disposal on teardown (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22274\"\u003e#22274\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22275\"\u003e#22275\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/b7edcb7d0dd17ddfeef4ace78d610c099216dade\"\u003eb7edcb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e keep deprecated \u003ccode\u003ename\u003c/code\u003e/\u003ccode\u003eoriginalFileName\u003c/code\u003e in synthetic \u003ccode\u003eassetFileNames\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22439\"\u003e#22439\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8e59c97a44d923c4c06f67287a793c9aa5a4ebaa\"\u003e8e59c97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake \u003ccode\u003eisBundled\u003c/code\u003e per environment (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22257\"\u003e#22257\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/a5763266170f8606836da5c6f987b4b2fd6ddc55\"\u003ea576326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003essr:\u003c/strong\u003e avoid rewriting labels that collide with imports (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22451\"\u003e#22451\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/d9b18e0387a253628d3d834288e79c5f7e85d566\"\u003ed9b18e0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eremove irrelevant commits from changelog (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22430\"\u003e#22430\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6ea383859aaf0ef8e673b458f164e84aeb6ff51d\"\u003e6ea3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate changelog (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22413\"\u003e#22413\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fcdc87cc6799857e2bab0f44f333a681694fff74\"\u003efcdc87c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.0.11...v8.0.12\"\u003e8.0.12\u003c/a\u003e (2026-05-11)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rolldown to 1.0.0 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22401\"\u003e#22401\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/cf0ff4154b26cffbf18541ade1a50818842731d3\"\u003ecf0ff41\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/vitejs/vite/commit/c917f1ef9d9c6ef131af96d89089d8ec680b18f2\"\u003e\u003ccode\u003ec917f1e\u003c/code\u003e\u003c/a\u003e release: v8.0.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/5d94d1bffdb2a15de9341194d89baec86ce1f693\"\u003e\u003ccode\u003e5d94d1b\u003c/code\u003e\u003c/a\u003e fix(html): handle trailing slash paths in transformIndexHtml (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22480\"\u003e#22480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/98b81632139d51820f82036e58d6fbbf122b77b3\"\u003e\u003ccode\u003e98b8163\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22471\"\u003e#22471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/96efc88570b6a6ddf1a910f106920cbac07b3cf0\"\u003e\u003ccode\u003e96efc88\u003c/code\u003e\u003c/a\u003e feat: update rolldown to 1.0.2 (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22484\"\u003e#22484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/ebf39a04329ddc6ba765e006a5d463680a952270\"\u003e\u003ccode\u003eebf39a0\u003c/code\u003e\u003c/a\u003e test(css): sass does not use main field (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22449\"\u003e#22449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/0ae2844ab6d6d1ccf78a2975b8132769fc35b302\"\u003e\u003ccode\u003e0ae2844\u003c/code\u003e\u003c/a\u003e refactor(glob): do not rewrite import path for absolute base (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22310\"\u003e#22310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/7cb728eb629cc677661f1bc52a044ffc0b87fc7f\"\u003e\u003ccode\u003e7cb728e\u003c/code\u003e\u003c/a\u003e chore(deps): update rolldown-related dependencies (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22470\"\u003e#22470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/b3132dacea9c6e0cf526cd9f0f09d850f577c262\"\u003e\u003ccode\u003eb3132da\u003c/code\u003e\u003c/a\u003e fix(optimizer): pass oxc jsx options to transformSync in dependency scan     ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/e8e9a34dcf2540139de558a10187630884d10217\"\u003e\u003ccode\u003ee8e9a34\u003c/code\u003e\u003c/a\u003e fix(dev): handle errors when sending messages to vite server (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22450\"\u003e#22450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/2c69495f250edf01132d4a20128de19dbe836086\"\u003e\u003ccode\u003e2c69495\u003c/code\u003e\u003c/a\u003e chore: remove irrelevant commits from changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitejs/vite/commits/v8.0.14/packages/vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 3.2.4 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003evitest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.5\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option  -  by \u003ca href=\"https://github.com/BartWaardenburg\"\u003e\u003ccode\u003e@​BartWaardenburg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10119\"\u003evitest-dev/vitest#10119\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7\"\u003e\u003c!-- raw HTML omitted --\u003e(0e0ff)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e--project negation excludes browser instances  -  by \u003ca href=\"https://github.com/felamaslen\"\u003e\u003ccode\u003e@​felamaslen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10131\"\u003evitest-dev/vitest#10131\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc084\"\u003e\u003c!-- raw HTML omitted --\u003e(9423d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProject color label on html reporter  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10142\"\u003evitest-dev/vitest#10142\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986\"\u003e\u003c!-- raw HTML omitted --\u003e(596f7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10163\"\u003evitest-dev/vitest#10163\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b\"\u003e\u003c!-- raw HTML omitted --\u003e(122c2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10157\"\u003evitest-dev/vitest#10157\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3\"\u003e\u003c!-- raw HTML omitted --\u003e(663b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedad\"\u003e\u003c!-- raw HTML omitted --\u003e(9787d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions \u0026quot;  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd\"\u003e\u003c!-- raw HTML omitted --\u003e(7dc6d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003east-collect\u003c/strong\u003e: Recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery  -  by \u003ca href=\"https://github.com/Yejneshwar\"\u003e\u003ccode\u003e@​Yejneshwar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10129\"\u003evitest-dev/vitest#10129\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab2\"\u003e\u003c!-- raw HTML omitted --\u003e(32546)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Descriptive error message when reports directory is removed during test run  -  by \u003ca href=\"https://github.com/DaveT1991\"\u003e\u003ccode\u003e@​DaveT1991\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10117\"\u003evitest-dev/vitest#10117\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1413382e1\"\u003e\u003c!-- raw HTML omitted --\u003e(14133)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e: Increase default snapshot max output length  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10150\"\u003evitest-dev/vitest#10150\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/21e66ff63\"\u003e\u003c!-- raw HTML omitted --\u003e(21e66)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e: Fix jsx/tsx syntax highlight  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10152\"\u003evitest-dev/vitest#10152\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b\"\u003e\u003c!-- raw HTML omitted --\u003e(f1b1f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eweb-worker\u003c/strong\u003e: Support MessagePort objects referenced inside postMessage data  -  by \u003ca href=\"https://github.com/whitphx\"\u003e\u003ccode\u003e@​whitphx\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9927\"\u003evitest-dev/vitest#9927\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10124\"\u003evitest-dev/vitest#10124\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7ad7d39af\"\u003e\u003c!-- raw HTML omitted --\u003e(7ad7d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e: Make test-specification options writable  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10154\"\u003evitest-dev/vitest#10154\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7\"\u003e\u003c!-- raw HTML omitted --\u003e(6abd5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.4\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDefault to text reporter \u003ccode\u003eskipFull\u003c/code\u003e if agent detected  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10018\"\u003evitest-dev/vitest#10018\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/53757804c\"\u003e\u003c!-- raw HTML omitted --\u003e(53757)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eExpose \u003ccode\u003eassertion\u003c/code\u003e as a public field  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10095\"\u003evitest-dev/vitest#10095\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a120e3ab8\"\u003e\u003c!-- raw HTML omitted --\u003e(a120e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport aria snapshot  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e, \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9668\"\u003evitest-dev/vitest#9668\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d4fbb5cc9\"\u003e\u003c!-- raw HTML omitted --\u003e(d4fbb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7e86d6e2bf581f074dc216805d10d371\"\u003e\u003ccode\u003e0e0ff41\u003c/code\u003e\u003c/a\u003e feat(coverage): istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10119\"\u003e#10119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3e6a60fc8a7ccd2d9941d1cbe929b606\"\u003e\u003ccode\u003e663b99f\u003c/code\u003e\u003c/a\u003e fix: alias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10157\"\u003e#10157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/vitest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for vitest since your current version.\u003c/p\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/etherman-os/drberkay-pixel-hospital/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/etherman-os%2Fdrberkay-pixel-hospital/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"},{"uuid":"4536875790","node_id":"PR_kwDOQsoecM7gDTip","number":144,"state":"open","title":"chore(deps-dev): bump the development-dependencies group across 1 directory with 21 updates","user":"dependabot[bot]","labels":[],"assignees":["Alice39s"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-28T01:08:47.000Z","updated_at":"2026-05-28T01:08:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"development-dependencies","update_count":21,"packages":[{"name":"@types/node","old_version":"25.6.0","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"lefthook","old_version":"2.1.6","new_version":"2.1.8","repository_url":"https://github.com/evilmartians/lefthook"},{"name":"oxlint","old_version":"1.62.0","new_version":"1.67.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"semver","old_version":"7.7.4","new_version":"7.8.1","repository_url":"https://github.com/npm/node-semver"},{"name":"turbo","old_version":"2.9.6","new_version":"2.9.15","repository_url":"https://github.com/vercel/turborepo"},{"name":"@babel/core","old_version":"7.29.0","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/preset-env","old_version":"7.29.2","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/preset-react","old_version":"7.28.5","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/preset-typescript","old_version":"7.28.5","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@types/react","old_version":"19.2.14","new_version":"19.2.15","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"jsdom","old_version":"29.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vue/test-utils","old_version":"2.4.9","new_version":"2.4.10","repository_url":"https://github.com/vuejs/test-utils"},{"name":"@vitejs/plugin-react","old_version":"6.0.1","new_version":"6.0.2","repository_url":"https://github.com/vitejs/vite-plugin-react"},{"name":"eslint","old_version":"10.2.1","new_version":"10.4.0","repository_url":"https://github.com/eslint/eslint"},{"name":"globals","old_version":"17.5.0","new_version":"17.6.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"typescript-eslint","old_version":"8.59.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitejs/plugin-vue","old_version":"6.0.6","new_version":"6.0.7","repository_url":"https://github.com/vitejs/vite-plugin-vue"},{"name":"vue-tsc","old_version":"3.2.7","new_version":"3.3.2","repository_url":"https://github.com/vuejs/language-tools"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 20 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.0` | `25.9.1` |\n| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.6` | `2.1.8` |\n| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.62.0` | `1.67.0` |\n| [semver](https://github.com/npm/node-semver) | `7.7.4` | `7.8.1` |\n| [turbo](https://github.com/vercel/turborepo) | `2.9.6` | `2.9.15` |\n| [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `7.29.0` | `7.29.7` |\n| [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) | `7.29.2` | `7.29.7` |\n| [@babel/preset-react](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react) | `7.28.5` | `7.29.7` |\n| [@babel/preset-typescript](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-typescript) | `7.28.5` | `7.29.7` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.15` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.7` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.1.0` | `29.1.1` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.7` |\n| [@vue/test-utils](https://github.com/vuejs/test-utils) | `2.4.9` | `2.4.10` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [eslint](https://github.com/eslint/eslint) | `10.2.1` | `10.4.0` |\n| [globals](https://github.com/sindresorhus/globals) | `17.5.0` | `17.6.0` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.1` | `8.60.0` |\n| [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) | `6.0.6` | `6.0.7` |\n| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.2.7` | `3.3.2` |\n\n\nUpdates `@types/node` from 25.6.0 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lefthook` from 2.1.6 to 2.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/evilmartians/lefthook/releases\"\u003elefthook's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.8\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e488a5f99a5a496e5837f757f8ce3e6c6d1415792 fix: do not warn if local hooks path is equal to default hooks path (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1421\"\u003e#1421\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.7\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ef415a9d3fce1d4f6af62622cf96c72e04ecf7bd3 chore: go mod tidy\u003c/li\u003e\n\u003cli\u003ecf4ab9ea4580f5aeb0d4b61d4dd169533e5bb0c9 fix: always restore unstaged changes (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1416\"\u003e#1416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4c0e000d6fe9f35f42efefb9263b0b4cb5dfbd49 fix: apply stage_fixed only if it is safe (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1418\"\u003e#1418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e76aa843ef5ceb6970f61cd2ff28d16dd2ec82272 fix: linter, sacrifice optimization for readability\u003c/li\u003e\n\u003cli\u003e9d53c36ed9a26d3bf66e341a9650a0ecac9b6a37 fix: separate fallback push branch from pathspecs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1396\"\u003e#1396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e22c9f773cf93b59005bd244c5b00caab2947a755 fix: try to always restore unstaged changes (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1417\"\u003e#1417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e37d83986d8e6d6bf6792f57e22e7cbb1a9e28064 fix: use contrast colors (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1420\"\u003e#1420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eeb1064d0b8c6248627960bea1abf6891db5a21b1 refactor: add new logger without a global state (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1385\"\u003e#1385\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/evilmartians/lefthook/blob/master/CHANGELOG.md\"\u003elefthook's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.8 (2026-05-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: do not warn if local hooks path is equal to default hooks path (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1421\"\u003e#1421\u003c/a\u003e) by \u003ca href=\"\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.7 (2026-05-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: use contrast colors (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1420\"\u003e#1420\u003c/a\u003e) by \u003ca href=\"\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply stage_fixed only if it is safe (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1418\"\u003e#1418\u003c/a\u003e) by \u003ca href=\"\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: try to always restore unstaged changes (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1417\"\u003e#1417\u003c/a\u003e) by \u003ca href=\"\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: always restore unstaged changes (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1416\"\u003e#1416\u003c/a\u003e) by \u003ca href=\"\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: add new logger without a global state (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1385\"\u003e#1385\u003c/a\u003e) by \u003ca href=\"\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: linter, sacrifice optimization for readability by \u003ca href=\"\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: separate fallback push branch from pathspecs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1396\"\u003e#1396\u003c/a\u003e) by \u003ca href=\"\"\u003e\u003ccode\u003e@​lawrence3699\u003c/code\u003e\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/evilmartians/lefthook/commit/9e75b2138b4d31b156d3256c2b0617851377aaf2\"\u003e\u003ccode\u003e9e75b21\u003c/code\u003e\u003c/a\u003e 2.1.8: reduce warning for core.hooksPath if it matches the default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/488a5f99a5a496e5837f757f8ce3e6c6d1415792\"\u003e\u003ccode\u003e488a5f9\u003c/code\u003e\u003c/a\u003e fix: do not warn if local hooks path is equal to default hooks path (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1421\"\u003e#1421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/b5c8310e174489a3705dbbe240eea035058a9128\"\u003e\u003ccode\u003eb5c8310\u003c/code\u003e\u003c/a\u003e 2.1.7: restore unstaged changes when possible\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/37d83986d8e6d6bf6792f57e22e7cbb1a9e28064\"\u003e\u003ccode\u003e37d8398\u003c/code\u003e\u003c/a\u003e fix: use contrast colors (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1420\"\u003e#1420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/4c0e000d6fe9f35f42efefb9263b0b4cb5dfbd49\"\u003e\u003ccode\u003e4c0e000\u003c/code\u003e\u003c/a\u003e fix: apply stage_fixed only if it is safe (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1418\"\u003e#1418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/22c9f773cf93b59005bd244c5b00caab2947a755\"\u003e\u003ccode\u003e22c9f77\u003c/code\u003e\u003c/a\u003e fix: try to always restore unstaged changes (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1417\"\u003e#1417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/cf4ab9ea4580f5aeb0d4b61d4dd169533e5bb0c9\"\u003e\u003ccode\u003ecf4ab9e\u003c/code\u003e\u003c/a\u003e fix: always restore unstaged changes (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1416\"\u003e#1416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/f415a9d3fce1d4f6af62622cf96c72e04ecf7bd3\"\u003e\u003ccode\u003ef415a9d\u003c/code\u003e\u003c/a\u003e chore: go mod tidy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/eb1064d0b8c6248627960bea1abf6891db5a21b1\"\u003e\u003ccode\u003eeb1064d\u003c/code\u003e\u003c/a\u003e refactor: add new logger without a global state (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1385\"\u003e#1385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/76aa843ef5ceb6970f61cd2ff28d16dd2ec82272\"\u003e\u003ccode\u003e76aa843\u003c/code\u003e\u003c/a\u003e fix: linter, sacrifice optimization for readability\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/evilmartians/lefthook/compare/v2.1.6...v2.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oxlint` from 1.62.0 to 1.67.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oxc-project/oxc/releases\"\u003eoxlint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eoxlint v1.27.0 \u0026amp;\u0026amp; oxfmt v0.12.0\u003c/h2\u003e\n\u003ch1\u003eOxlint v1.27.0\u003c/h1\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e222a8f0 linter/plugins: Implement \u003ccode\u003eSourceCode#isSpaceBetween\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15498\"\u003e#15498\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e2f9735d linter/plugins: Implement \u003ccode\u003econtext.languageOptions\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15486\"\u003e#15486\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003ebc731ff linter/plugins: Stub out all \u003ccode\u003eContext\u003c/code\u003e APIs (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15479\"\u003e#15479\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e5822cb4 linter/plugins: Add \u003ccode\u003eextend\u003c/code\u003e method to \u003ccode\u003eFILE_CONTEXT\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15477\"\u003e#15477\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e7b1e6f3 apps: Add pure rust binaries and release to github (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15469\"\u003e#15469\u003c/a\u003e) (Boshen)\u003c/li\u003e\n\u003cli\u003e2a89b43 linter: Introduce debug assertions after fixes to assert validity (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15389\"\u003e#15389\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003ead3c45a editor: Add \u003ccode\u003eoxc.path.node\u003c/code\u003e option (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15040\"\u003e#15040\u003c/a\u003e) (Sysix)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e6f3cd77 linter/no-var: Incorrect warning for blocks (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15504\"\u003e#15504\u003c/a\u003e) (Hamir Mahal)\u003c/li\u003e\n\u003cli\u003e6957fb9 linter/plugins: Do not allow access to \u003ccode\u003eContext#id\u003c/code\u003e in \u003ccode\u003ecreateOnce\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15489\"\u003e#15489\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e7409630 linter/plugins: Allow access to \u003ccode\u003ecwd\u003c/code\u003e in \u003ccode\u003ecreateOnce\u003c/code\u003e in ESLint interop mode (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15488\"\u003e#15488\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e732205e parser: Reject \u003ccode\u003eusing\u003c/code\u003e / \u003ccode\u003eawait using\u003c/code\u003e in a switch \u003ccode\u003ecase\u003c/code\u003e / \u003ccode\u003edefault\u003c/code\u003e clause (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15225\"\u003e#15225\u003c/a\u003e) (sapphi-red)\u003c/li\u003e\n\u003cli\u003ea17ca32 linter/plugins: Replace \u003ccode\u003eContext\u003c/code\u003e class (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15448\"\u003e#15448\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003eecf2f7b language_server: Fail gracefully when tsgolint executable not found (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15436\"\u003e#15436\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e3c8d3a7 lang-server: Improve logging in failure case for tsgolint (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15299\"\u003e#15299\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003eef71410 linter: Use jsx if source type is JS in fix debug assertion (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15434\"\u003e#15434\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003ee32bbf6 linter/no-var: Handle TypeScript declare keyword in fixer (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15426\"\u003e#15426\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e6565dbe linter/switch-case-braces: Skip comments when searching for \u003ccode\u003e:\u003c/code\u003e token (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15425\"\u003e#15425\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e85bd19a linter/prefer-class-fields: Insert value after type annotation in fixer (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15423\"\u003e#15423\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003efde753e linter/plugins: Block access to \u003ccode\u003econtext.settings\u003c/code\u003e in \u003ccode\u003ecreateOnce\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15394\"\u003e#15394\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003eddd9f9f linter/forward-ref-uses-ref: Dont suggest removing wrapper in invalid positions (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15388\"\u003e#15388\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003edac2a9c linter/no-template-curly-in-string: Remove fixer (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15387\"\u003e#15387\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e989b8e3 linter/no-var: Only fix to \u003ccode\u003econst\u003c/code\u003e if the var has an initializer (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15385\"\u003e#15385\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003ecc403f5 linter/plugins: Return empty object for unimplemented parserServices (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15364\"\u003e#15364\u003c/a\u003e) (magic-akari)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e⚡ Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e25d577e language_server: Start tools in parallel (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15500\"\u003e#15500\u003c/a\u003e) (Sysix)\u003c/li\u003e\n\u003cli\u003e3c57291 linter/plugins: Optimize loops (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15449\"\u003e#15449\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e3166233 linter/plugins: Remove \u003ccode\u003eArc\u003c/code\u003es (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15431\"\u003e#15431\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e9de1322 linter/plugins: Lazily deserialize settings JSON (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15395\"\u003e#15395\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e3049ec2 linter/plugins: Optimize \u003ccode\u003edeepFreezeSettings\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15392\"\u003e#15392\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e444ebfd linter/plugins: Use single object for \u003ccode\u003eparserServices\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15378\"\u003e#15378\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e97d2104 linter: Update comment in lint.rs about default value for tsconfig path (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15530\"\u003e#15530\u003c/a\u003e) (Connor Shea)\u003c/li\u003e\n\u003cli\u003e2c6bd9e linter: Always refer as \u0026quot;ES2015\u0026quot; instead of \u0026quot;ES6\u0026quot; (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15411\"\u003e#15411\u003c/a\u003e) (sapphi-red)\u003c/li\u003e\n\u003cli\u003ea0c5203 linter/import/named: Update \u0026quot;ES7\u0026quot; comment in examples (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15410\"\u003e#15410\u003c/a\u003e) (sapphi-red)\u003c/li\u003e\n\u003cli\u003e3dc24b5 linter,minifier: Always refer as \u0026quot;ES Modules\u0026quot; instead of \u0026quot;ES6 Modules\u0026quot; (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15409\"\u003e#15409\u003c/a\u003e) (sapphi-red)\u003c/li\u003e\n\u003cli\u003e2ad77fb linter/no-this-before-super: Correct \u0026quot;Why is this bad?\u0026quot; section (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15408\"\u003e#15408\u003c/a\u003e) (sapphi-red)\u003c/li\u003e\n\u003cli\u003e57f0ce1 linter: Add backquotes where appropriate (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15407\"\u003e#15407\u003c/a\u003e) (sapphi-red)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eOxfmt v0.12.0\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md\"\u003eoxlint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.67.0] - 2026-05-26\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb84941e linter/vue: Implement no-expose-after-await rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22675\"\u003e#22675\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003e98b98c1 linter/vue: Implement no-computed-properties-in-data rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22674\"\u003e#22674\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003e2d4c919 oxlint: Support \u003ccode\u003evite-plus/resolveConfig\u003c/code\u003e for vite.config.ts (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22456\"\u003e#22456\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e2a60012 linter/vue: Implement require-render-return rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22613\"\u003e#22613\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003e9f227fd linter/vue: Implement no-deprecated-props-default-this rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/21892\"\u003e#21892\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003e87f065e linter/vue: Implement return-in-emits-validator rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/21935\"\u003e#21935\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003eea0380c linter/unicorn: Implement \u003ccode\u003eimport-style\u003c/code\u003e rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22173\"\u003e#22173\u003c/a\u003e) (Hao Chen)\u003c/li\u003e\n\u003cli\u003edde40fe linter/vue: Implement no-watch-after-await rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22006\"\u003e#22006\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003ea735eb0 linter/vue: Implement valid-next-tick rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22531\"\u003e#22531\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003e6dc615d linter/vue: Implement no-shared-component-data rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/21842\"\u003e#21842\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003ea656418 linter/vue: Implement valid-define-options rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22107\"\u003e#22107\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003ebb6f1b2 linter/vue: Implement require-slots-as-functions rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22244\"\u003e#22244\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003e5fa4774 linter/n: Implement \u003ccode\u003ecallback-return\u003c/code\u003e rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22470\"\u003e#22470\u003c/a\u003e) (Mikhail Baev)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.66.0] - 2026-05-18\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e0440b0f linter/eslint: Implement \u003ccode\u003eid-match\u003c/code\u003e rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22379\"\u003e#22379\u003c/a\u003e) (Vladislav Sayapin)\u003c/li\u003e\n\u003cli\u003e65bf119 linter: Implement react no-object-type-as-default-prop (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22481\"\u003e#22481\u003c/a\u003e) (uhyo)\u003c/li\u003e\n\u003cli\u003e2a6ddce linter/eslint: Implement \u003ccode\u003eno-implied-eval\u003c/code\u003e rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22391\"\u003e#22391\u003c/a\u003e) (Vladislav Sayapin)\u003c/li\u003e\n\u003cli\u003e625758a linter/vitest: Implement padding-around-after-all-blocks rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/21788\"\u003e#21788\u003c/a\u003e) (kapobajza)\u003c/li\u003e\n\u003cli\u003e37680b0 linter: Implement react no-unstable-nested-components (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22248\"\u003e#22248\u003c/a\u003e) (Jovi De Croock)\u003c/li\u003e\n\u003cli\u003ed8d9c74 linter: Implement import/newline-after-import rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/19142\"\u003e#19142\u003c/a\u003e) (Ryuya Yanagi)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.65.0] - 2026-05-15\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e5478fb5 linter/jsdoc: Implement \u003ccode\u003erequire-throws-description\u003c/code\u003e rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22386\"\u003e#22386\u003c/a\u003e) (Mikhail Baev)\u003c/li\u003e\n\u003cli\u003ec73225e linter/eslint: Implement \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22312\"\u003e#22312\u003c/a\u003e) (박천(Cheon Park))\u003c/li\u003e\n\u003cli\u003ede82b59 linter: Add support for \u003ccode\u003eeslint-plugin-jsx-a11y-x\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22356\"\u003e#22356\u003c/a\u003e) (mehm8128)\u003c/li\u003e\n\u003cli\u003ef44b6c8 linter: Fill schemas \u003ccode\u003eDummyRuleMap\u003c/code\u003e with built-in rules (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22288\"\u003e#22288\u003c/a\u003e) (Sysix)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.64.0] - 2026-05-11\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efbb8f22 linter: Support \u003ccode\u003eignores\u003c/code\u003e in overrides (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22148\"\u003e#22148\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e25b7017 linter: Undocument override \u003ccode\u003eignores\u003c/code\u003e option (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22213\"\u003e#22213\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.63.0] - 2026-05-05\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/oxc-project/oxc/commit/68b455d84f0b18bd6646cfe4f9babb12ec4fc448\"\u003e\u003ccode\u003e68b455d\u003c/code\u003e\u003c/a\u003e release(apps): oxlint v1.67.0 \u0026amp;\u0026amp; oxfmt v0.52.0 (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22735\"\u003e#22735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/b84941e69e2e630e998fe6b1e90b0506608f7caa\"\u003e\u003ccode\u003eb84941e\u003c/code\u003e\u003c/a\u003e feat(linter/vue): implement no-expose-after-await rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22675\"\u003e#22675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/98b98c11f7435bb67aad73e4db9d151fb7dcc85a\"\u003e\u003ccode\u003e98b98c1\u003c/code\u003e\u003c/a\u003e feat(linter/vue): implement no-computed-properties-in-data rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22674\"\u003e#22674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/2d4c9194bdba786c005f3a406f020d4e88e44522\"\u003e\u003ccode\u003e2d4c919\u003c/code\u003e\u003c/a\u003e feat(oxlint): Support \u003ccode\u003evite-plus/resolveConfig\u003c/code\u003e for vite.config.ts (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22456\"\u003e#22456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/2a600127f8e122d7963d42c49005592a1477d72f\"\u003e\u003ccode\u003e2a60012\u003c/code\u003e\u003c/a\u003e feat(linter/vue): implement require-render-return rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22613\"\u003e#22613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/9f227fdaf73fff694a0ac77847d6fbaca3d1d425\"\u003e\u003ccode\u003e9f227fd\u003c/code\u003e\u003c/a\u003e feat(linter/vue): implement no-deprecated-props-default-this rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/21892\"\u003e#21892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/87f065ebf7cde21d1229322f4c7ee58baca5648e\"\u003e\u003ccode\u003e87f065e\u003c/code\u003e\u003c/a\u003e feat(linter/vue): implement return-in-emits-validator rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/21935\"\u003e#21935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/ea0380c189b8f8f1017c3bea3b61b5a6b2922b57\"\u003e\u003ccode\u003eea0380c\u003c/code\u003e\u003c/a\u003e feat(linter/unicorn): implement \u003ccode\u003eimport-style\u003c/code\u003e rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22173\"\u003e#22173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/dde40fe432c9d1360c9a0a20ce2a1e7cfcf2f019\"\u003e\u003ccode\u003edde40fe\u003c/code\u003e\u003c/a\u003e feat(linter/vue): implement no-watch-after-await rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22006\"\u003e#22006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/a735eb01cb319c6433e3395745122234b718e37b\"\u003e\u003ccode\u003ea735eb0\u003c/code\u003e\u003c/a\u003e feat(linter/vue): implement valid-next-tick rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22531\"\u003e#22531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oxc-project/oxc/commits/oxlint_v1.67.0/npm/oxlint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `semver` from 7.7.4 to 7.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/npm/node-semver/releases\"\u003esemver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.8.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.8.0...v7.8.1\"\u003e7.8.1\u003c/a\u003e (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/17aa702d91166472b197a2ea768f085083bee2e4\"\u003e\u003ccode\u003e17aa702\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/869\"\u003e#869\u003c/a\u003e strip build metadata before comparator trimming (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/869\"\u003e#869\u003c/a\u003e) (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/5f3ca133e040210b6ea80c350a1d61d9da02e722\"\u003e\u003ccode\u003e5f3ca13\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/867\"\u003e#867\u003c/a\u003e handle prerelease bounds in subset (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/867\"\u003e#867\u003c/a\u003e) (\u003ca href=\"https://github.com/puneetdixit200\"\u003e\u003ccode\u003e@​puneetdixit200\u003c/code\u003e\u003c/a\u003e, Puneet Dixit)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.8.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.4...v7.8.0\"\u003e7.8.0\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/0d0a0a2582fb1486bc6cd255ba18819c441ed149\"\u003e\u003ccode\u003e0d0a0a2\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/855\"\u003e#855\u003c/a\u003e Add \u003ccode\u003etruncate\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/855\"\u003e#855\u003c/a\u003e) (\u003ca href=\"https://github.com/pjohnmeyer\"\u003e\u003ccode\u003e@​pjohnmeyer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/3905343045dc293c3694d5e46170b1bb1fb5cf58\"\u003e\u003ccode\u003e3905343\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/859\"\u003e#859\u003c/a\u003e Warn when defaulting to --inc=patch in CLI (\u003ca href=\"https://github.com/pjohnmeyer\"\u003e\u003ccode\u003e@​pjohnmeyer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c368af612e521767e960419e6388c5129c857984\"\u003e\u003ccode\u003ec368af6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/853\"\u003e#853\u003c/a\u003e fix typos in documentation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/853\"\u003e#853\u003c/a\u003e) (\u003ca href=\"https://github.com/ankitkumar572005\"\u003e\u003ccode\u003e@​ankitkumar572005\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/37776c31e2f3448fd852c975888e37b03efe9afe\"\u003e\u003ccode\u003e37776c3\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/846\"\u003e#846\u003c/a\u003e fix BNF grammar to distinguish prerelease from build identifiers (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/846\"\u003e#846\u003c/a\u003e) (\u003ca href=\"https://github.com/abhu85\"\u003e\u003ccode\u003e@​abhu85\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/claude\"\u003e\u003ccode\u003e@​claude\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/9542e09ebcd89e916777d35eba868061dad9ed7d\"\u003e\u003ccode\u003e9542e09\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/860\"\u003e#860\u003c/a\u003e template-oss-apply (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/937bc2cd8721db14745c9be123078c44e77a86ef\"\u003e\u003ccode\u003e937bc2c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/860\"\u003e#860\u003c/a\u003e \u003ccode\u003etemplate-oss-apply@5.0.0\u003c/code\u003e (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/6946fefa57bd5e191871a4738b28ca673e003527\"\u003e\u003ccode\u003e6946fef\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/852\"\u003e#852\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.29.0 to 4.30.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/852\"\u003e#852\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/npm-cli-bot\"\u003e\u003ccode\u003e@​npm-cli-bot\u003c/code\u003e\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/npm/node-semver/blob/main/CHANGELOG.md\"\u003esemver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.8.0...v7.8.1\"\u003e7.8.1\u003c/a\u003e (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/17aa702d91166472b197a2ea768f085083bee2e4\"\u003e\u003ccode\u003e17aa702\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/869\"\u003e#869\u003c/a\u003e strip build metadata before comparator trimming (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/869\"\u003e#869\u003c/a\u003e) (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/5f3ca133e040210b6ea80c350a1d61d9da02e722\"\u003e\u003ccode\u003e5f3ca13\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/867\"\u003e#867\u003c/a\u003e handle prerelease bounds in subset (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/867\"\u003e#867\u003c/a\u003e) (\u003ca href=\"https://github.com/puneetdixit200\"\u003e\u003ccode\u003e@​puneetdixit200\u003c/code\u003e\u003c/a\u003e, Puneet Dixit)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.4...v7.8.0\"\u003e7.8.0\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/0d0a0a2582fb1486bc6cd255ba18819c441ed149\"\u003e\u003ccode\u003e0d0a0a2\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/855\"\u003e#855\u003c/a\u003e Add \u003ccode\u003etruncate\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/855\"\u003e#855\u003c/a\u003e) (\u003ca href=\"https://github.com/pjohnmeyer\"\u003e\u003ccode\u003e@​pjohnmeyer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/3905343045dc293c3694d5e46170b1bb1fb5cf58\"\u003e\u003ccode\u003e3905343\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/859\"\u003e#859\u003c/a\u003e Warn when defaulting to --inc=patch in CLI (\u003ca href=\"https://github.com/pjohnmeyer\"\u003e\u003ccode\u003e@​pjohnmeyer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c368af612e521767e960419e6388c5129c857984\"\u003e\u003ccode\u003ec368af6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/853\"\u003e#853\u003c/a\u003e fix typos in documentation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/853\"\u003e#853\u003c/a\u003e) (\u003ca href=\"https://github.com/ankitkumar572005\"\u003e\u003ccode\u003e@​ankitkumar572005\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/37776c31e2f3448fd852c975888e37b03efe9afe\"\u003e\u003ccode\u003e37776c3\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/846\"\u003e#846\u003c/a\u003e fix BNF grammar to distinguish prerelease from build identifiers (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/846\"\u003e#846\u003c/a\u003e) (\u003ca href=\"https://github.com/abhu85\"\u003e\u003ccode\u003e@​abhu85\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/claude\"\u003e\u003ccode\u003e@​claude\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/9542e09ebcd89e916777d35eba868061dad9ed7d\"\u003e\u003ccode\u003e9542e09\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/860\"\u003e#860\u003c/a\u003e template-oss-apply (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/937bc2cd8721db14745c9be123078c44e77a86ef\"\u003e\u003ccode\u003e937bc2c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/860\"\u003e#860\u003c/a\u003e \u003ccode\u003etemplate-oss-apply@5.0.0\u003c/code\u003e (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/6946fefa57bd5e191871a4738b28ca673e003527\"\u003e\u003ccode\u003e6946fef\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/852\"\u003e#852\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.29.0 to 4.30.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/852\"\u003e#852\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/npm-cli-bot\"\u003e\u003ccode\u003e@​npm-cli-bot\u003c/code\u003e\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/npm/node-semver/commit/76416081a8413383cf6e24c82cafa438bd076d41\"\u003e\u003ccode\u003e7641608\u003c/code\u003e\u003c/a\u003e chore: release 7.8.1 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/868\"\u003e#868\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/17aa702d91166472b197a2ea768f085083bee2e4\"\u003e\u003ccode\u003e17aa702\u003c/code\u003e\u003c/a\u003e fix: strip build metadata before comparator trimming (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/869\"\u003e#869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/5f3ca133e040210b6ea80c350a1d61d9da02e722\"\u003e\u003ccode\u003e5f3ca13\u003c/code\u003e\u003c/a\u003e fix: handle prerelease bounds in subset (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/867\"\u003e#867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/efa4be6096c1f9b77d9d27d6132f6220c43b4e31\"\u003e\u003ccode\u003eefa4be6\u003c/code\u003e\u003c/a\u003e chore: release 7.8.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/847\"\u003e#847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/9542e09ebcd89e916777d35eba868061dad9ed7d\"\u003e\u003ccode\u003e9542e09\u003c/code\u003e\u003c/a\u003e chore: template-oss-apply\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/937bc2cd8721db14745c9be123078c44e77a86ef\"\u003e\u003ccode\u003e937bc2c\u003c/code\u003e\u003c/a\u003e chore: template-oss-apply@5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/3905343045dc293c3694d5e46170b1bb1fb5cf58\"\u003e\u003ccode\u003e3905343\u003c/code\u003e\u003c/a\u003e fix: Warn when defaulting to --inc=patch in CLI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/0d0a0a2582fb1486bc6cd255ba18819c441ed149\"\u003e\u003ccode\u003e0d0a0a2\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003etruncate\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/855\"\u003e#855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c368af612e521767e960419e6388c5129c857984\"\u003e\u003ccode\u003ec368af6\u003c/code\u003e\u003c/a\u003e docs: fix typos in documentation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/853\"\u003e#853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/6946fefa57bd5e191871a4738b28ca673e003527\"\u003e\u003ccode\u003e6946fef\u003c/code\u003e\u003c/a\u003e chore: bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.29.0 to 4.30.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/852\"\u003e#852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.4...v7.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo` from 2.9.6 to 2.9.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/turborepo/releases\"\u003eturbo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTurborepo v2.9.15\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.9.14 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12805\"\u003evercel/turborepo#12805\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Prune package.json workspaces by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12808\"\u003evercel/turborepo#12808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Wait for process trees before task completion by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12809\"\u003evercel/turborepo#12809\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.1 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12810\"\u003evercel/turborepo#12810\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: Sign macOS release binaries by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12811\"\u003evercel/turborepo#12811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12812\"\u003evercel/turborepo#12812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Prevent cache archive symlink reads by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12813\"\u003evercel/turborepo#12813\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.3 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12814\"\u003evercel/turborepo#12814\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid path-racy chmod during directory restore by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12815\"\u003evercel/turborepo#12815\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Prevent cache restore symlink race writes by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12817\"\u003evercel/turborepo#12817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Deny Rust panic extraction by default by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12818\"\u003evercel/turborepo#12818\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Make structured log symlink defense race-safe by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12821\"\u003evercel/turborepo#12821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve Bun alias child packages by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12822\"\u003evercel/turborepo#12822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid UTF-8 panics at boundaries by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12823\"\u003evercel/turborepo#12823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve non-UTF-8 Git path boundaries by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12826\"\u003evercel/turborepo#12826\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Create daemon dirs with private permissions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12827\"\u003evercel/turborepo#12827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Return Berry lockfile errors instead of panicking by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12828\"\u003evercel/turborepo#12828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Isolate Corepack state in integration tests by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12831\"\u003evercel/turborepo#12831\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: Use larger Windows runners for Rust tests by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12832\"\u003evercel/turborepo#12832\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Add \u003ccode\u003ewith-vite-module-federation\u003c/code\u003e example by \u003ca href=\"https://github.com/gioboa\"\u003e\u003ccode\u003e@​gioboa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12794\"\u003evercel/turborepo#12794\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Run Rust tests without partitioning by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12833\"\u003evercel/turborepo#12833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Remove \u003ccode\u003eTaskHashTracker\u003c/code\u003e-based \u003ccode\u003eexpect()\u003c/code\u003e calls by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12836\"\u003evercel/turborepo#12836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Deduplicate hash canonicalization by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12837\"\u003evercel/turborepo#12837\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Prevent Windows process drain hangs by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12838\"\u003evercel/turborepo#12838\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Refactor execsync to execfilesync for Shell command built from environment values by \u003ca href=\"https://github.com/bjormgyg\"\u003e\u003ccode\u003e@​bjormgyg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12829\"\u003evercel/turborepo#12829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Bound vt100 random quickcheck by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12839\"\u003evercel/turborepo#12839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Validate daemon discovery responses by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12840\"\u003evercel/turborepo#12840\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Store \u003ccode\u003ePackageGraph\u003c/code\u003e root invariants by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12841\"\u003evercel/turborepo#12841\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Avoid engine graph node expects by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12842\"\u003evercel/turborepo#12842\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Make Rust tests parallel-safe by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12843\"\u003evercel/turborepo#12843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid graph utility node lookup panics by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12844\"\u003evercel/turborepo#12844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid graph walker \u003ccode\u003eexpect()\u003c/code\u003e calls by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12845\"\u003evercel/turborepo#12845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove fs panic extraction lints by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12846\"\u003evercel/turborepo#12846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove fixed map panic extraction calls by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12847\"\u003evercel/turborepo#12847\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove devtools WebSocket panics by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12850\"\u003evercel/turborepo#12850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove json rewrite panic lint allow by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12848\"\u003evercel/turborepo#12848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove turborepo-types panic lint allows by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12849\"\u003evercel/turborepo#12849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Remove turborepo-hash build expect by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12851\"\u003evercel/turborepo#12851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove napi panic lint allows by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12852\"\u003evercel/turborepo#12852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid globwatch expect calls by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12853\"\u003evercel/turborepo#12853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove LSP expect callsites by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12854\"\u003evercel/turborepo#12854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove scope panic lint allows by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12855\"\u003evercel/turborepo#12855\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove task hash panic lints by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12856\"\u003evercel/turborepo#12856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove frameworks panic lint allows by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12857\"\u003evercel/turborepo#12857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove microfrontends proxy expect lint allow by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12859\"\u003evercel/turborepo#12859\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/vercel/turborepo/commit/3e78ad23f8dff38c247bb412f73eb7e3698cab2c\"\u003e\u003ccode\u003e3e78ad2\u003c/code\u003e\u003c/a\u003e publish 2.9.15 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/076ff97383ad34f58650b39026c85e12cf116053\"\u003e\u003ccode\u003e076ff97\u003c/code\u003e\u003c/a\u003e fix: Harden OTEL endpoint validation (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12954\"\u003e#12954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/f96ccc4d6e83e4677e1f0771bd67d782828f1e6b\"\u003e\u003ccode\u003ef96ccc4\u003c/code\u003e\u003c/a\u003e fix: Respect root gitignore during prune (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12953\"\u003e#12953\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/ebebf4136baca436537c6519892387d500a146fc\"\u003e\u003ccode\u003eebebf41\u003c/code\u003e\u003c/a\u003e chore: Switch Geist font imports to npm geist package (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12952\"\u003e#12952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5fa3039542faa44b25b3dc4c004e0b611ad24d4c\"\u003e\u003ccode\u003e5fa3039\u003c/code\u003e\u003c/a\u003e chore(turbo-codemod): remove duplicate \u0026quot;in\u0026quot; in transforms path comment (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12948\"\u003e#12948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/8fc94f38380728356dda5a8d894e046df9f5b61a\"\u003e\u003ccode\u003e8fc94f3\u003c/code\u003e\u003c/a\u003e docs: Correct attribute presence claims in turborepo-otel (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12932\"\u003e#12932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/06e81ea0b7a8c7d33ec89f3241310ec6fa273da3\"\u003e\u003ccode\u003e06e81ea\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.15-canary.8 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12945\"\u003e#12945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/c7ad6f29ba4ea07470a0a9e4d2590a490b6f60f5\"\u003e\u003ccode\u003ec7ad6f2\u003c/code\u003e\u003c/a\u003e feat: Add heap allocation profiling (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12943\"\u003e#12943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/31123f47faed6147b2eb57e8f3557e89138008c7\"\u003e\u003ccode\u003e31123f4\u003c/code\u003e\u003c/a\u003e fix: Preserve pnpm injected peer package entries (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12940\"\u003e#12940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/6ed6fb04f2bde329c68384e1a7d14f84e34f8869\"\u003e\u003ccode\u003e6ed6fb0\u003c/code\u003e\u003c/a\u003e fix: Use build-scale OTel duration buckets (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12939\"\u003e#12939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.6...v2.9.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@babel/core` from 7.29.0 to 7.29.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e@​babel/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.29.7 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eRe-release all packages with npm provenance attestations\u003c/p\u003e\n\u003ch2\u003ev7.29.6 (2026-05-25)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18014\"\u003e#18014\u003c/a\u003e Catchup source map position in preserveFormat (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18001\"\u003e#18001\u003c/a\u003e [7.x packport]Improve input source map handling (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e, \u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17998\"\u003e#17998\u003c/a\u003e Preserve original identifier names from input sourcemaps (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/17992\"\u003e#17992\u003c/a\u003e) (\u003ca href=\"https://github.com/Andarist\"\u003e\u003ccode\u003e@​Andarist\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 3\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMateusz Burzyński (\u003ca href=\"https://github.com/Andarist\"\u003e\u003ccode\u003e@​Andarist\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNicolò Ribaudo (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.5 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:house:  Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@babel/*\u003c/code\u003e dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.4 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-plugin-transform-modules-systemjs\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17974\"\u003e#17974\u003c/a\u003e [7.x backport]fix(systemjs): improve module string name support (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.3 (2026-04-30)\u003c/h2\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17923\"\u003e#17923\u003c/a\u003e Support flow extends bound (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-decorators\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17931\"\u003e#17931\u003c/a\u003e fix(decorators): replace super within all removed static elements (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-register\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17915\"\u003e#17915\u003c/a\u003e Fix thread synchronization issues in \u003ccode\u003e@babel/register\u003c/code\u003e (\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-compat-data\u003c/code\u003e, \u003ccode\u003ebabel-plugin-bugfix-safari-rest-destructuring-rhs-array\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17788\"\u003e#17788\u003c/a\u003e Add bugfix plugin for Safari array rest destructuring bug (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:nail_care: Polish\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/4fba7541180bf5f58256d8e358b544e3831ad090\"\u003e\u003ccode\u003e4fba754\u003c/code\u003e\u003c/a\u003e v7.29.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/04ea6b27fdac8f40c3481aec2080ac9678779509\"\u003e\u003ccode\u003e04ea6b2\u003c/code\u003e\u003c/a\u003e v7.29.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/99f498a9b9fa0b900d603fbe8f6601bb3b9e42bb\"\u003e\u003ccode\u003e99f498a\u003c/code\u003e\u003c/a\u003e [7.x packport]Improve input source map handling (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/18001\"\u003e#18001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/feba0a3654c596bd369d1ef1231f5d56666d56dc\"\u003e\u003ccode\u003efeba0a3\u003c/code\u003e\u003c/a\u003e Preserve original identifier names from input sourcemaps (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/17992\"\u003e#17992\u003c/a\u003e) (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/17998\"\u003e#17998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/babel/babel/commits/v7.29.7/packages/babel-core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@babel/preset-env` from 7.29.2 to 7.29.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e@​babel/preset-env's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.29.7 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eRe-release all packages with npm provenance attestations\u003c/p\u003e\n\u003ch2\u003ev7.29.6 (2026-05-25)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18014\"\u003e#18014\u003c/a\u003e Catchup source map position in preserveFormat (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18001\"\u003e#18001\u003c/a\u003e [7.x packport]Improve input source map handling (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e, \u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17998\"\u003e#17998\u003c/a\u003e Preserve original identifier names from input sourcemaps (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17992\"\u003e#17992\u003c/a\u003e) (\u003ca href=\"https://github.com/Andarist\"\u003e\u003ccode\u003e@​Andarist\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 3\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMateusz Burzyński (\u003ca href=\"https://github.com/Andarist\"\u003e\u003ccode\u003e@​Andarist\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNicolò Ribaudo (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.5 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:house:  Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@babel/*\u003c/code\u003e dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.4 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-plugin-transform-modules-systemjs\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17974\"\u003e#17974\u003c/a\u003e [7.x backport]fix(systemjs): improve module string name support (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.3 (2026-04-30)\u003c/h2\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17923\"\u003e#17923\u003c/a\u003e Support flow extends bound (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-decorators\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17931\"\u003e#17931\u003c/a\u003e fix(decorators): replace super within all removed static elements (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-register\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17915\"\u003e#17915\u003c/a\u003e Fix thread synchronization issues in \u003ccode\u003e@babel/register\u003c/code\u003e (\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-compat-data\u003c/code\u003e, \u003ccode\u003ebabel-plugin-bugfix-safari-rest-destructuring-rhs-array\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17788\"\u003e#17788\u003c/a\u003e Add bugfix plugin for Safari array rest destructuring bug (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:nail_care: Polish\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/4fba7541180bf5f58256d8e358b544e3831ad090\"\u003e\u003ccode\u003e4fba754\u003c/code\u003e\u003c/a\u003e v7.29.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/3cd910d838332b988ed83bdd2ddc22e849e7ea5d\"\u003e\u003ccode\u003e3cd910d\u003c/code\u003e\u003c/a\u003e v7.29.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/3d399f8c8c1e5308bb25e11947d90a111399ac0d\"\u003e\u003ccode\u003e3d399f8\u003c/code\u003e\u003c/a\u003e [7.x backport]docs(preset-env): update CONTRIBUTING.md (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17976\"\u003e#17976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/183db7bc040a68057489f8981d02962345a322ed\"\u003e\u003ccode\u003e183db7b\u003c/code\u003e\u003c/a\u003e v7.29.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/268f246f21e51b2204ba6dc5349055504cc7420d\"\u003e\u003ccode\u003e268f246\u003c/code\u003e\u003c/a\u003e Add bugfix plugin for Safari array rest destructuring bug (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17788\"\u003e#17788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/f8524d80799e136313e55da0468777a57d1bf6b6\"\u003e\u003ccode\u003ef8524d8\u003c/code\u003e\u003c/a\u003e Update compat data (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17686\"\u003e#17686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/babel/babel/commits/v7.29.7/packages/babel-preset-env\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@babel/preset-react` from 7.28.5 to 7.29.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e@​babel/preset-react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.29.7 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eRe-release all packages with npm provenance attestations\u003c/p\u003e\n\u003ch2\u003ev7.29.6 (2026-05-25)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18014\"\u003e#18014\u003c/a\u003e Catchup source map position in preserveFormat (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18001\"\u003e#18001\u003c/a\u003e [7.x packport]Improve input source map handling (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e, \u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17998\"\u003e#17998\u003c/a\u003e Preserve original identifier names from input sourcemaps (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react/issues/17992\"\u003e#17992\u003c/a\u003e) (\u003ca href=\"https://github.com/Andarist\"\u003e\u003ccode\u003e@​Andarist\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 3\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMateusz Burzyński (\u003ca href=\"https://github.com/Andarist\"\u003e\u003ccode\u003e@​Andarist\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNicolò Ribaudo (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.5 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:house:  Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@babel/*\u003c/code\u003e dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.4 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-plugin-transform-modules-systemjs\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17974\"\u003e#17974\u003c/a\u003e [7.x backport]fix(systemjs): improve module string name support (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.3 (2026-04-30)\u003c/h2\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17923\"\u003e#17923\u003c/a\u003e Support flow extends bound (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-decorators\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17931\"\u003e#17931\u003c/a\u003e fix(decorators): replace super within all removed static elements (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-register\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17915\"\u003e#17915\u003c/a\u003e Fix thread synchronization issues in \u003ccode\u003e@babel/register\u003c/code\u003e (\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-compat-data\u003c/code\u003e, \u003ccode\u003ebabel-plugin-bugfix-safari-rest-destructuring-rhs-array\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17788\"\u003e#17788\u003c/a\u003e Add bugfix plugin for Safari array rest destructuring bug (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:nail_care: Polish\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/4fba7541180bf5f58256d8e358b544e3831ad090\"\u003e\u003ccode\u003e4fba754\u003c/code\u003e\u003c/a\u003e v7.29.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/f3a22268bdc4fc6748cbc2be718a4d1090bdaf00\"\u003e\u003ccode\u003ef3a2226\u003c/code\u003e\u003c/a\u003e [babel 7] Delete Babel 8 fixtures (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react/issues/17729\"\u003e#17729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/babel/babel/commits/v7.29.7/packages/babel-preset-react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@babel/preset-typescript` from 7.28.5 to 7.29.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e@​babel/preset-typescript's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.29.7 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eRe-release all packages with npm provenance attestations\u003c/p\u003e\n\u003ch2\u003ev7.29.6 (2026-05-25)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18014\"\u003e#18014\u003c/a\u003e Catchup source map position in preserveFormat (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18001\"\u003e#18001\u003c/a\u003e [7.x packport]Improve input source map handling (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e, \u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17998\"\u003e#17998\u003c/a\u003e Preserve original identifier names from input sourcemaps (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-typescript/issues/17992\"\u003e#17992\u003c/a\u003e) (\u003ca href=\"https://github.com/Andarist\"\u003e\u003ccode\u003e@​Andarist\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 3\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMateusz Burzyński (\u003ca href=\"https://github.com/Andarist\"\u003e\u003ccode\u003e@​Andarist\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNicolò Ribaudo (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.5 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:house:  Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@babel/*\u003c/code\u003e dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.4 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-plugin-transform-modules-systemjs\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17974\"\u003e#17974\u003c/a\u003e [7.x backport]fix(systemjs): improve module string name support (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.3 (2026-04-30)\u003c/h2\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17923\"\u003e#17923\u003c/a\u003e Support flow extends bound (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-decorators\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17931\"\u003e#17931\u003c/a\u003e fix(decorators): replace super within all removed static elements (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-register\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17915\"\u003e#17915\u003c/a\u003e Fix thread synchronization issues in \u003ccode\u003e@babel/register\u003c/code\u003e (\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-compat-data\u003c/code\u003e, \u003ccode\u003ebabel-plugin-bugfix-safari-rest-destructuring-rhs-array\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17788\"\u003e#17788\u003c/a\u003e Add bugfix plugin for Safari array rest destructuring bug (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:nail_care: Polish\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/4fba7541180bf5f58256d8e358b544e3831ad090\"\u003e\u003ccode\u003e4fba754\u003c/code\u003e\u003c/a\u003e v7.29.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/f3a22268bdc4fc6748cbc2be718a4d1090bdaf00\"\u003e\u003ccode\u003ef3a2226\u003c/code\u003e\u003c/a\u003e [babel 7] Delete Babel 8 fixtures (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-typescript/issues/17729\"\u003e#17729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/babel/babel/commits/v7.29.7/packages/babel-preset-typescript\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/react` from 19.2.14 to 19.2.15\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react\"\u003ecompare view\u003c/a\u003e\u003c/li...\n\n_Description has been truncated_","html_url":"https://github.com/SanKyu-Lab/circle-flags-ui/pull/144","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SanKyu-Lab%2Fcircle-flags-ui/issues/144","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/144/packages"}],"issue_packages":[{"old_version":"26.1.0","new_version":"29.1.1","update_type":"major","path":"/client in the test-tooling group across 1 directory","pr_created_at":"2026-06-01T09:16:37.000Z","version_change":"26.1.0 → 29.1.1","issue":{"uuid":"4561844055","node_id":"PR_kwDOSCG5qc7hTBgp","number":79,"state":"open","title":"chore(client): Bump jsdom from 26.1.0 to 29.1.1 in /client in the test-tooling group across 1 directory","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T09:16:37.000Z","updated_at":"2026-06-01T09:16:38.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(client): Bump","packages":[{"name":"jsdom","old_version":"26.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":"/client in the test-tooling group across 1 directory","ecosystem":"npm"},"body":"Bumps the test-tooling group with 1 update in the /client directory: [jsdom](https://github.com/jsdom/jsdom).\n\nUpdates `jsdom` from 26.1.0 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v26.1.0...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=26.1.0\u0026new-version=29.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Elmanosound/familyapp/pull/79","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Elmanosound%2Ffamilyapp/issues/79","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/79/packages"}},{"old_version":"29.0.2","new_version":"29.1.1","update_type":"minor","path":null,"pr_created_at":"2026-06-01T06:05:20.000Z","version_change":"29.0.2 → 29.1.1","issue":{"uuid":"4560752031","node_id":"PR_kwDORrlhks7hPe9y","number":33,"state":"open","title":"chore(deps): bump the production-minor group across 1 directory with 36 updates","user":"dependabot[bot]","labels":["api","admin","booking","dashboard"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T06:05:20.000Z","updated_at":"2026-06-01T06:05:31.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"production-minor","update_count":36,"packages":[{"name":"turbo","old_version":"2.8.17","new_version":"2.9.16","repository_url":"https://github.com/vercel/turborepo"},{"name":"@opentelemetry/auto-instrumentations-node","old_version":"0.72.0","new_version":"0.76.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js-contrib"},{"name":"@opentelemetry/exporter-trace-otlp-http","old_version":"0.214.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"@opentelemetry/resources","old_version":"2.6.1","new_version":"2.7.1","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"@opentelemetry/sdk-node","old_version":"0.214.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"@opentelemetry/semantic-conventions","old_version":"1.40.0","new_version":"1.41.1","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"axios","old_version":"1.14.0","new_version":"1.16.1","repository_url":"https://github.com/axios/axios"},{"name":"bullmq","old_version":"5.71.0","new_version":"5.77.6","repository_url":"https://github.com/taskforcesh/bullmq"},{"name":"class-validator","old_version":"0.14.4","new_version":"0.15.1","repository_url":"https://github.com/typestack/class-validator"},{"name":"helmet","old_version":"8.1.0","new_version":"8.2.0","repository_url":"https://github.com/helmetjs/helmet"},{"name":"ioredis","old_version":"5.10.0","new_version":"5.11.0","repository_url":"https://github.com/luin/ioredis"},{"name":"lru-cache","old_version":"11.3.2","new_version":"11.5.1","repository_url":"https://github.com/isaacs/node-lru-cache"},{"name":"nodemailer","old_version":"8.0.4","new_version":"8.0.10","repository_url":"https://github.com/nodemailer/nodemailer"},{"name":"pdfkit","old_version":"0.15.2","new_version":"0.18.0","repository_url":"https://github.com/foliojs/pdfkit"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"sharp","old_version":"0.33.5","new_version":"0.34.5","repository_url":"https://github.com/lovell/sharp"},{"name":"@types/pdfkit","old_version":"0.17.5","new_version":"0.17.6","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.58.2","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.58.2","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"ts-jest","old_version":"29.4.6","new_version":"29.4.11","repository_url":"https://github.com/kulshekhar/ts-jest"},{"name":"ts-loader","old_version":"9.5.4","new_version":"9.6.0","repository_url":"https://github.com/TypeStrong/ts-loader"},{"name":"@tanstack/react-query","old_version":"5.90.21","new_version":"5.100.14","repository_url":"https://github.com/TanStack/query"},{"name":"motion","old_version":"12.38.0","new_version":"12.40.0","repository_url":"https://github.com/motiondivision/motion"},{"name":"next-intl","old_version":"4.8.3","new_version":"4.13.0","repository_url":"https://github.com/amannn/next-intl"},{"name":"react-hook-form","old_version":"7.71.2","new_version":"7.77.0","repository_url":"https://github.com/react-hook-form/react-hook-form"},{"name":"tailwind-merge","old_version":"3.5.0","new_version":"3.6.0","repository_url":"https://github.com/dcastil/tailwind-merge"},{"name":"zustand","old_version":"5.0.12","new_version":"5.0.14","repository_url":"https://github.com/pmndrs/zustand"},{"name":"@axe-core/playwright","old_version":"4.11.1","new_version":"4.11.3","repository_url":"https://github.com/dequelabs/axe-core-npm"},{"name":"@lhci/cli","old_version":"0.14.0","new_version":"0.15.1","repository_url":"https://github.com/GoogleChrome/lighthouse-ci"},{"name":"@playwright/test","old_version":"1.59.1","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"@tailwindcss/postcss","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@vitest/coverage-v8","old_version":"4.1.3","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"jsdom","old_version":"29.0.2","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"postcss","old_version":"8.5.8","new_version":"8.5.15","repository_url":"https://github.com/postcss/postcss"},{"name":"tailwindcss","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"vitest","old_version":"4.1.3","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the production-minor group with 36 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [turbo](https://github.com/vercel/turborepo) | `2.8.17` | `2.9.16` |\n| [@opentelemetry/auto-instrumentations-node](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/auto-instrumentations-node) | `0.72.0` | `0.76.0` |\n| [@opentelemetry/exporter-trace-otlp-http](https://github.com/open-telemetry/opentelemetry-js) | `0.214.0` | `0.218.0` |\n| [@opentelemetry/resources](https://github.com/open-telemetry/opentelemetry-js) | `2.6.1` | `2.7.1` |\n| [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js) | `0.214.0` | `0.218.0` |\n| [@opentelemetry/semantic-conventions](https://github.com/open-telemetry/opentelemetry-js) | `1.40.0` | `1.41.1` |\n| [axios](https://github.com/axios/axios) | `1.14.0` | `1.16.1` |\n| [bullmq](https://github.com/taskforcesh/bullmq) | `5.71.0` | `5.77.6` |\n| [class-validator](https://github.com/typestack/class-validator) | `0.14.4` | `0.15.1` |\n| [helmet](https://github.com/helmetjs/helmet) | `8.1.0` | `8.2.0` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.0` | `5.11.0` |\n| [lru-cache](https://github.com/isaacs/node-lru-cache) | `11.3.2` | `11.5.1` |\n| [nodemailer](https://github.com/nodemailer/nodemailer) | `8.0.4` | `8.0.10` |\n| [pdfkit](https://github.com/foliojs/pdfkit) | `0.15.2` | `0.18.0` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [sharp](https://github.com/lovell/sharp) | `0.33.5` | `0.34.5` |\n| [@types/pdfkit](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pdfkit) | `0.17.5` | `0.17.6` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.58.2` | `8.60.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.58.2` | `8.60.0` |\n| [ts-jest](https://github.com/kulshekhar/ts-jest) | `29.4.6` | `29.4.11` |\n| [ts-loader](https://github.com/TypeStrong/ts-loader) | `9.5.4` | `9.6.0` |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.90.21` | `5.100.14` |\n| [motion](https://github.com/motiondivision/motion) | `12.38.0` | `12.40.0` |\n| [next-intl](https://github.com/amannn/next-intl) | `4.8.3` | `4.13.0` |\n| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.71.2` | `7.77.0` |\n| [tailwind-merge](https://github.com/dcastil/tailwind-merge) | `3.5.0` | `3.6.0` |\n| [zustand](https://github.com/pmndrs/zustand) | `5.0.12` | `5.0.14` |\n| [@axe-core/playwright](https://github.com/dequelabs/axe-core-npm) | `4.11.1` | `4.11.3` |\n| [@lhci/cli](https://github.com/GoogleChrome/lighthouse-ci) | `0.14.0` | `0.15.1` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.59.1` | `1.60.0` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.1` | `4.3.0` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.3` | `4.1.7` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.0.2` | `29.1.1` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.8` | `8.5.15` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.1` | `4.3.0` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.3` | `4.1.7` |\n\n\nUpdates `turbo` from 2.8.17 to 2.9.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/turborepo/releases\"\u003eturbo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTurborepo v2.9.16\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.9.15 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12955\"\u003evercel/turborepo#12955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid hanging PTY shutdown by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12958\"\u003evercel/turborepo#12958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Retry npm tlog publish failures by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12959\"\u003evercel/turborepo#12959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.1 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12960\"\u003evercel/turborepo#12960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve nested Bun dependency versions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12963\"\u003evercel/turborepo#12963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;fix: Preserve nested Bun dependency versions\u0026quot; by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12964\"\u003evercel/turborepo#12964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12961\"\u003evercel/turborepo#12961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve nested Bun dependency versions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12965\"\u003evercel/turborepo#12965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Don't delete existing \u003ccode\u003e.git\u003c/code\u003e when using \u003ccode\u003e--no-git\u003c/code\u003e flag by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12968\"\u003evercel/turborepo#12968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16\"\u003ehttps://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.9.16-canary.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.7 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12935\"\u003evercel/turborepo#12935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Restore a few internal invariant checks by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12933\"\u003evercel/turborepo#12933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Improve profile tracing coverage by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12936\"\u003evercel/turborepo#12936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Use build-scale OTel duration buckets by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12939\"\u003evercel/turborepo#12939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve pnpm injected peer package entries by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12940\"\u003evercel/turborepo#12940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add heap allocation profiling by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12943\"\u003evercel/turborepo#12943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.8 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12945\"\u003evercel/turborepo#12945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Correct attribute presence claims in turborepo-otel by \u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12932\"\u003evercel/turborepo#12932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(turbo-codemod): Remove duplicate \u0026quot;in\u0026quot; in transforms path comment by \u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12948\"\u003evercel/turborepo#12948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Switch Geist font imports to npm geist package by \u003ca href=\"https://github.com/christopherkindl\"\u003e\u003ccode\u003e@​christopherkindl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12952\"\u003evercel/turborepo#12952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Respect root gitignore during prune by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12953\"\u003evercel/turborepo#12953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Harden OTEL endpoint validation by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12954\"\u003evercel/turborepo#12954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12955\"\u003evercel/turborepo#12955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid hanging PTY shutdown by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12958\"\u003evercel/turborepo#12958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Retry npm tlog publish failures by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12959\"\u003evercel/turborepo#12959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.1 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12960\"\u003evercel/turborepo#12960\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/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12932\"\u003evercel/turborepo#12932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12948\"\u003evercel/turborepo#12948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/christopherkindl\"\u003e\u003ccode\u003e@​christopherkindl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12952\"\u003evercel/turborepo#12952\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2\"\u003ehttps://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.9.15\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5e2d466c345604aa2011cd2314d176f401f650de\"\u003e\u003ccode\u003e5e2d466\u003c/code\u003e\u003c/a\u003e publish 2.9.16 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/b4aa626ee2316a61d070bcce4038ff26474180ee\"\u003e\u003ccode\u003eb4aa626\u003c/code\u003e\u003c/a\u003e fix: Don't delete existing \u003ccode\u003e.git\u003c/code\u003e when using \u003ccode\u003e--no-git\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12968\"\u003e#12968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/7952b4627d04f1edd7ab9f2262a17c3e49cc1bc8\"\u003e\u003ccode\u003e7952b46\u003c/code\u003e\u003c/a\u003e fix: Preserve nested Bun dependency versions (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12965\"\u003e#12965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5e5b248c188e679616c0d9e23bbe4ed8b46c9c36\"\u003e\u003ccode\u003e5e5b248\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.16-canary.2 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12961\"\u003e#12961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/3b1b6e9655ccafc73b80bca5f8cf815310cb2728\"\u003e\u003ccode\u003e3b1b6e9\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: Preserve nested Bun dependency versions\u0026quot; (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12964\"\u003e#12964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/8d4eaf81af296377e6c7533138b8f8c35b77bd7e\"\u003e\u003ccode\u003e8d4eaf8\u003c/code\u003e\u003c/a\u003e fix: Preserve nested Bun dependency versions (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12963\"\u003e#12963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/2284fa90a3492cd6800567ab2d4946dc5c853c91\"\u003e\u003ccode\u003e2284fa9\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.16-canary.1 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12960\"\u003e#12960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5317f656c7d13c382eb97a6fac786ab8a807295a\"\u003e\u003ccode\u003e5317f65\u003c/code\u003e\u003c/a\u003e fix: Retry npm tlog publish failures (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12959\"\u003e#12959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/52e81bd93645e6d0b7fe44470cb93d4020c3dfd5\"\u003e\u003ccode\u003e52e81bd\u003c/code\u003e\u003c/a\u003e fix: Avoid hanging PTY shutdown (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12958\"\u003e#12958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/c85d4104bdc18df051334210d29c49353c46facf\"\u003e\u003ccode\u003ec85d410\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.15 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12955\"\u003e#12955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.8.17...v2.9.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/auto-instrumentations-node` from 0.72.0 to 0.76.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/releases\"\u003e@​opentelemetry/auto-instrumentations-node's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eauto-instrumentations-node: v0.76.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.75.0...auto-instrumentations-node-v0.76.0\"\u003e0.76.0\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update deps matching '@opentelemetry/*' (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3523\"\u003e#3523\u003c/a\u003e) (\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/commit/e26a90af6e2fb4666b22388b770add7a60140c9b\"\u003ee26a90a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe following workspace dependencies were updated\n\u003cul\u003e\n\u003cli\u003edependencies\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-amqplib\u003c/code\u003e bumped from ^0.64.0 to ^0.65.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-aws-lambda\u003c/code\u003e bumped from ^0.69.0 to ^0.70.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-aws-sdk\u003c/code\u003e bumped from ^0.72.0 to ^0.73.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-bunyan\u003c/code\u003e bumped from ^0.62.0 to ^0.63.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-cassandra-driver\u003c/code\u003e bumped from ^0.62.0 to ^0.63.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-connect\u003c/code\u003e bumped from ^0.60.0 to ^0.61.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-cucumber\u003c/code\u003e bumped from ^0.33.0 to ^0.34.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-dataloader\u003c/code\u003e bumped from ^0.34.0 to ^0.35.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-dns\u003c/code\u003e bumped from ^0.60.0 to ^0.61.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-express\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-fs\u003c/code\u003e bumped from ^0.36.0 to ^0.37.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-generic-pool\u003c/code\u003e bumped from ^0.60.0 to ^0.61.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-graphql\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-hapi\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-ioredis\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-kafkajs\u003c/code\u003e bumped from ^0.26.0 to ^0.27.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-knex\u003c/code\u003e bumped from ^0.61.0 to ^0.62.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-koa\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-lru-memoizer\u003c/code\u003e bumped from ^0.61.0 to ^0.62.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-memcached\u003c/code\u003e bumped from ^0.60.0 to ^0.61.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-mongodb\u003c/code\u003e bumped from ^0.70.0 to ^0.71.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-mongoose\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-mysql\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-mysql2\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-nestjs-core\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-net\u003c/code\u003e bumped from ^0.61.0 to ^0.62.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-openai\u003c/code\u003e bumped from ^0.15.0 to ^0.16.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-oracledb\u003c/code\u003e bumped from ^0.42.0 to ^0.43.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-pg\u003c/code\u003e bumped from ^0.69.0 to ^0.70.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-pino\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-redis\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-restify\u003c/code\u003e bumped from ^0.62.0 to ^0.63.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-router\u003c/code\u003e bumped from ^0.61.0 to ^0.62.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-runtime-node\u003c/code\u003e bumped from ^0.30.0 to ^0.31.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-socket\u003c/code\u003e.io bumped from ^0.64.0 to ^0.65.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-tedious\u003c/code\u003e bumped from ^0.36.0 to ^0.37.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-undici\u003c/code\u003e bumped from ^0.27.0 to ^0.28.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/packages/auto-instrumentations-node/CHANGELOG.md\"\u003e@​opentelemetry/auto-instrumentations-node's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/compare/auto-instrumentations-node-v0.75.0...auto-instrumentations-node-v0.76.0\"\u003e0.76.0\u003c/a\u003e (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update deps matching '@opentelemetry/*' (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3523\"\u003e#3523\u003c/a\u003e) (\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/commit/e26a90af6e2fb4666b22388b770add7a60140c9b\"\u003ee26a90a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe following workspace dependencies were updated\n\u003cul\u003e\n\u003cli\u003edependencies\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-amqplib\u003c/code\u003e bumped from ^0.64.0 to ^0.65.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-aws-lambda\u003c/code\u003e bumped from ^0.69.0 to ^0.70.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-aws-sdk\u003c/code\u003e bumped from ^0.72.0 to ^0.73.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-bunyan\u003c/code\u003e bumped from ^0.62.0 to ^0.63.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-cassandra-driver\u003c/code\u003e bumped from ^0.62.0 to ^0.63.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-connect\u003c/code\u003e bumped from ^0.60.0 to ^0.61.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-cucumber\u003c/code\u003e bumped from ^0.33.0 to ^0.34.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-dataloader\u003c/code\u003e bumped from ^0.34.0 to ^0.35.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-dns\u003c/code\u003e bumped from ^0.60.0 to ^0.61.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-express\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-fs\u003c/code\u003e bumped from ^0.36.0 to ^0.37.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-generic-pool\u003c/code\u003e bumped from ^0.60.0 to ^0.61.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-graphql\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-hapi\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-ioredis\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-kafkajs\u003c/code\u003e bumped from ^0.26.0 to ^0.27.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-knex\u003c/code\u003e bumped from ^0.61.0 to ^0.62.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-koa\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-lru-memoizer\u003c/code\u003e bumped from ^0.61.0 to ^0.62.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-memcached\u003c/code\u003e bumped from ^0.60.0 to ^0.61.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-mongodb\u003c/code\u003e bumped from ^0.70.0 to ^0.71.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-mongoose\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-mysql\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-mysql2\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-nestjs-core\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-net\u003c/code\u003e bumped from ^0.61.0 to ^0.62.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-openai\u003c/code\u003e bumped from ^0.15.0 to ^0.16.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-oracledb\u003c/code\u003e bumped from ^0.42.0 to ^0.43.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-pg\u003c/code\u003e bumped from ^0.69.0 to ^0.70.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-pino\u003c/code\u003e bumped from ^0.63.0 to ^0.64.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-redis\u003c/code\u003e bumped from ^0.65.0 to ^0.66.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-restify\u003c/code\u003e bumped from ^0.62.0 to ^0.63.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-router\u003c/code\u003e bumped from ^0.61.0 to ^0.62.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-runtime-node\u003c/code\u003e bumped from ^0.30.0 to ^0.31.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-socket\u003c/code\u003e.io bumped from ^0.64.0 to ^0.65.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-tedious\u003c/code\u003e bumped from ^0.36.0 to ^0.37.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-undici\u003c/code\u003e bumped from ^0.27.0 to ^0.28.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​opentelemetry/instrumentation-winston\u003c/code\u003e bumped from ^0.61.0 to ^0.62.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/commit/15ef7506553f631ea4181391e0c5725a56f0d082\"\u003e\u003ccode\u003e15ef750\u003c/code\u003e\u003c/a\u003e chore: release main (\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/auto-instrumentations-node/issues/3508\"\u003e#3508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/commit/e26a90af6e2fb4666b22388b770add7a60140c9b\"\u003e\u003ccode\u003ee26a90a\u003c/code\u003e\u003c/a\u003e feat(deps): update deps matching '@opentelemetry/*' (\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/auto-instrumentations-node/issues/3523\"\u003e#3523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js-contrib/commits/auto-instrumentations-node-v0.76.0/packages/auto-instrumentations-node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/exporter-trace-otlp-http` from 0.214.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/exporter-trace-otlp-http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\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/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.214.0...experimental/v0.218.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/resources` from 2.6.1 to 2.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/resources's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.7.1\u003c/h2\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(sdk-metrics): reduce loop overhead in sdk hot paths \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6593\"\u003e#6593\u003c/a\u003e \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.7.0\u003c/h2\u003e\n\u003ch2\u003e2.7.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-logs): implement log creation metrics \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6433\"\u003e#6433\u003c/a\u003e \u003ca href=\"https://github.com/anuraaga\"\u003e\u003ccode\u003e@​anuraaga\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-metrics): add the cardinalitySelector argument to PeriodicExportingMetricReaders\n\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6460\"\u003e#6460\u003c/a\u003e \u003ca href=\"https://github.com/starzlocker\"\u003e\u003ccode\u003e@​starzlocker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(opentelemetry-core): add extra checks on internal merge function for safety \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6587\"\u003e#6587\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(opentelemetry-resources): do not discard OTEL_RESOURCE_ATTRIBUTES when it contains empty kv pairs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest(exporter-zipkin): fix broken browser test assertions and add missing coverage \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6566\"\u003e#6566\u003c/a\u003e \u003ca href=\"https://github.com/overbalance\"\u003e\u003ccode\u003e@​overbalance\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sdk-metrics): repair ExponentialHistogram tests \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6565\"\u003e#6565\u003c/a\u003e \u003ca href=\"https://github.com/overbalance\"\u003e\u003ccode\u003e@​overbalance\u003c/code\u003e\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/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md\"\u003e@​opentelemetry/resources's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: test Node.js 26 in CI \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6671\"\u003e#6671\u003c/a\u003e \u003ca href=\"https://github.com/cjihrig\"\u003e\u003ccode\u003e@​cjihrig\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.7.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-logs): implement log creation metrics \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6433\"\u003e#6433\u003c/a\u003e \u003ca href=\"https://github.com/anuraaga\"\u003e\u003ccode\u003e@​anuraaga\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-metrics): add the cardinalitySelector argument to PeriodicExportingMetricReaders\n\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6460\"\u003e#6460\u003c/a\u003e \u003ca href=\"https://github.com/starzlocker\"\u003e\u003ccode\u003e@​starzlocker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(opentelemetry-core): add extra checks on internal merge function for safety \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6587\"\u003e#6587\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(opentelemetry-resources): do not discard OTEL_RESOURCE_ATTRIBUTES when it contains empty kv pairs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest(exporter-zipkin): fix broken browser test assertions and add missing coverage \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6566\"\u003e#6566\u003c/a\u003e \u003ca href=\"https://github.com/overbalance\"\u003e\u003ccode\u003e@​overbalance\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sdk-metrics): repair ExponentialHistogram tests \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6565\"\u003e#6565\u003c/a\u003e \u003ca href=\"https://github.com/overbalance\"\u003e\u003ccode\u003e@​overbalance\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(sdk-metrics): reduce loop overhead in sdk hot paths \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6593\"\u003e#6593\u003c/a\u003e \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\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/open-telemetry/opentelemetry-js/commit/2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7\"\u003e\u003ccode\u003e2400d83\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6647\"\u003e#6647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f7a9b7cc854232ebf7dea2d3ec0d6adc49128f53\"\u003e\u003ccode\u003ef7a9b7c\u003c/code\u003e\u003c/a\u003e fix(otlp-transformer): pin protobufjs to 8.0.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6646\"\u003e#6646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/cb38d7f833781c336c990757f773ce9c8360434a\"\u003e\u003ccode\u003ecb38d7f\u003c/code\u003e\u003c/a\u003e test(otlp-transformer): add metrics transfrom benchmark (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6628\"\u003e#6628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a28f12fef5fbdfb3b77a1334175b752883ef708a\"\u003e\u003ccode\u003ea28f12f\u003c/code\u003e\u003c/a\u003e fix(opentelemetry-core): defer tracestate vaidation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6459\"\u003e#6459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b27c5146ac21deb3fb1e8fca370d34f1828f3cc6\"\u003e\u003ccode\u003eb27c514\u003c/code\u003e\u003c/a\u003e refactor(opentelemetry-exporter-prometheus): do not call `enforcePrometheusNa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a2a8186e65a04dfdaf442927fbab268076cd4f5a\"\u003e\u003ccode\u003ea2a8186\u003c/code\u003e\u003c/a\u003e perf(sdk-trace-base): optimize TraceIdRatioBasedSampler hex parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6284\"\u003e#6284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/4c0f3f1b911c4740a085b6c66d267bb74826b475\"\u003e\u003ccode\u003e4c0f3f1\u003c/code\u003e\u003c/a\u003e feat(sdk-node): set TracerProvider in startNodeSDK() (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6607\"\u003e#6607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/417f2f17e4234417b34dbf7bdf8e24c330259dd2\"\u003e\u003ccode\u003e417f2f1\u003c/code\u003e\u003c/a\u003e fix(instr-xhr): do not unpatch XHR methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6611\"\u003e#6611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/47ac523b124be222ac89160e4623e8a60c960f35\"\u003e\u003ccode\u003e47ac523\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: allow browser maintainers to approve changelog edits\u0026quot; (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6627\"\u003e#6627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/86c621d5b8344f1ecdc13a9841a90604912d0055\"\u003e\u003ccode\u003e86c621d\u003c/code\u003e\u003c/a\u003e fix(instrumentation-fetch): tolerate non-writable globalThis.fetch and fix pr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/v2.6.1...v2.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/sdk-node` from 0.214.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-node's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\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/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.214.0...experimental/v0.218.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/semantic-conventions` from 1.40.0 to 1.41.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/semantic-conventions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esemconv/v1.41.1\u003c/h2\u003e\n\u003ch2\u003e1.41.1\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cp\u003eNote: Semantic Conventions v1.41.0 included \u003ca href=\"https://redirect.github.com/open-telemetry/semantic-conventions/issues/3705\"\u003ean issue\u003c/a\u003e that prevented publishing a \u0026quot;1.41.0\u0026quot; version of this package.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat: update semantic conventions to v1.41.1 \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6695\"\u003e#6695\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eSemantic Conventions v1.41.1: \u003ca href=\"https://github.com/open-telemetry/semantic-conventions/blob/main/CHANGELOG.md#v1410\"\u003echangelog v1.41.0\u003c/a\u003e | \u003ca href=\"https://github.com/open-telemetry/semantic-conventions/blob/release/v1.41.x/CHANGELOG.md#v1411\"\u003echangelog v1.41.1\u003c/a\u003e | \u003ca href=\"https://opentelemetry.io/docs/specs/semconv/\"\u003elatest docs\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@opentelemetry/semantic-conventions\u003c/code\u003e (stable) changes: \u003cem\u003e8 added exports\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@opentelemetry/semantic-conventions/incubating\u003c/code\u003e (unstable) changes: \u003cem\u003e2 exported values changed, 4 newly deprecated exports, 80 added exports\u003c/em\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eStable changes in v1.41.1\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eATTR_DEPLOYMENT_ENVIRONMENT_NAME              // deployment.environment.name\r\n  DEPLOYMENT_ENVIRONMENT_NAME_VALUE_DEVELOPMENT // \u0026quot;development\u0026quot;\r\n  DEPLOYMENT_ENVIRONMENT_NAME_VALUE_PRODUCTION  // \u0026quot;production\u0026quot;\r\n  DEPLOYMENT_ENVIRONMENT_NAME_VALUE_STAGING     // \u0026quot;staging\u0026quot;\r\n  DEPLOYMENT_ENVIRONMENT_NAME_VALUE_TEST        // \u0026quot;test\u0026quot;\r\n\u003cp\u003eATTR_OTEL_EVENT_NAME                          // otel.event.name\u003c/p\u003e\n\u003cp\u003eATTR_TELEMETRY_DISTRO_NAME                    // telemetry.distro.name\u003cbr /\u003e\nATTR_TELEMETRY_DISTRO_VERSION                 // telemetry.distro.version\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch4\u003eUnstable changes in v1.41.1\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eMETRIC_K8S_CONTAINER_CPU_LIMIT_UTILIZATION   // k8s.container.cpu.limit_utilization -\u0026gt; k8s.container.cpu.limit.utilization\r\nMETRIC_K8S_CONTAINER_CPU_REQUEST_UTILIZATION // k8s.container.cpu.request_utilization -\u0026gt; k8s.container.cpu.request.utilization\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eMETRIC_K8S_CONTAINER_CPU_LIMIT      // k8s.container.cpu.limit: Replaced by `k8s.container.cpu.limit.desired`.\r\nMETRIC_K8S_CONTAINER_CPU_REQUEST    // k8s.container.cpu.request: Replaced by `k8s.container.cpu.request.desired`.\r\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/08932889fcccc2e3ccbcce1fca1544af384e145a\"\u003e\u003ccode\u003e0893288\u003c/code\u003e\u003c/a\u003e chore(sdk-node): restore skipped test cases (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6685\"\u003e#6685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/3b5bfbdc05058e0aea90b8ba5e9c0133b5ef3ab0\"\u003e\u003ccode\u003e3b5bfbd\u003c/code\u003e\u003c/a\u003e feat(configuration): show all config validation errors, if there are multiple...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/semconv/v1.40.0...semconv/v1.41.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `axios` from 1.14.0 to 1.16.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/axios/axios/releases\"\u003eaxios's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.16.1 — May 13, 2026\u003c/h2\u003e\n\u003cp\u003eThis release ships a defence-in-depth fix for prototype pollution in \u003ccode\u003eformDataToJSON\u003c/code\u003e, hardens proxy and CI workflows, restores Webpack 4 compatibility for the fetch adapter, and includes several small bug fixes and maintenance improvements.\u003c/p\u003e\n\u003ch2\u003e🔒 Security Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePrototype Pollution Defence-in-Depth:\u003c/strong\u003e Hardened \u003ccode\u003eformDataToJSON\u003c/code\u003e against already-polluted \u003ccode\u003eObject.prototype\u003c/code\u003e by walking own properties only, so attacker-controlled keys inherited from a poisoned prototype cannot propagate through deserialization. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7413\"\u003e#7413\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProxy Cleartext Leak:\u003c/strong\u003e Fixed an issue where HTTPS request data could be transmitted in cleartext to an HTTP proxy under certain configurations. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10858\"\u003e#10858\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCI Cache Removal:\u003c/strong\u003e Removed all GitHub Actions caches as a defence-in-depth measure against cache poisoning vectors in the build pipeline. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10882\"\u003e#10882\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eData URI Parsing:\u003c/strong\u003e Updated the \u003ccode\u003efromDataURI\u003c/code\u003e regex to match RFC 2397 more strictly, fixing edge cases in \u003ccode\u003edata:\u003c/code\u003e URL handling. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10829\"\u003e#10829\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUnicode Headers:\u003c/strong\u003e Preserved Unicode header values when running through request interceptors, so non-ASCII header content is no longer corrupted before dispatch. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10850\"\u003e#10850\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXHR Upload Progress:\u003c/strong\u003e Guarded against malformed \u003ccode\u003eProgressEvent\u003c/code\u003e payloads emitted by some environments during XHR upload, preventing crashes when \u003ccode\u003eloaded\u003c/code\u003e / \u003ccode\u003etotal\u003c/code\u003e are missing or invalid. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10868\"\u003e#10868\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebpack 4 Fetch Adapter:\u003c/strong\u003e Fixed an \u0026quot;unexpected token\u0026quot; error caused by syntax in the fetch adapter that Webpack 4 could not parse, restoring compatibility for legacy bundler users. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10864\"\u003e#10864\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eType Definitions:\u003c/strong\u003e Made \u003ccode\u003eparseReviver\u003c/code\u003e \u003ccode\u003econtext.source\u003c/code\u003e optional in the type definitions to align with the ES2023 specification. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10837\"\u003e#10837\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eURL Object Support Reverted:\u003c/strong\u003e Reverted the change that allowed passing a \u003ccode\u003eURL\u003c/code\u003e object as \u003ccode\u003econfig.url\u003c/code\u003e (originally \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10866\"\u003e#10866\u003c/a\u003e\u003c/strong\u003e) due to regressions; this support will be reintroduced in a later release once the underlying issues are addressed. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10874\"\u003e#10874\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔧 Maintenance \u0026amp; Chores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCycle Detection Refactor:\u003c/strong\u003e Replaced the array-based cycle tracker in \u003ccode\u003etoJSONObject\u003c/code\u003e with a \u003ccode\u003eWeakSet\u003c/code\u003e, improving performance and memory behaviour on large nested structures. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10832\"\u003e#10832\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecomposeSignals Cleanup:\u003c/strong\u003e Refactored \u003ccode\u003ecomposeSignals\u003c/code\u003e to use a clearer early-return structure, simplifying the cancellation/abort composition path. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10844\"\u003e#10844\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAI Readiness \u0026amp; Repo Docs:\u003c/strong\u003e Added \u003ccode\u003eAGENTS.md\u003c/code\u003e and related contributor-guide updates for both human and AI agents, plus post-release documentation improvements. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10835\"\u003e#10835\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10841\"\u003e#10841\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDocs Improvements:\u003c/strong\u003e Clarified the GET request example, fixed the interceptor \u003ccode\u003eeject\u003c/code\u003e example to reference the correct instance, and corrected the Buzzoid sponsor description in the README. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10836\"\u003e#10836\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10853\"\u003e#10853\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10856\"\u003e#10856\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSponsorship Tooling:\u003c/strong\u003e Fixed empty sponsor arrays in the sponsor processing script, added the ability to inject additional sponsors, updated the sponsorship link, and added a Twicsy advertisement entry. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10843\"\u003e#10843\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10859\"\u003e#10859\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10869\"\u003e#10869\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDependencies:\u003c/strong\u003e Bumped \u003ccode\u003e@commitlint/cli\u003c/code\u003e from 20.5.0 to 20.5.2. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10846\"\u003e#10846\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🌟 New Contributors\u003c/h2\u003e\n\u003cp\u003eWe are thrilled to welcome our new contributors. Thank you for helping improve axios:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/hpinmetaverse\"\u003e\u003ccode\u003e@​hpinmetaverse\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10836\"\u003e#10836\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tommyhgunz14\"\u003e\u003ccode\u003e@​tommyhgunz14\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7413\"\u003e#7413\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/abhu85\"\u003e\u003ccode\u003e@​abhu85\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10829\"\u003e#10829\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/divyanshuraj1095\"\u003e\u003ccode\u003e@​divyanshuraj1095\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10853\"\u003e#10853\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/sagodi97\"\u003e\u003ccode\u003e@​sagodi97\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10856\"\u003e#10856\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/rkdfx\"\u003e\u003ccode\u003e@​rkdfx\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10868\"\u003e#10868\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/Liuwei1125\"\u003e\u003ccode\u003e@​Liuwei1125\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10866\"\u003e#10866\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/axios/axios/compare/v1.16.0...v1.16.1\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.16.0 — May 2, 2026\u003c/h2\u003e\n\u003cp\u003eThis release adds support for the QUERY HTTP method and a new \u003ccode\u003eECONNREFUSED\u003c/code\u003e error constant, lands a substantial wave of HTTP, fetch, and XHR adapter bug fixes around redirects, aborts, headers, and timeouts, and welcomes 23 new contributors.\u003c/p\u003e\n\u003ch2\u003e⚠️ Notable Changes\u003c/h2\u003e\n\u003cp\u003eA handful of fixes in this release are either security-adjacent or change observable behaviour. Please review before upgrading:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/axios/axios/blob/v1.x/CHANGELOG.md\"\u003eaxios's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.16.1 — May 13, 2026\u003c/h2\u003e\n\u003cp\u003eThis release ships a defence-in-depth fix for prototype pollution in \u003ccode\u003eformDataToJSON\u003c/code\u003e, hardens proxy and CI workflows, restores Webpack 4 compatibility for the fetch adapter, and includes several small bug fixes and maintenance improvements.\u003c/p\u003e\n\u003ch2\u003e🔒 Security Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePrototype Pollution Defence-in-Depth:\u003c/strong\u003e Hardened \u003ccode\u003eformDataToJSON\u003c/code\u003e against already-polluted \u003ccode\u003eObject.prototype\u003c/code\u003e by walking own properties only, so attacker-controlled keys inherited from a poisoned prototype cannot propagate through deserialization. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7413\"\u003e#7413\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProxy Cleartext Leak:\u003c/strong\u003e Fixed an issue where HTTPS request data could be transmitted in cleartext to an HTT...\n\n_Description has been truncated_","html_url":"https://github.com/sinyuor3sad-code/servix/pull/33","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinyuor3sad-code%2Fservix/issues/33","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/33/packages"}},{"old_version":"25.0.1","new_version":"29.1.1","update_type":"major","path":null,"pr_created_at":"2026-06-01T05:35:35.000Z","version_change":"25.0.1 → 29.1.1","issue":{"uuid":"4560620993","node_id":"PR_kwDOPVrYt87hPEGw","number":26,"state":"open","title":"deps: bump the development-dependencies group across 1 directory with 23 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T05:35:35.000Z","updated_at":"2026-06-01T05:40:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"development-dependencies","update_count":23,"packages":[{"name":"@eslint/js","old_version":"9.35.0","new_version":"10.0.1","repository_url":"https://github.com/eslint/eslint"},{"name":"@playwright/test","old_version":"1.58.2","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"@tailwindcss/typography","old_version":"0.5.16","new_version":"0.5.19","repository_url":"https://github.com/tailwindlabs/tailwindcss-typography"},{"name":"@testing-library/react","old_version":"16.3.0","new_version":"16.3.2","repository_url":"https://github.com/testing-library/react-testing-library"},{"name":"@types/node","old_version":"25.2.2","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitejs/plugin-react","old_version":"5.0.2","new_version":"6.0.2","repository_url":"https://github.com/vitejs/vite-plugin-react"},{"name":"@vitest/coverage-v8","old_version":"2.1.9","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/ui","old_version":"2.1.9","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"autoprefixer","old_version":"10.4.21","new_version":"10.5.0","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"concurrently","old_version":"9.2.1","new_version":"10.0.1","repository_url":"https://github.com/open-cli-tools/concurrently"},{"name":"eslint","old_version":"9.35.0","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-react-hooks","old_version":"5.2.0","new_version":"7.1.1","repository_url":"https://github.com/facebook/react"},{"name":"eslint-plugin-react-refresh","old_version":"0.4.20","new_version":"0.5.2","repository_url":"https://github.com/ArnaudBarre/eslint-plugin-react-refresh"},{"name":"globals","old_version":"15.14.0","new_version":"17.6.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"jsdom","old_version":"25.0.1","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"node-appwrite","old_version":"22.0.0","new_version":"25.2.0","repository_url":"https://github.com/appwrite/sdk-for-node"},{"name":"postcss","old_version":"8.5.6","new_version":"8.5.15","repository_url":"https://github.com/postcss/postcss"},{"name":"stripe","old_version":"18.5.0","new_version":"22.2.0","repository_url":"https://github.com/stripe/stripe-node"},{"name":"tailwindcss","old_version":"3.4.17","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"typescript","old_version":"5.9.2","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"typescript-eslint","old_version":"8.44.0","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"vite","old_version":"7.3.1","new_version":"8.0.15","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"2.1.9","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 23 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.35.0` | `10.0.1` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.58.2` | `1.60.0` |\n| [@tailwindcss/typography](https://github.com/tailwindlabs/tailwindcss-typography) | `0.5.16` | `0.5.19` |\n| [@testing-library/react](https://github.com/testing-library/react-testing-library) | `16.3.0` | `16.3.2` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.2.2` | `25.9.1` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `5.0.2` | `6.0.2` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `2.1.9` | `4.1.7` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `2.1.9` | `4.1.7` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.21` | `10.5.0` |\n| [concurrently](https://github.com/open-cli-tools/concurrently) | `9.2.1` | `10.0.1` |\n| [eslint](https://github.com/eslint/eslint) | `9.35.0` | `10.4.1` |\n| [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) | `5.2.0` | `7.1.1` |\n| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.4.20` | `0.5.2` |\n| [globals](https://github.com/sindresorhus/globals) | `15.14.0` | `17.6.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `25.0.1` | `29.1.1` |\n| [node-appwrite](https://github.com/appwrite/sdk-for-node) | `22.0.0` | `25.2.0` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.6` | `8.5.15` |\n| [stripe](https://github.com/stripe/stripe-node) | `18.5.0` | `22.2.0` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `3.4.17` | `4.3.0` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.2` | `6.0.3` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.44.0` | `8.60.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `7.3.1` | `8.0.15` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `2.1.9` | `4.1.7` |\n\n\nUpdates `@eslint/js` from 9.35.0 to 10.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003e@​eslint/js's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.0.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c87d5bded54c5cf491eb04c24c9d09bbbd42c23e\"\u003e\u003ccode\u003ec87d5bd\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20531\"\u003e#20531\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84100115c14691691058f00779c94e74fca946a\"\u003e\u003ccode\u003ed841001\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003eminimatch\u003c/code\u003e to \u003ccode\u003e10.2.1\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20519\"\u003e#20519\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/04c21475b3004904948f02049f2888b401d82c78\"\u003e\u003ccode\u003e04c2147\u003c/code\u003e\u003c/a\u003e fix: update error message for unused suppressions (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20496\"\u003e#20496\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/38b089c1726feac0e31a31d47941bd99e29ce003\"\u003e\u003ccode\u003e38b089c\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-array\u003c/code\u003e to ^0.23.1 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20484\"\u003e#20484\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b3dbce50a1404a9f118afe810cefeee79388a2a\"\u003e\u003ccode\u003e5b3dbce\u003c/code\u003e\u003c/a\u003e docs: add AI acknowledgement section to templates (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20431\"\u003e#20431\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6f23076037d5879f20fb3be2ef094293b1e8d38c\"\u003e\u003ccode\u003e6f23076\u003c/code\u003e\u003c/a\u003e docs: toggle nav in no-JS mode (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20476\"\u003e#20476\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b69cfb32a16c5d5e9986390d484fae1d21e406f9\"\u003e\u003ccode\u003eb69cfb3\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e5c281ffd038a3a7a3e5364db0b9378e0ad83020\"\u003e\u003ccode\u003ee5c281f\u003c/code\u003e\u003c/a\u003e chore: updates for v9.39.3 release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8c3832adb77cd993b4a24891900d5eeaaf093cdc\"\u003e\u003ccode\u003e8c3832a\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e to ^8.56.0 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20514\"\u003e#20514\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8330d238ae6adb68bb6a1c9381e38cfedd990d94\"\u003e\u003ccode\u003e8330d23\u003c/code\u003e\u003c/a\u003e test: add tests for config-api (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20493\"\u003e#20493\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/37d6e91e88fa6a2ca6d8726679096acff21ba6cc\"\u003e\u003ccode\u003e37d6e91\u003c/code\u003e\u003c/a\u003e chore: remove eslint v10 prereleases from eslint-config-eslint deps (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20494\"\u003e#20494\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/da7cd0e79197ad16e17052eef99df141de6dbfb1\"\u003e\u003ccode\u003eda7cd0e\u003c/code\u003e\u003c/a\u003e refactor: cleanup error message templates (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20479\"\u003e#20479\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d\"\u003e\u003ccode\u003e1f66734\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e of \u003ccode\u003e@eslint/js\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20467\"\u003e#20467\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.0.0\u003c/h2\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f9e54f43a5e497cdfa179338b431093245cb787b\"\u003e\u003ccode\u003ef9e54f4\u003c/code\u003e\u003c/a\u003e feat!: estimate rule-tester failure location (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20420\"\u003e#20420\u003c/a\u003e) (ST-DDT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a176319d8ade1a7d9b2d7fb8f038f55a2662325f\"\u003e\u003ccode\u003ea176319\u003c/code\u003e\u003c/a\u003e feat!: replace \u003ccode\u003echalk\u003c/code\u003e with \u003ccode\u003estyleText\u003c/code\u003e and add \u003ccode\u003ecolor\u003c/code\u003e to \u003ccode\u003eResultsMeta\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20227\"\u003e#20227\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c7046e6c1e03c4ca0eee4888a1f2eba4c6454f84\"\u003e\u003ccode\u003ec7046e6\u003c/code\u003e\u003c/a\u003e feat!: enable JSX reference tracking (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20152\"\u003e#20152\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa\"\u003e\u003ccode\u003efa31a60\u003c/code\u003e\u003c/a\u003e feat!: add \u003ccode\u003ename\u003c/code\u003e to configs (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20015\"\u003e#20015\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3383e7ec9028166cafc8ea7986c2f7498d0049f0\"\u003e\u003ccode\u003e3383e7e\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eSourceCode\u003c/code\u003e methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20137\"\u003e#20137\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/501abd0e916a35554c58b7c0365537f1fa3880ce\"\u003e\u003ccode\u003e501abd0\u003c/code\u003e\u003c/a\u003e feat!: update dependency minimatch to v10 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20246\"\u003e#20246\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ca4d3b40085de47561f89656a2207d09946ed45e\"\u003e\u003ccode\u003eca4d3b4\u003c/code\u003e\u003c/a\u003e fix!: stricter rule tester assertions for valid test cases (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20125\"\u003e#20125\u003c/a\u003e) (唯然)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/96512a66c86402fb0538cdcb6cd30b9073f6bf3b\"\u003e\u003ccode\u003e96512a6\u003c/code\u003e\u003c/a\u003e fix!: Remove deprecated rule context methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20086\"\u003e#20086\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c69fdacdb2e886b9d965568a397aa8220db3fe90\"\u003e\u003ccode\u003ec69fdac\u003c/code\u003e\u003c/a\u003e feat!: remove eslintrc support (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20037\"\u003e#20037\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/208b5cc34a8374ff81412b5bec2e0800eebfbd04\"\u003e\u003ccode\u003e208b5cc\u003c/code\u003e\u003c/a\u003e feat!: Use \u003ccode\u003eScopeManager#addGlobals()\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20132\"\u003e#20132\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a2ee188ea7a38a0c6155f3d39e2b00e1d0f36e14\"\u003e\u003ccode\u003ea2ee188\u003c/code\u003e\u003c/a\u003e fix!: add \u003ccode\u003euniqueItems: true\u003c/code\u003e in \u003ccode\u003eno-invalid-regexp\u003c/code\u003e option (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20155\"\u003e#20155\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a89059dbf2832d417dd493ee81483227ec44e4ab\"\u003e\u003ccode\u003ea89059d\u003c/code\u003e\u003c/a\u003e feat!: Program range span entire source text (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20133\"\u003e#20133\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39a6424373d915fa9de0d7b0caba9a4dc3da9b53\"\u003e\u003ccode\u003e39a6424\u003c/code\u003e\u003c/a\u003e fix!: assert 'text' is a string across all RuleFixer methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20082\"\u003e#20082\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f28fbf846244e043c92b355b224d121b06140b44\"\u003e\u003ccode\u003ef28fbf8\u003c/code\u003e\u003c/a\u003e fix!: Deprecate \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e and \u003ccode\u003e\u0026quot;as-needed\u0026quot;\u003c/code\u003e options of the \u003ccode\u003eradix\u003c/code\u003e rule (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20223\"\u003e#20223\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/aa3fb2b233e929b37220be940575f42c280e0b98\"\u003e\u003ccode\u003eaa3fb2b\u003c/code\u003e\u003c/a\u003e fix!: tighten \u003ccode\u003efunc-names\u003c/code\u003e schema (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20119\"\u003e#20119\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f6c0ed0311dcfee853367d5068c765d066e6b756\"\u003e\u003ccode\u003ef6c0ed0\u003c/code\u003e\u003c/a\u003e feat!: report \u003ccode\u003eeslint-env\u003c/code\u003e comments as errors (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20128\"\u003e#20128\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4bf739fb533e59f7f0a66b65f7bc80be0f37d8db\"\u003e\u003ccode\u003e4bf739f\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eLintMessage#nodeType\u003c/code\u003e and \u003ccode\u003eTestCaseError#type\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20096\"\u003e#20096\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/523c076866400670fb2192a3f55dbf7ad3469247\"\u003e\u003ccode\u003e523c076\u003c/code\u003e\u003c/a\u003e feat!: drop support for jiti \u0026lt; 2.2.0 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20016\"\u003e#20016\u003c/a\u003e) (michael faith)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64\"\u003e\u003ccode\u003e454a292\u003c/code\u003e\u003c/a\u003e feat!: update \u003ccode\u003eeslint:recommended\u003c/code\u003e configuration (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20210\"\u003e#20210\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4f880ee02992e1bf0e96ebaba679985e2d1295f1\"\u003e\u003ccode\u003e4f880ee\u003c/code\u003e\u003c/a\u003e feat!: remove \u003ccode\u003ev10_*\u003c/code\u003e and inactive \u003ccode\u003eunstable_*\u003c/code\u003e flags (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20225\"\u003e#20225\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f18115c363a4ac7671a4c7f30ee13d57ebba330f\"\u003e\u003ccode\u003ef18115c\u003c/code\u003e\u003c/a\u003e feat!: \u003ccode\u003eno-shadow-restricted-names\u003c/code\u003e report \u003ccode\u003eglobalThis\u003c/code\u003e by default (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20027\"\u003e#20027\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e\"\u003e\u003ccode\u003ec6358c3\u003c/code\u003e\u003c/a\u003e feat!: Require Node.js \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20160\"\u003e#20160\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bff9091927811497dbf066b0e3b85ecb37d43822\"\u003e\u003ccode\u003ebff9091\u003c/code\u003e\u003c/a\u003e feat: handle \u003ccode\u003eArray.fromAsync\u003c/code\u003e in \u003ccode\u003earray-callback-return\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20457\"\u003e#20457\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/290c594bb50c439fb71bc75521ee5360daa8c222\"\u003e\u003ccode\u003e290c594\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eself\u003c/code\u003e to \u003ccode\u003eno-implied-eval\u003c/code\u003e rule (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20468\"\u003e#20468\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43677de07ebd6e14bfac40a46ad749ba783c45f2\"\u003e\u003ccode\u003e43677de\u003c/code\u003e\u003c/a\u003e feat: fix handling of function and class expression names in \u003ccode\u003eno-shadow\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20432\"\u003e#20432\u003c/a\u003e) (Milos Djermanovic)\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/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d\"\u003e\u003ccode\u003e1f66734\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e of \u003ccode\u003e@eslint/js\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20467\"\u003e#20467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f3fbc2f60cbe2c718364feb8c3fc0452c0df3c56\"\u003e\u003ccode\u003ef3fbc2f\u003c/code\u003e\u003c/a\u003e chore: set \u003ccode\u003e@eslint/js\u003c/code\u003e version to 10.0.0 to skip releasing it (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20466\"\u003e#20466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b4b3127f8542c599ce2dea804b6582ebc40c993d\"\u003e\u003ccode\u003eb4b3127\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0b14059491d830a49b3577931f4f68fbcfce6be5\"\u003e\u003ccode\u003e0b14059\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa\"\u003e\u003ccode\u003efa31a60\u003c/code\u003e\u003c/a\u003e feat!: add \u003ccode\u003ename\u003c/code\u003e to configs (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1e2cad5f6fa47ed6ed89d2a29798dda926d50990\"\u003e\u003ccode\u003e1e2cad5\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64\"\u003e\u003ccode\u003e454a292\u003c/code\u003e\u003c/a\u003e feat!: update \u003ccode\u003eeslint:recommended\u003c/code\u003e configuration (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20210\"\u003e#20210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e\"\u003e\u003ccode\u003ec6358c3\u003c/code\u003e\u003c/a\u003e feat!: Require Node.js \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20160\"\u003e#20160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c7ebefc9eaf99b76b30b0d3cf9960807a47367c4\"\u003e\u003ccode\u003ec7ebefc\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/commits/v10.0.1/packages/js\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@playwright/test` from 1.58.2 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e@​playwright/test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛑 test.abort()\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-test#test-abort\"\u003etest.abort()\u003c/a\u003e aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003etest('does not publish to the shared page', async ({ page }) =\u0026gt; {\r\n  await page.route('**/publish', route =\u0026gt; {\r\n    test.abort('Tests must not publish to the shared page. Use the `clone` option.');\r\n    return route.abort();\r\n  });\r\n  // ...\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eNew APIs\u003c/h2\u003e\n\u003ch3\u003eBrowser, Context and Page\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/microsoft/playwright/commit/87bb9ddbd78f329df18c2b24847bc9409240cd07\"\u003e\u003ccode\u003e87bb9dd\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40747\"\u003e#40747\u003c/a\u003e): fix(yauzl): vendor yauzl with destroy-lifecycle fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9a9c51cb7d1b39fab51ca288e59f8ca38fd19910\"\u003e\u003ccode\u003e9a9c51c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40733\"\u003e#40733\u003c/a\u003e): chore(electron): revert \u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40184\"\u003e#40184\u003c/a\u003e (move Electron API to a s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/4b3b628663031bcaaeca907e337892263524634d\"\u003e\u003ccode\u003e4b3b628\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40736\"\u003e#40736\u003c/a\u003e): Revert \u0026quot;feat(electron): add timeout option to electronAp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f869f96bbe6607cc3b88b4ca96fd82f17b301b50\"\u003e\u003ccode\u003ef869f96\u003c/code\u003e\u003c/a\u003e chore: bump version to v1.60.0 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40714\"\u003e#40714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/7eb6918afadfb0dd5c7e94ca9ffbddd84d8fbb39\"\u003e\u003ccode\u003e7eb6918\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40710\"\u003e#40710\u003c/a\u003e): docs: release notes v1.60\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/118d2aa6076d82840decca15d96b48611b08e392\"\u003e\u003ccode\u003e118d2aa\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40693\"\u003e#40693\u003c/a\u003e): chore(python): formdata path type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/54012f5dcc586da2e5d6cccd75f13ca367b94579\"\u003e\u003ccode\u003e54012f5\u003c/code\u003e\u003c/a\u003e chore(deps): bump ip-address and express-rate-limit (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40680\"\u003e#40680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9fa531da5677a3807d6e1dccd22c5137339a44f7\"\u003e\u003ccode\u003e9fa531d\u003c/code\u003e\u003c/a\u003e fix(screencast): unblock frame ack when an async client disconnects (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40674\"\u003e#40674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/3649db560ff943e724185784d34f7db131a11961\"\u003e\u003ccode\u003e3649db5\u003c/code\u003e\u003c/a\u003e chore(mcp): bump default extension protocol to v2 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40678\"\u003e#40678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/bb6c00957f47ba04caad7fca75d426309a2d32d4\"\u003e\u003ccode\u003ebb6c009\u003c/code\u003e\u003c/a\u003e chore(extension): mark 0.2.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40679\"\u003e#40679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.58.2...v1.60.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/typography` from 0.5.16 to 0.5.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/releases\"\u003e@​tailwindcss/typography's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.5.19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed broken color styles (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.5.18\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed undefined variable error (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/403\"\u003e#403\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.5.17\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd modifiers for description list elements (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprose-picture\u003c/code\u003e modifier (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude unit in \u003ccode\u003ehr\u003c/code\u003e border-width value (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/379\"\u003e#379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e\u0026lt;kbd\u0026gt;\u003c/code\u003e styles work with Tailwind CSS v4 (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove lodash dependencies (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/402\"\u003e#402\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/tailwindlabs/tailwindcss-typography/blob/main/CHANGELOG.md\"\u003e@​tailwindcss/typography's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.5.19] - 2025-09-24\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed broken color styles (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.5.18] - 2025-09-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed undefined variable error (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/403\"\u003e#403\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.5.17] - 2025-09-19\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd modifiers for description list elements (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprose-picture\u003c/code\u003e modifier (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude unit in \u003ccode\u003ehr\u003c/code\u003e border-width value (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/379\"\u003e#379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e\u0026lt;kbd\u0026gt;\u003c/code\u003e styles work with Tailwind CSS v4 (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove lodash dependencies (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/402\"\u003e#402\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/tailwindlabs/tailwindcss-typography/commit/e002ab89ad8f4202638249c1c300c0cf0b3739c5\"\u003e\u003ccode\u003ee002ab8\u003c/code\u003e\u003c/a\u003e 0.5.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/commit/bbb1c21099e34ff4d1d7f82f7528b85e71ed3c5a\"\u003e\u003ccode\u003ebbb1c21\u003c/code\u003e\u003c/a\u003e Fix bad RGB syntax (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/issues/405\"\u003e#405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/commit/b316f958af5bc12a981526c3091d8319626e274e\"\u003e\u003ccode\u003eb316f95\u003c/code\u003e\u003c/a\u003e 0.5.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/commit/ed952066e698dbb65a2f082eeb903ccba5a6834a\"\u003e\u003ccode\u003eed95206\u003c/code\u003e\u003c/a\u003e Fix variable declaration in opacity function (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/issues/403\"\u003e#403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/commit/7efcb4a499e6ede67088e28393a906d4d089e580\"\u003e\u003ccode\u003e7efcb4a\u003c/code\u003e\u003c/a\u003e 0.5.17\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/commit/e0ec248bafa002d589509e29bfd9f054570e6d85\"\u003e\u003ccode\u003ee0ec248\u003c/code\u003e\u003c/a\u003e chore(ci): update actions for release insiders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/commit/511afcb0bd9732eb8fcdc703f35ff76e57bfcd7b\"\u003e\u003ccode\u003e511afcb\u003c/code\u003e\u003c/a\u003e Add modifiers for description list elements (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/commit/042a531528cd3ddecafda94fe972394dc8aab6ae\"\u003e\u003ccode\u003e042a531\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eprose-picture\u003c/code\u003e modifiers (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/issues/367\"\u003e#367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/commit/f822222ae6e289e8cc0b23636891dc3545d5682a\"\u003e\u003ccode\u003ef822222\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003ekbd\u003c/code\u003e shadow colors not being calculated on oklch colors (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/commit/ecb7e87a52d86afbbff64200d40f05fe59433039\"\u003e\u003ccode\u003eecb7e87\u003c/code\u003e\u003c/a\u003e Add Tailwind v4 custom color theme example to README (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss-typography/issues/396\"\u003e#396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss-typography/compare/v0.5.16...v0.5.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@testing-library/react` from 16.3.0 to 16.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testing-library/react-testing-library/releases\"\u003e@​testing-library/react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev16.3.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/compare/v16.3.1...v16.3.2\"\u003e16.3.2\u003c/a\u003e (2026-01-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate 'onCaughtError' type inference in 'RenderOptions' to work with React v19 (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1438\"\u003e#1438\u003c/a\u003e) (\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/f32bd1b033d5e3989ae1cb490d515ce389c54e53\"\u003ef32bd1b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev16.3.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/compare/v16.3.0...v16.3.1\"\u003e16.3.1\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to trusted publishing (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1437\"\u003e#1437\u003c/a\u003e) (\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/a2d37ffa09d85b10485f29b79cf7cb4f8ec943db\"\u003ea2d37ff\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/testing-library/react-testing-library/commit/f32bd1b033d5e3989ae1cb490d515ce389c54e53\"\u003e\u003ccode\u003ef32bd1b\u003c/code\u003e\u003c/a\u003e fix: Update 'onCaughtError' type inference in 'RenderOptions' to work with Re...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/a2d37ffa09d85b10485f29b79cf7cb4f8ec943db\"\u003e\u003ccode\u003ea2d37ff\u003c/code\u003e\u003c/a\u003e fix: Switch to trusted publishing (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1437\"\u003e#1437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/cd6a175a28067e6825eedef5bb9f1e0ab49c0837\"\u003e\u003ccode\u003ecd6a175\u003c/code\u003e\u003c/a\u003e chore: fix action permissions (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1436\"\u003e#1436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/22b8c280f4d4a59d883d73d9e0af0d570e8e1928\"\u003e\u003ccode\u003e22b8c28\u003c/code\u003e\u003c/a\u003e chore: fix release (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1435\"\u003e#1435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/d996673698dc3120cdb07162a81698316abf5a9a\"\u003e\u003ccode\u003ed996673\u003c/code\u003e\u003c/a\u003e chore: new release workflow (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1434\"\u003e#1434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/205ce1756d3379f32e0afde6bf0bca76bcb7cb49\"\u003e\u003ccode\u003e205ce17\u003c/code\u003e\u003c/a\u003e chore: fix typo in jest.config.js (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1427\"\u003e#1427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/aba574074b7b39b4a4f15446bb66774051db35f2\"\u003e\u003ccode\u003eaba5740\u003c/code\u003e\u003c/a\u003e [test] Fix tests for \u003ccode\u003ereact@experimental\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1424\"\u003e#1424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/590bc18a7f24e025d4154e228adda71452fdec9e\"\u003e\u003ccode\u003e590bc18\u003c/code\u003e\u003c/a\u003e [test] Fix \u003ccode\u003enpm run typecheck\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1423\"\u003e#1423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/react-testing-library/commit/1c931a6c03091d725eccee7767d9ec696d5d33c6\"\u003e\u003ccode\u003e1c931a6\u003c/code\u003e\u003c/a\u003e chore(deps): use \u003ccode\u003enpm-run-all2\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/testing-library/react-testing-library/issues/1411\"\u003e#1411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/testing-library/react-testing-library/compare/v16.3.0...v16.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​testing-library/react\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.2.2 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitejs/plugin-react` from 5.0.2 to 6.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite-plugin-react/releases\"\u003e@​vitejs/plugin-react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eplugin-react@6.0.2\u003c/h2\u003e\n\u003ch3\u003eAllow all options in reactCompilerPreset (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1189\"\u003e#1189\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eThis is a type only change. Only \u003ccode\u003ecompilationMode\u003c/code\u003e and \u003ccode\u003etarget\u003c/code\u003e options were available for \u003ccode\u003ereactCompilerPreset\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003eplugin-react@6.0.1\u003c/h2\u003e\n\u003ch3\u003eExpand \u003ccode\u003e@rolldown/plugin-babel\u003c/code\u003e peer dep range (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1146\"\u003e#1146\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eExpanded \u003ccode\u003e@rolldown/plugin-babel\u003c/code\u003e peer dep range to include \u003ccode\u003e^0.2.0\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003eplugin-react@6.0.0\u003c/h2\u003e\n\u003ch3\u003eRemove Babel Related Features (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1123\"\u003e#1123\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eVite 8+ can handle React Refresh Transform by Oxc and doesn't need Babel for it. With that, there are no transform applied that requires Babel. To reduce the installation size of this plugin, babel is no longer a dependency of this plugin and the related features are removed.\u003c/p\u003e\n\u003cp\u003eIf you are using Babel, you can use \u003ccode\u003e@rolldown/plugin-babel\u003c/code\u003e together with this plugin:\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003e import { defineConfig } from 'vite'\r\n import react from '@vitejs/plugin-react'\r\n+import babel from '@rolldown/plugin-babel'\r\n\u003cp\u003eexport default defineConfig({\nplugins: [\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003ereact({\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e  babel: {\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e    plugins: ['@babel/plugin-proposal-throw-expressions'],\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e  },\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e}),\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003ereact(),\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003ebabel({\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e  plugins: ['@babel/plugin-proposal-throw-expressions'],\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e}),\n\u003c/code\u003e\u003c/pre\u003e\n]\n})\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor React compiler users, you can use \u003ccode\u003ereactCompilerPreset\u003c/code\u003e for easier setup with preconfigured filter to improve build performance:\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003e import { defineConfig } from 'vite'\r\n-import react from '@vitejs/plugin-react'\r\n+import react, { reactCompilerPreset } from '@vitejs/plugin-react'\r\n+import babel from '@rolldown/plugin-babel'\r\n\u003cp\u003eexport default defineConfig({\nplugins: [\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereact({\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e babel: {\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e   plugins: ['babel-plugin-react-compiler'],\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\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/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md\"\u003e@​vitejs/plugin-react's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.2 (2026-05-14)\u003c/h2\u003e\n\u003ch3\u003eAllow all options in reactCompilerPreset (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1189\"\u003e#1189\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eThis is a type only change. Only \u003ccode\u003ecompilationMode\u003c/code\u003e and \u003ccode\u003etarget\u003c/code\u003e options were available for \u003ccode\u003ereactCompilerPreset\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003e6.0.1 (2026-03-13)\u003c/h2\u003e\n\u003ch3\u003eExpand \u003ccode\u003e@rolldown/plugin-babel\u003c/code\u003e peer dep range (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1146\"\u003e#1146\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eExpanded \u003ccode\u003e@rolldown/plugin-babel\u003c/code\u003e peer dep range to include \u003ccode\u003e^0.2.0\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003e6.0.0 (2026-03-12)\u003c/h2\u003e\n\u003ch2\u003e6.0.0-beta.0 (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eRemove Babel Related Features (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1123\"\u003e#1123\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eVite 8+ can handle React Refresh Transform by Oxc and doesn't need Babel for it. With that, there are no transform applied that requires Babel. To reduce the installation size of this plugin, babel is no longer a dependency of this plugin and the related features are removed.\u003c/p\u003e\n\u003cp\u003eIf you are using Babel, you can use \u003ccode\u003e@rolldown/plugin-babel\u003c/code\u003e together with this plugin:\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003e import { defineConfig } from 'vite'\n import react from '@vitejs/plugin-react'\n+import babel from '@rolldown/plugin-babel'\n\u003cp\u003eexport default defineConfig({\nplugins: [\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003ereact({\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e  babel: {\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e    plugins: ['@babel/plugin-proposal-throw-expressions'],\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e  },\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e}),\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003ereact(),\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003ebabel({\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e  plugins: ['@babel/plugin-proposal-throw-expressions'],\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e}),\n\u003c/code\u003e\u003c/pre\u003e\n]\n})\n\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor React compiler users, you can use \u003ccode\u003ereactCompilerPreset\u003c/code\u003e for easier setup with preconfigured filter to improve build performance:\u003c/p\u003e\n\u003cpre lang=\"diff\"\u003e\u003ccode\u003e import { defineConfig } from 'vite'\n-import react from '@vitejs/plugin-react'\n+import react, { reactCompilerPreset } from '@vitejs/plugin-react'\n+import babel from '@rolldown/plugin-babel'\n\u003cp\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/6535b55e956b425e6650ffc2cc98fd23cca1d231\"\u003e\u003ccode\u003e6535b55\u003c/code\u003e\u003c/a\u003e release: plugin-react@6.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/bf0e43b756e3be81f8572d59727c218311f431ef\"\u003e\u003ccode\u003ebf0e43b\u003c/code\u003e\u003c/a\u003e feat(react): whitelist debugging-options (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/3bd1f08ae0b82ee0e96feb2ff265e61c6fe74b54\"\u003e\u003ccode\u003e3bd1f08\u003c/code\u003e\u003c/a\u003e feat: use carets for rolldown versions (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/2b8df67323265d1ff5ddf47b2db9ab0b9de5c688\"\u003e\u003ccode\u003e2b8df67\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1218\"\u003e#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/8fa9619e1b1f51b079f4c1df6bcf076dcafc5aed\"\u003e\u003ccode\u003e8fa9619\u003c/code\u003e\u003c/a\u003e fix(deps): update react 19.2.6 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1211\"\u003e#1211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/a4296ad2995a8d493528b8d5450a1209de2943cb\"\u003e\u003ccode\u003ea4296ad\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1209\"\u003e#1209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/323ccd72576be636b50baa7d9ce816cc94d5991e\"\u003e\u003ccode\u003e323ccd7\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1196\"\u003e#1196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/a7506e105df00cdadc58c0aecc4512d8cfdd9765\"\u003e\u003ccode\u003ea7506e1\u003c/code\u003e\u003c/a\u003e chore(deps): update vite 8.0.10 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1198\"\u003e#1198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/02cff2a0cf5c7e9792b1612baa380228f5e4d3c1\"\u003e\u003ccode\u003e02cff2a\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1184\"\u003e#1184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/4b9c890cdb21078ac45a86873b24f7e8613b8526\"\u003e\u003ccode\u003e4b9c890\u003c/code\u003e\u003c/a\u003e fix(deps): update react 19.2.5 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1181\"\u003e#1181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.0.2/packages/plugin-react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​vitejs/plugin-react\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/coverage-v8` from 2.1.9 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/coverage-v8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.5\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option  -  by \u003ca href=\"https://github.com/BartWaardenburg\"\u003e\u003ccode\u003e@​BartWaardenburg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10119\"\u003evitest-dev/vitest#10119\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7\"\u003e\u003c!-- raw HTML omitted --\u003e(0e0ff)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e--project negation excludes browser instances  -  by \u003ca href=\"https://github.com/felamaslen\"\u003e\u003ccode\u003e@​felamaslen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10131\"\u003evitest-dev/vitest#10131\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc084\"\u003e\u003c!-- raw HTML omitted --\u003e(9423d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProject color label on html reporter  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10142\"\u003evitest-dev/vitest#10142\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986\"\u003e\u003c!-- raw HTML omitted --\u003e(596f7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10163\"\u003evitest-dev/vitest#10163\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b\"\u003e\u003c!-- raw HTML omitted --\u003e(122c2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10157\"\u003evitest-dev/vitest#10157\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3\"\u003e\u003c!-- raw HTML omitted --\u003e(663b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedad\"\u003e\u003c!-- raw HTML omitted --\u003e(9787d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions \u0026quot;  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd\"\u003e\u003c!-- raw HTML omitted --\u003e(7dc6d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003east-collect\u003c/strong\u003e: Recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery  -  by \u003ca href=\"https://github.com/Yejneshwar\"\u003e\u003ccode\u003e@​Yejneshwar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10129\"\u003evitest-dev/vitest#10129\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab2\"\u003e\u003c!-- raw HTML omitted --\u003e(32546)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Descriptive error message when reports directory is removed during test run  -  by \u003ca href=\"https://github.com/DaveT1991\"\u003e\u003ccode\u003e@​DaveT1991\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10117\"\u003evitest-dev/vitest#10117\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1413382e1\"\u003e\u003c!-- raw HTML omitted --\u003e(14133)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e: Increase default snapshot max output length  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10150\"\u003evitest-dev/vitest#10150\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/21e66ff63\"\u003e\u003c!-- raw HTML omitted --\u003e(21e66)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e: Fix jsx/tsx syntax highlight  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10152\"\u003evitest-dev/vitest#10152\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b\"\u003e\u003c!-- raw HTML omitted --\u003e(f1b1f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eweb-worker\u003c/strong\u003e: Support MessagePort objects referenced inside postMessage data  -  by \u003ca href=\"https://github.com/whitphx\"\u003e\u003ccode\u003e@​whitphx\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9927\"\u003evitest-dev/vitest#9927\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10124\"\u003evitest-dev/vitest#10124\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7ad7d39af\"\u003e\u003c!-- raw HTML omitted --\u003e(7ad7d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e: Make test-specification options writable  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10154\"\u003evitest-dev/vitest#10154\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7\"\u003e\u003c!-- raw HTML omitted --\u003e(6abd5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.4\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDefault to text reporter \u003ccode\u003eskipFull\u003c/code\u003e if agent detected  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10018\"\u003evitest-dev/vitest#10018\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/53757804c\"\u003e\u003c!-- raw HTML omitted --\u003e(53757)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eExpose \u003ccode\u003eassertion\u003c/code\u003e as a public field  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10095\"\u003evitest-dev/vitest#10095\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a120e3ab8\"\u003e\u003c!-- raw HTML omitted --\u003e(a120e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport aria snapshot  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e, \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9668\"\u003evitest-dev/vitest#9668\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d4fbb5cc9\"\u003e\u003c!-- raw HTML omitted --\u003e(d4fbb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/ac04bac206f49d793e7277084f707aee718aa936\"\u003e\u003ccode\u003eac04bac\u003c/code\u003e\u003c/a\u003e chore: release v4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/2dc0d62eaf08d8acb1f5042fdb8ac5b4a19fdc73\"\u003e\u003ccode\u003e2dc0d62\u003c/code\u003e\u003c/a\u003e chore: release v4.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/fc6f482f4c54bf6a766a0ff502b9843994af5bf5\"\u003e\u003ccode\u003efc6f482\u003c/code\u003e\u003c/a\u003e chore: release v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/1f2d318493363855b66a22caaf7c1c10579029d5\"\u003e\u003ccode\u003e1f2d318\u003c/code\u003e\u003c/a\u003e chore: release v4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/aaf9f18ae70e52b6e67aaf85f7f784d9dabd0acc\"\u003e\u003ccode\u003eaaf9f18\u003c/code\u003e\u003c/a\u003e fix(coverage): simplify provider types (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9931\"\u003e#9931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/4150b913171bda3971a4a4c47c633c26d0c6ae45\"\u003e\u003ccode\u003e4150b91\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0c2c01361a95dd26d0d7fd7bc38bcca8dbc6e5d2\"\u003e\u003ccode\u003e0c2c013\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0-beta.6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​vitest/coverage-v8\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/ui` from 2.1.9 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.5\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option  -  by \u003ca href=\"https://github.com/BartWaardenburg\"\u003e\u003ccode\u003e@​BartWaardenburg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10119\"\u003evitest-dev/vitest#10119\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7\"\u003e\u003c!-- raw HTML omitted --\u003e(0e0ff)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e--project negation excludes browser instances  -  by \u003ca href=\"https://github.com/felamaslen\"\u003e\u003ccode\u003e@​felamaslen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10131\"\u003evitest-dev/vitest#10131\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc084\"\u003e\u003c!-- raw HTML omitted --\u003e(9423d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProject color label on html reporter  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10142\"\u003evitest-dev/vitest#10142\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986\"\u003e\u003c!-- raw HTML omitted --\u003e(596f7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10163\"\u003evitest-dev/vitest#10163\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b\"\u003e\u003c!-- raw HTML omitted --\u003e(122c2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10157\"\u003evitest-dev/vitest#10157\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3\"\u003e\u003c!-- raw HTML omitted --\u003e(663b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedad\"\u003e\u003c!-- raw HTML omitted --\u003e(9787d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions \u0026quot;  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd\"\u003e\u003c!-- raw HTML omitted --\u003e(7dc6d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003east-collect\u003c/strong\u003e: Recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery  -  by \u003ca href=\"https://github.com/Yejneshwar\"\u003e\u003ccode\u003e@​Yejneshwar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10129\"\u003evitest-dev/vitest#10129\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab2\"\u003e\u003c!-- raw HTML omitted --\u003e(32546)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Descriptive error message when reports directory is removed during test run  -  by \u003ca href=\"https://github.com/DaveT1991\"\u003e\u003ccode\u003e@​DaveT1991\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10117\"\u003evitest-dev/vitest#10117\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1413382e1\"\u003e\u003c!-- raw HTML omitted --\u003e(14133)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e: Increase default snapshot max output length  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10150\"\u003evitest-dev/vitest#10150\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/21e66ff63\"\u003e\u003c!-- raw HTML omitted --\u003e(21e66)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e: Fix jsx/tsx syntax highlight  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10152\"\u003evitest-dev/vitest#10152\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b\"\u003e\u003c!-- raw HTML omitted --\u003e(f1b1f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eweb-worker\u003c/strong\u003e: Support MessagePort objects referenced inside postMessage data  -  by \u003ca href=\"https://github.com/whitphx\"\u003e\u003ccode\u003e@​whitphx\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9927\"\u003evitest-dev/vitest#9927\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10124\"\u003evitest-dev/vitest#10124\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7ad7d39af\"\u003e\u003c!-- raw HTML omitted --\u003e(7ad7d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e: Make test-specification options writable  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10154\"\u003evitest-dev/vitest#10154\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7\"\u003e\u003c!-- raw HTML omitted --\u003e(6abd5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.4\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDefault to text reporter \u003ccode\u003eskipFull\u003c/code\u003e if agent detected  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10018\"\u003evitest-dev/vitest#10018\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/53757804c\"\u003e\u003c!-- raw HTML omitted --\u003e(53757)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eExpose \u003ccode\u003eassertion\u003c/code\u003e as a public field  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10095\"\u003evitest-dev/vitest#10095\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a120e3ab8\"\u003e\u003c!-- raw HTML omitted --\u003e(a120e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport aria snapshot  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e, \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9668\"\u003evitest-dev/vitest#9668\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d4fbb5cc9\"\u003e\u003c!-- raw HTML omitted --\u003e(d4fbb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986abe2161a9a06f0ca03df68e82690b21\"\u003e\u003ccode\u003e596f739\u003c/code\u003e\u003c/a\u003e fix: project color label on html reporter (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui/issues/10142\"\u003e#10142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b053381f1d9ae184298240a4faa581b0\"\u003e\u003ccode\u003ef1b1f6c\u003c/code\u003e\u003c/a\u003e fix(ui): fix jsx/tsx syntax highlight (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui/issues/10152\"\u003e#10152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/ac04bac206f49d793e7277084f707aee718aa936\"\u003e\u003ccode\u003eac04bac\u003c/code\u003e\u003c/a\u003e chore: release v4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/d4fbb5cc931754d05327264baaf7b4364ed02f84\"\u003e\u003ccode\u003ed4fbb5c\u003c/code\u003e\u003c/a\u003e feat(experimental): support aria snapshot (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui/issues/9668\"\u003e#9668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/2dc0d62eaf08d8acb1f5042fdb8ac5b4a19fdc73\"\u003e\u003ccode\u003e2dc0d62\u003c/code\u003e\u003c/a\u003e chore: release v4.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/89ca0e2549db38a35e8c996beba45716ffb35a5a\"\u003e\u003ccode\u003e89ca0e2\u003c/code\u003e\u003c/a\u003e feat(experimental): add \u003ccode\u003eTestAttachment.bodyEncoding\u003c/code\u003e (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui/issues/9969\"\u003e#9969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/fdff1bf9a40916b5b74f0e0362420422f09c44a8\"\u003e\u003ccode\u003efdff1bf\u003c/code\u003e\u003c/a\u003e fix(ui): don't leak vite types (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui/issues/10005\"\u003e#10005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/ui\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​vitest/ui\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `autoprefixer` from 10.4.21 to 10.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca hr...\n\n_Description has been truncated_","html_url":"https://github.com/codeme-ne/AI-Content-Repurposing-Tool/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeme-ne%2FAI-Content-Repurposing-Tool/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"}},{"old_version":"29.0.2","new_version":"29.1.1","update_type":"minor","path":null,"pr_created_at":"2026-06-01T02:07:12.000Z","version_change":"29.0.2 → 29.1.1","issue":{"uuid":"4559815035","node_id":"PR_kwDOQI2bPM7hMd8y","number":80,"state":"open","title":"build(deps-dev): bump the dev-dependencies group across 1 directory with 14 updates","user":"dependabot[bot]","labels":["dependencies","frontend"],"assignees":["pilgrimlyieu"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T02:07:12.000Z","updated_at":"2026-06-01T03:05:53.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): bump","group_name":"dev-dependencies","update_count":14,"packages":[{"name":"@biomejs/biome","old_version":"2.4.13","new_version":"2.4.15","repository_url":"https://github.com/biomejs/biome"},{"name":"@tailwindcss/vite","old_version":"4.2.4","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@tauri-apps/cli","old_version":"2.10.1","new_version":"2.11.2","repository_url":"https://github.com/tauri-apps/tauri"},{"name":"@types/bun","old_version":"1.3.13","new_version":"1.3.14","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitejs/plugin-vue","old_version":"6.0.6","new_version":"6.0.7","repository_url":"https://github.com/vitejs/vite-plugin-vue"},{"name":"@vitest/coverage-v8","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/ui","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vue/test-utils","old_version":"2.4.6","new_version":"2.4.10","repository_url":"https://github.com/vuejs/test-utils"},{"name":"daisyui","old_version":"5.5.19","new_version":"5.5.20","repository_url":"https://github.com/saadeghi/daisyui"},{"name":"jsdom","old_version":"29.0.2","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"tailwindcss","old_version":"4.2.4","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"vite-plugin-vue-devtools","old_version":"8.1.1","new_version":"8.1.2","repository_url":"https://github.com/vuejs/devtools"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"vue-tsc","old_version":"3.2.7","new_version":"3.3.1","repository_url":"https://github.com/vuejs/language-tools"}],"path":null,"ecosystem":"npm"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the dev-dependencies group with 14 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) | `2.4.13` | `2.4.15` |\n| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.2.4` | `4.3.0` |\n| [@tauri-apps/cli](https://github.com/tauri-apps/tauri) | `2.10.1` | `2.11.2` |\n| [@types/bun](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/bun) | `1.3.13` | `1.3.14` |\n| [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) | `6.0.6` | `6.0.7` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.7` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `4.1.5` | `4.1.7` |\n| [@vue/test-utils](https://github.com/vuejs/test-utils) | `2.4.6` | `2.4.10` |\n| [daisyui](https://github.com/saadeghi/daisyui/tree/HEAD/packages/daisyui) | `5.5.19` | `5.5.20` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.0.2` | `29.1.1` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.4` | `4.3.0` |\n| [vite-plugin-vue-devtools](https://github.com/vuejs/devtools/tree/HEAD/packages/vite) | `8.1.1` | `8.1.2` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.7` |\n| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.2.7` | `3.3.1` |\n\n\nUpdates `@biomejs/biome` from 2.4.13 to 2.4.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/biomejs/biome/releases\"\u003e@​biomejs/biome's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBiome CLI v2.4.15\u003c/h2\u003e\n\u003ch2\u003e2.4.15\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9394\"\u003e#9394\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/ba3480e62da6ac7f0f9d99126f1459a72306368b\"\u003e\u003ccode\u003eba3480e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-test-hooks-in-order\"\u003e\u003ccode\u003euseTestHooksInOrder\u003c/code\u003e\u003c/a\u003e in the \u003ccode\u003etest\u003c/code\u003e domain. The rule enforces that Jest/Vitest lifecycle hooks (\u003ccode\u003ebeforeAll\u003c/code\u003e, \u003ccode\u003ebeforeEach\u003c/code\u003e, \u003ccode\u003eafterEach\u003c/code\u003e, \u003ccode\u003eafterAll\u003c/code\u003e) are declared in the order they execute, making test setup and teardown easier to reason about.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10254\"\u003e#10254\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/e0a54ccc0a0c892fff2270ae772bcecf0d34e79a\"\u003e\u003ccode\u003ee0a54cc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-vue-next-tick-promise/\"\u003e\u003ccode\u003euseVueNextTickPromise\u003c/code\u003e\u003c/a\u003e, which enforces Promise syntax when using Vue \u003ccode\u003enextTick\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { nextTick } from \u0026quot;vue\u0026quot;;\n\u003cp\u003enextTick(() =\u0026gt; {\nupdateDom();\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10219\"\u003e#10219\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/64aee454ac2db2ade31089c1438dd761c94a8d57\"\u003e\u003ccode\u003e64aee45\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-vue-v-on-number-values/\"\u003e\u003ccode\u003enoVueVOnNumberValues\u003c/code\u003e\u003c/a\u003e, that disallows deprecated number modifiers on Vue \u003ccode\u003ev-on\u003c/code\u003e directives.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule:\u003c/p\u003e\n\u003cpre lang=\"vue\"\u003e\u003ccode\u003e\u0026lt;input @keyup.13=\u0026quot;submit\u0026quot; /\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10195\"\u003e#10195\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/7b8d4e161a225f14bc9e070e04cc8572ee988bb2\"\u003e\u003ccode\u003e7b8d4e1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-vue-valid-v-for/\"\u003e\u003ccode\u003euseVueValidVFor\u003c/code\u003e\u003c/a\u003e, which validates Vue \u003ccode\u003ev-for\u003c/code\u003e directives and reports invalid aliases, missing component keys, and keys that do not use iteration variables.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10238\"\u003e#10238\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1110256c6d60500ebc05b9d2738fe77345c7ffd6\"\u003e\u003ccode\u003e1110256\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the recommended nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-vue-import-compiler-macros/\"\u003e\u003ccode\u003enoVueImportCompilerMacros\u003c/code\u003e\u003c/a\u003e, which disallows importing Vue compiler macros such as \u003ccode\u003edefineProps\u003c/code\u003e from \u003ccode\u003evue\u003c/code\u003e because they are automatically available.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10201\"\u003e#10201\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1a08f89df55eafe1d8463696d1be53f8dea90a80\"\u003e\u003ccode\u003e1a08f89\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/realknove\"\u003e\u003ccode\u003e@​realknove\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10193\"\u003e#10193\u003c/a\u003e: \u003ccode\u003estyle/useReadonlyClassProperties\u003c/code\u003e no longer reports class properties as readonly-able when they are assigned inside arrow callbacks nested in class property initializers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9574\"\u003e#9574\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/3bd2b6adf0be44eda922ad7610781dd2e387bdb6\"\u003e\u003ccode\u003e3bd2b6a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/9530\"\u003e#9530\u003c/a\u003e. The diagnostics of \u003ca href=\"https://biomejs.dev/assist/actions/organize-imports/\"\u003e\u003ccode\u003eorganizeImports\u003c/code\u003e\u003c/a\u003e are now more detailed and more precise. They are also better at localizing where the issue is.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10205\"\u003e#10205\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/a704a6c40392e71aad5127ab35c771486116937e\"\u003e\u003ccode\u003ea704a6c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10185\"\u003e#10185\u003c/a\u003e. \u003ca href=\"https://biomejs.dev/assist/actions/organize-imports/\"\u003e`organizeImports\u003c/a\u003e now errors when it encounters an unknown predefined group.\u003c/p\u003e\n\u003cp\u003eThe following configuration is now reported as invalid because \u003ccode\u003e:INEXISTENT:\u003c/code\u003e is an unknown predefined group.\u003c/p\u003e\n\u003cpre lang=\"json\"\u003e\u003ccode\u003e{\n  \u0026quot;assist\u0026quot;: {\n    \u0026quot;actions\u0026quot;: {\n      \u0026quot;source\u0026quot;: {\n        \u0026quot;organizeImports\u0026quot;: { \u0026quot;options\u0026quot;: { \u0026quot;groups\u0026quot;: [\u0026quot;:INEXISTENT:\u0026quot;] } }\n      }\n    }\n  }\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md\"\u003e@​biomejs/biome's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.15\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9394\"\u003e#9394\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/ba3480e62da6ac7f0f9d99126f1459a72306368b\"\u003e\u003ccode\u003eba3480e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-test-hooks-in-order\"\u003e\u003ccode\u003euseTestHooksInOrder\u003c/code\u003e\u003c/a\u003e in the \u003ccode\u003etest\u003c/code\u003e domain. The rule enforces that Jest/Vitest lifecycle hooks (\u003ccode\u003ebeforeAll\u003c/code\u003e, \u003ccode\u003ebeforeEach\u003c/code\u003e, \u003ccode\u003eafterEach\u003c/code\u003e, \u003ccode\u003eafterAll\u003c/code\u003e) are declared in the order they execute, making test setup and teardown easier to reason about.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10254\"\u003e#10254\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/e0a54ccc0a0c892fff2270ae772bcecf0d34e79a\"\u003e\u003ccode\u003ee0a54cc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-vue-next-tick-promise/\"\u003e\u003ccode\u003euseVueNextTickPromise\u003c/code\u003e\u003c/a\u003e, which enforces Promise syntax when using Vue \u003ccode\u003enextTick\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { nextTick } from \u0026quot;vue\u0026quot;;\n\u003cp\u003enextTick(() =\u0026gt; {\nupdateDom();\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10219\"\u003e#10219\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/64aee454ac2db2ade31089c1438dd761c94a8d57\"\u003e\u003ccode\u003e64aee45\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-vue-v-on-number-values/\"\u003e\u003ccode\u003enoVueVOnNumberValues\u003c/code\u003e\u003c/a\u003e, that disallows deprecated number modifiers on Vue \u003ccode\u003ev-on\u003c/code\u003e directives.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule:\u003c/p\u003e\n\u003cpre lang=\"vue\"\u003e\u003ccode\u003e\u0026lt;input @keyup.13=\u0026quot;submit\u0026quot; /\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10195\"\u003e#10195\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/7b8d4e161a225f14bc9e070e04cc8572ee988bb2\"\u003e\u003ccode\u003e7b8d4e1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-vue-valid-v-for/\"\u003e\u003ccode\u003euseVueValidVFor\u003c/code\u003e\u003c/a\u003e, which validates Vue \u003ccode\u003ev-for\u003c/code\u003e directives and reports invalid aliases, missing component keys, and keys that do not use iteration variables.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10238\"\u003e#10238\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1110256c6d60500ebc05b9d2738fe77345c7ffd6\"\u003e\u003ccode\u003e1110256\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the recommended nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-vue-import-compiler-macros/\"\u003e\u003ccode\u003enoVueImportCompilerMacros\u003c/code\u003e\u003c/a\u003e, which disallows importing Vue compiler macros such as \u003ccode\u003edefineProps\u003c/code\u003e from \u003ccode\u003evue\u003c/code\u003e because they are automatically available.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10201\"\u003e#10201\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1a08f89df55eafe1d8463696d1be53f8dea90a80\"\u003e\u003ccode\u003e1a08f89\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/realknove\"\u003e\u003ccode\u003e@​realknove\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10193\"\u003e#10193\u003c/a\u003e: \u003ccode\u003estyle/useReadonlyClassProperties\u003c/code\u003e no longer reports class properties as readonly-able when they are assigned inside arrow callbacks nested in class property initializers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9574\"\u003e#9574\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/3bd2b6adf0be44eda922ad7610781dd2e387bdb6\"\u003e\u003ccode\u003e3bd2b6a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/9530\"\u003e#9530\u003c/a\u003e. The diagnostics of \u003ca href=\"https://biomejs.dev/assist/actions/organize-imports/\"\u003e\u003ccode\u003eorganizeImports\u003c/code\u003e\u003c/a\u003e are now more detailed and more precise. They are also better at localizing where the issue is.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10205\"\u003e#10205\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/a704a6c40392e71aad5127ab35c771486116937e\"\u003e\u003ccode\u003ea704a6c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10185\"\u003e#10185\u003c/a\u003e. \u003ca href=\"https://biomejs.dev/assist/actions/organize-imports/\"\u003e`organizeImports\u003c/a\u003e now errors when it encounters an unknown predefined group.\u003c/p\u003e\n\u003cp\u003eThe following configuration is now reported as invalid because \u003ccode\u003e:INEXISTENT:\u003c/code\u003e is an unknown predefined group.\u003c/p\u003e\n\u003cpre lang=\"json\"\u003e\u003ccode\u003e{\n  \u0026quot;assist\u0026quot;: {\n    \u0026quot;actions\u0026quot;: {\n      \u0026quot;source\u0026quot;: {\n        \u0026quot;organizeImports\u0026quot;: { \u0026quot;options\u0026quot;: { \u0026quot;groups\u0026quot;: [\u0026quot;:INEXISTENT:\u0026quot;] } }\n      }\n    }\n  }\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/9dd3271eef16090416b6e77615a01e3bfbcf7993\"\u003e\u003ccode\u003e9dd3271\u003c/code\u003e\u003c/a\u003e ci: release (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10210\"\u003e#10210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/7b8d4e161a225f14bc9e070e04cc8572ee988bb2\"\u003e\u003ccode\u003e7b8d4e1\u003c/code\u003e\u003c/a\u003e feat(lint/html/vue): add \u003ccode\u003euseVueValidVFor\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10195\"\u003e#10195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/ba3480e62da6ac7f0f9d99126f1459a72306368b\"\u003e\u003ccode\u003eba3480e\u003c/code\u003e\u003c/a\u003e feat(lint/js): add \u003ccode\u003euseTestHooksInOrder\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/9394\"\u003e#9394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/e0a54ccc0a0c892fff2270ae772bcecf0d34e79a\"\u003e\u003ccode\u003ee0a54cc\u003c/code\u003e\u003c/a\u003e feat(lint/js/vue): add \u003ccode\u003euseVueNextTickPromise\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10254\"\u003e#10254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/1110256c6d60500ebc05b9d2738fe77345c7ffd6\"\u003e\u003ccode\u003e1110256\u003c/code\u003e\u003c/a\u003e feat(lint/vue): add \u003ccode\u003enoVueImportCompilerMacros\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10238\"\u003e#10238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/7f7419cc831cc0725c44669964d8ad8f318d4375\"\u003e\u003ccode\u003e7f7419c\u003c/code\u003e\u003c/a\u003e fix: grammar in extends docstring (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10263\"\u003e#10263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/0ae58406b4752f296adfccf94b1d2a042c4cddc7\"\u003e\u003ccode\u003e0ae5840\u003c/code\u003e\u003c/a\u003e feat(lint/js): add \u003ccode\u003euseThisForClassMethods\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/9807\"\u003e#9807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/83f7385f14d68704510ea4c028cfa20317698fc0\"\u003e\u003ccode\u003e83f7385\u003c/code\u003e\u003c/a\u003e feat(lint/js): add \u003ccode\u003enoBaseToString\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/64aee454ac2db2ade31089c1438dd761c94a8d57\"\u003e\u003ccode\u003e64aee45\u003c/code\u003e\u003c/a\u003e feat(lint/html/vue): add \u003ccode\u003enoVueVOnNumberValues\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10219\"\u003e#10219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/46393e0240944064eb2a33c1810fc4204ced0cf7\"\u003e\u003ccode\u003e46393e0\u003c/code\u003e\u003c/a\u003e ci: release (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10100\"\u003e#10100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/biomejs/biome/commits/@biomejs/biome@2.4.15/packages/@biomejs/biome\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/vite` from 4.2.4 to 4.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003e@​tailwindcss/vite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e@​tailwindcss/vite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.3.0] - 2026-05-08\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\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/tailwindlabs/tailwindcss/commit/588bd7371f4cae96426e1387819b7fd1d99765f9\"\u003e\u003ccode\u003e588bd73\u003c/code\u003e\u003c/a\u003e 4.3.0 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/20023\"\u003e#20023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d194d4c3e656313421f1cfa1954db8f58eec0fcd\"\u003e\u003ccode\u003ed194d4c\u003c/code\u003e\u003c/a\u003e docs: fix various typos in comments and documentation (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19878\"\u003e#19878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/db27049caaae08978995f25b61f8336f543a4640\"\u003e\u003ccode\u003edb27049\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e): include \u003ca href=\"https://github.com/variant\"\u003e\u003ccode\u003e@​variant\u003c/code\u003e\u003c/a\u003e in feature detection (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/5a799900d4b43ca4902398a38c6f0a5b37a98ed9\"\u003e\u003ccode\u003e5a79990\u003c/code\u003e\u003c/a\u003e Always resolve relative files, relative to the current .css file (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/f3fdda2a5cb9de50c897c79003aa58182cd9269b\"\u003e\u003ccode\u003ef3fdda2\u003c/code\u003e\u003c/a\u003e fix(vite): avoid resolving JS plugins to browser CSS entries (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/@tailwindcss-vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tauri-apps/cli` from 2.10.1 to 2.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/tauri/releases\"\u003e@​tauri-apps/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tauri-apps/cli\u003c/code\u003e v2.11.2\u003c/h2\u003e\n\u003ch2\u003e[2.11.2]\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded to \u003ccode\u003etauri-cli@2.11.2\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tauri-apps/cli\u003c/code\u003e v2.11.1\u003c/h2\u003e\n\u003ch2\u003e[2.11.1]\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded to \u003ccode\u003etauri-cli@2.11.1\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tauri-apps/cli\u003c/code\u003e v2.11.0\u003c/h2\u003e\n\u003ch2\u003e[2.11.0]\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.github.com/tauri-apps/tauri/commit/926a57bb0851e45d47ad1ee68fc96a9c25754c7c\"\u003e\u003ccode\u003e926a57bb0\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/pull/15201\"\u003e#15201\u003c/a\u003e) Added uninstaller icon and uninstaller header image support for NSIS installer.\u003c/p\u003e\n\u003cp\u003eNotes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFor \u003ccode\u003etauri-bundler\u003c/code\u003e lib users, the \u003ccode\u003eNsisSettings\u003c/code\u003e now has 2 new fields \u003ccode\u003euninstaller_icon\u003c/code\u003e and \u003ccode\u003euninstaller_header_image\u003c/code\u003e which can be a breaking change\u003c/li\u003e\n\u003cli\u003eWhen bundling with NSIS, users can add \u003ccode\u003euninstallerIcon\u003c/code\u003e and \u003ccode\u003euninstallerHeaderImage\u003c/code\u003e under \u003ccode\u003ebundle \u0026gt; windows \u0026gt; nsis\u003c/code\u003e to configure them.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.github.com/tauri-apps/tauri/commit/764b9139a32de149d8a914a6b5ec6cd1937c64eb\"\u003e\u003ccode\u003e764b9139a\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/pull/14313\"\u003e#14313\u003c/a\u003e) Prompt to restart the Android emulator if it is not connected to adb.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://www.github.com/tauri-apps/tauri/commit/5dc2cee60370665af88c185684432e425b1c987d\"\u003e\u003ccode\u003e5dc2cee60\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/pull/14793\"\u003e#14793\u003c/a\u003e) Added support for \u003ccode\u003eminimumWebview2Version\u003c/code\u003e option support for the MSI (Wix) installer, the old \u003ccode\u003ebundle \u0026gt; windows \u0026gt; nsis \u0026gt; minimumWebview2Version\u003c/code\u003e is now deprecated in favor of \u003ccode\u003ebundle \u0026gt; windows \u0026gt; minimumWebview2Version\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eNotes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFor anyone relying on the \u003ccode\u003eWVRTINSTALLED\u003c/code\u003e \u003ccode\u003eProperty\u003c/code\u003e tag in \u003ccode\u003emain.wxs\u003c/code\u003e, it is now renamed to \u003ccode\u003eINSTALLED_WEBVIEW2_VERSION\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFor \u003ccode\u003etauri-bundler\u003c/code\u003e lib users, the \u003ccode\u003eWindowsSettings\u003c/code\u003e now has a new field \u003ccode\u003eminimum_webview2_version\u003c/code\u003e which can be a breaking change\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEnhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.github.com/tauri-apps/tauri/commit/be0e4bd2da02eb6cc75a8dc7c81663277e64c590\"\u003e\u003ccode\u003ebe0e4bd2d\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/pull/15218\"\u003e#15218\u003c/a\u003e) Added Vietnamese translations for the NSIS installer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.github.com/tauri-apps/tauri/commit/8718d08163f074dfc53387ebd1d823f9c28280ee\"\u003e\u003ccode\u003e8718d0816\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/pull/15033\"\u003e#15033\u003c/a\u003e) Show the context before prompting for updater signing key password\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.github.com/tauri-apps/tauri/commit/fcb702ec4d924e81943efaeebea8d3edb7289c33\"\u003e\u003ccode\u003efcb702ec4\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/pull/14954\"\u003e#14954\u003c/a\u003e) Fix \u003ccode\u003ebuild --bundles\u003c/code\u003e to allow \u003ccode\u003ensis\u003c/code\u003e arg in linux+macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.github.com/tauri-apps/tauri/commit/80c1425af86058b1fc9489a30f778b6288d79b6b\"\u003e\u003ccode\u003e80c1425af\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/pull/14921\"\u003e#14921\u003c/a\u003e) Fix iOS build failure when \u003ccode\u003eMetal Toolchain\u003c/code\u003e is installed by using explicit \u003ccode\u003e$(DEVELOPER_DIR)/Toolchains/XcodeDefault.xctoolchain\u003c/code\u003e path instead of \u003ccode\u003e$(TOOLCHAIN_DIR)\u003c/code\u003e for Swift library search paths.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eWhat's Changed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.github.com/tauri-apps/tauri/commit/9979cde1c5534dafb1a07cc4dc2bc280d15d2f66\"\u003e\u003ccode\u003e9979cde1c\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/pull/15175\"\u003e#15175\u003c/a\u003e) Update NSIS installer Italian translations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded to \u003ccode\u003etauri-cli@2.11.0\u003c/code\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/tauri-apps/tauri/commit/499df79be65ef8c0670abc0207cd9e37b55d8491\"\u003e\u003ccode\u003e499df79\u003c/code\u003e\u003c/a\u003e apply version updates (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/issues/15378\"\u003e#15378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/20bb033abb1947121e8158a52f46e1de36b94af7\"\u003e\u003ccode\u003e20bb033\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;feat: add Windows VC runtime linking and bundling options (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/issues/15372\"\u003e#15372\u003c/a\u003e)\u0026quot; (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/b5b72ce51811e9f95b1f7e9a05ea19c8f12ce694\"\u003e\u003ccode\u003eb5b72ce\u003c/code\u003e\u003c/a\u003e fix(tauri-utils): preserve resource source file name when dest is empty (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/issues/15383\"\u003e#15383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/3fd8ba2c022717068ff6a154ce12942c3a672232\"\u003e\u003ccode\u003e3fd8ba2\u003c/code\u003e\u003c/a\u003e fix: resources after empty directory not copied (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/issues/15388\"\u003e#15388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/47e1b754951bffeedbcd6400928d60755fb954de\"\u003e\u003ccode\u003e47e1b75\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eset_as_windows_menu_for_nsapp\u003c/code\u003e command wrongly called `set_as_help_menu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/eadd8f5f49446fc5cdca0dd6094aade726f09b6b\"\u003e\u003ccode\u003eeadd8f5\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump svelte from 5.53.11 to 5.55.7 (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/issues/15382\"\u003e#15382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/32d81661eedb7524b36f4c422606fa1e93ac917b\"\u003e\u003ccode\u003e32d8166\u003c/code\u003e\u003c/a\u003e feat: add Windows VC runtime linking and bundling options (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/issues/15372\"\u003e#15372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/b15b859cf636ba08abd44dcfb3d4b08e2e7fa0a4\"\u003e\u003ccode\u003eb15b859\u003c/code\u003e\u003c/a\u003e refactor: make error dialog take \u003ccode\u003e\u0026amp;'static str\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/issues/15369\"\u003e#15369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/0e8e25f001d5c6eae32a5f47c7e4365a318f2c59\"\u003e\u003ccode\u003e0e8e25f\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency rollup to v4.60.3 (\u003ca href=\"https://redirect.github.com/tauri-apps/tauri/issues/15355\"\u003e#15355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/e5ae5b93cdd310045191cc0526f253140ad64b87\"\u003e\u003ccode\u003ee5ae5b9\u003c/code\u003e\u003c/a\u003e chore: fix changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tauri-apps/tauri/compare/@tauri-apps/cli-v2.10.1...@tauri-apps/cli-v2.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/bun` from 1.3.13 to 1.3.14\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/bun\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitejs/plugin-vue` from 6.0.6 to 6.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite-plugin-vue/releases\"\u003e@​vitejs/plugin-vue's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eplugin-vue@6.0.7\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite-plugin-vue/blob/plugin-vue@6.0.7/packages/plugin-vue/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite-plugin-vue/blob/main/packages/plugin-vue/CHANGELOG.md\"\u003e@​vitejs/plugin-vue's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/compare/plugin-vue@6.0.6...plugin-vue@6.0.7\"\u003e6.0.7\u003c/a\u003e (2026-05-15)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003euse carets for \u003ccode\u003e@rolldown/pluginutils\u003c/code\u003e version (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-vue/issues/776\"\u003e#776\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/commit/941b651d8329559fce9231aad4e178f54cccb013\"\u003e941b651\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update all non-major dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-vue/issues/762\"\u003e#762\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/commit/9e825b85ebe9b6006dc5927aaa8aabc0bcc7eceb\"\u003e9e825b8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update all non-major dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-vue/issues/774\"\u003e#774\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/commit/77dc8bc935216bb7ed13f1c2653a80ffdc99fd45\"\u003e77dc8bc\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/vitejs/vite-plugin-vue/commit/f93acebe8f0c73a9558bd52baf6fd4cabe986213\"\u003e\u003ccode\u003ef93aceb\u003c/code\u003e\u003c/a\u003e release: plugin-vue@6.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/commit/941b651d8329559fce9231aad4e178f54cccb013\"\u003e\u003ccode\u003e941b651\u003c/code\u003e\u003c/a\u003e feat: use carets for \u003ccode\u003e@rolldown/pluginutils\u003c/code\u003e version (\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue/issues/776\"\u003e#776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/commit/77dc8bc935216bb7ed13f1c2653a80ffdc99fd45\"\u003e\u003ccode\u003e77dc8bc\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue/issues/774\"\u003e#774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/commit/9e825b85ebe9b6006dc5927aaa8aabc0bcc7eceb\"\u003e\u003ccode\u003e9e825b8\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue/issues/762\"\u003e#762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitejs/vite-plugin-vue/commits/plugin-vue@6.0.7/packages/plugin-vue\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/coverage-v8` from 4.1.5 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/coverage-v8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/ui` from 4.1.5 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/ui\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vue/test-utils` from 2.4.6 to 2.4.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vuejs/test-utils/releases\"\u003e@​vue/test-utils's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.10\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vuejs/test-utils/compare/v2.4.9...v2.4.10\"\u003ecompare changes\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRestore text()/html() for single-root components (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/pull/2835\"\u003e#2835\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCédric Exbrayat (\u003ca href=\"https://github.com/cexbrayat\"\u003e\u003ccode\u003e@​cexbrayat\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLorenz van Herwaarden (\u003ca href=\"https://github.com/lorenzvanherwaarden\"\u003e\u003ccode\u003e@​lorenzvanherwaarden\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.4.9\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vuejs/test-utils/compare/v2.4.8...v2.4.9\"\u003ecompare changes\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTolerate duplicate attachTo cleanup (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/pull/2830\"\u003e#2830\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📖 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDocument release process (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/pull/2834\"\u003e#2834\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🏡 Chore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate renovate config (\u003ca href=\"https://github.com/vuejs/test-utils/commit/5d37934\"\u003e5d37934\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🤖 CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePin github actions to commit hashes (\u003ca href=\"https://github.com/vuejs/test-utils/commit/75dcef3\"\u003e75dcef3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCédric Exbrayat (\u003ca href=\"https://github.com/cexbrayat\"\u003e\u003ccode\u003e@​cexbrayat\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDaniel Roe (\u003ca href=\"https://github.com/danielroe\"\u003e\u003ccode\u003e@​danielroe\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.4.8\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vuejs/test-utils/compare/v2.4.7...v2.4.8\"\u003ecompare changes\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect declaration entrypoint (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/pull/2826\"\u003e#2826\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🤖 CI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable pkg.pr.new (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/pull/2827\"\u003e#2827\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCédric Exbrayat (\u003ca href=\"https://github.com/cexbrayat\"\u003e\u003ccode\u003e@​cexbrayat\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDaniel Roe (\u003ca href=\"https://github.com/danielroe\"\u003e\u003ccode\u003e@​danielroe\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/vuejs/test-utils/commit/3e1f3e36367202d768e72e77fb73a47dbd003d9e\"\u003e\u003ccode\u003e3e1f3e3\u003c/code\u003e\u003c/a\u003e v2.4.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/test-utils/commit/3eb4989b2345f039bdd35bd15927f741ce094e2e\"\u003e\u003ccode\u003e3eb4989\u003c/code\u003e\u003c/a\u003e fix: restore text()/html() for single-root components (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/issues/2835\"\u003e#2835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/test-utils/commit/5f0d0f5438695aea021bbcc1c1e0c32ac2950344\"\u003e\u003ccode\u003e5f0d0f5\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency oxfmt to v0.47.0 (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/issues/2836\"\u003e#2836\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/test-utils/commit/d8b6fc73be32589b3fab8c99ad8d5d0c3d538fca\"\u003e\u003ccode\u003ed8b6fc7\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency pkg-pr-new to v0.0.67 (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/issues/2833\"\u003e#2833\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/test-utils/commit/b6b9d0b74a6dce116805673e79969fbbec936614\"\u003e\u003ccode\u003eb6b9d0b\u003c/code\u003e\u003c/a\u003e v2.4.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/test-utils/commit/c67b3dc05be0c2858ba9f01ff4fc6c8da2ea26e0\"\u003e\u003ccode\u003ec67b3dc\u003c/code\u003e\u003c/a\u003e docs: document release process (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/issues/2834\"\u003e#2834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/test-utils/commit/9a14e1af52232b67893480864a76306be311b717\"\u003e\u003ccode\u003e9a14e1a\u003c/code\u003e\u003c/a\u003e fix: tolerate duplicate attachTo cleanup (\u003ca href=\"https://redirect.github.com/vuejs/test-utils/issues/2830\"\u003e#2830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/test-utils/commit/d84c668ac65df5487b5b3331f6731ecfe3038e4e\"\u003e\u003ccode\u003ed84c668\u003c/code\u003e\u003c/a\u003e chore(deps): update all non-major dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/test-utils/commit/75dcef3afac89260bf53c20307c6c35b0e7c24a0\"\u003e\u003ccode\u003e75dcef3\u003c/code\u003e\u003c/a\u003e ci: pin github actions to commit hashes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/test-utils/commit/5d379343de50fc0cdeb5a0e70bfd73ebbde76991\"\u003e\u003ccode\u003e5d37934\u003c/code\u003e\u003c/a\u003e chore: migrate renovate config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vuejs/test-utils/compare/v2.4.6...v2.4.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​vue/test-utils\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `daisyui` from 5.5.19 to 5.5.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/saadeghi/daisyui/releases\"\u003edaisyui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.5.20\u003c/h2\u003e\n\u003cp\u003e🌼 Read changelog: \u003ca href=\"https://daisyui.com/docs/changelog/\"\u003ehttps://daisyui.com/docs/changelog/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e📦 Install this update:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003enpm i -D daisyui@5.5.20\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e💚 Thank you for using daisyUI!\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/saadeghi/daisyui/blob/master/CHANGELOG.md\"\u003edaisyui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.5.20 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edropdown animation inside a modal (\u003ca href=\"https://redirect.github.com/saadeghi/daisyui/issues/4526\"\u003e#4526\u003c/a\u003e) (\u003ca href=\"https://github.com/saadeghi/daisyui/commit/568d85f6ec4d84a16244ac4c986fa20a976aca1e\"\u003e568d85f\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/saadeghi/daisyui/commit/22ecff57f2c391b80a75617325748cf4d13fdf47\"\u003e\u003ccode\u003e22ecff5\u003c/code\u003e\u003c/a\u003e chore(release): 5.5.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/saadeghi/daisyui/commit/568d85f6ec4d84a16244ac4c986fa20a976aca1e\"\u003e\u003ccode\u003e568d85f\u003c/code\u003e\u003c/a\u003e fix: dropdown animation inside a modal (\u003ca href=\"https://github.com/saadeghi/daisyui/tree/HEAD/packages/daisyui/issues/4526\"\u003e#4526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/saadeghi/daisyui/commits/v5.5.20/packages/daisyui\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 29.0.2 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v29.0.2...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tailwindcss` from 4.2.4 to 4.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003etailwindcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003etailwindcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.3.0] - 2026-05-08\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\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/tailwindlabs/tailwindcss/commit/588bd7371f4cae96426e1387819b7fd1d99765f9\"\u003e\u003ccode\u003e588bd73\u003c/code\u003e\u003c/a\u003e 4.3.0 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20023\"\u003e#20023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/59936c6cbb69eae114bc52d0a3c9315b18c70a94\"\u003e\u003ccode\u003e59936c6\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/90a2373620200bf7e04d1d228a0d0a1c506e532a\"\u003e\u003ccode\u003e90a2373\u003c/code\u003e\u003c/a\u003e add \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/2e1ccf7f115732032d2b079073dcb0009baf82a0\"\u003e\u003ccode\u003e2e1ccf7\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/754e7512ca51db1f922dc67724cf85a0fde923a9\"\u003e\u003ccode\u003e754e751\u003c/code\u003e\u003c/a\u003e Use non-existing example in tests (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20021\"\u003e#20021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/12eb5ae7b6026ff64c04f889b2221418d772da72\"\u003e\u003ccode\u003e12eb5ae\u003c/code\u003e\u003c/a\u003e Cleanup noisy test output (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/4255671c5f792c42808ecd6b2dec27c16e3c559e\"\u003e\u003ccode\u003e4255671\u003c/code\u003e\u003c/a\u003e Improve snapshot tests (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20013\"\u003e#20013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/8c779899bbc94f9f642db47cafdd363dd094984a\"\u003e\u003ccode\u003e8c77989\u003c/code\u003e\u003c/a\u003e Ensure math operators are surrounded by whitespace in arbitrary values (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/b4db3b99d1bc6209a936df34914e0fc34b3e5...\n\n_Description has been truncated_","html_url":"https://github.com/pilgrimlyieu/Focust/pull/80","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pilgrimlyieu%2FFocust/issues/80","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/80/packages"}},{"old_version":"24.1.3","new_version":"29.1.1","update_type":"major","path":"/ui","pr_created_at":"2026-05-31T06:43:12.000Z","version_change":"24.1.3 → 29.1.1","issue":{"uuid":"4556804827","node_id":"PR_kwDOSA8ZV87hDcsa","number":5,"state":"closed","title":"deps(ui): bump jsdom from 24.1.3 to 29.1.1 in /ui","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-31T07:07:58.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-31T06:43:12.000Z","updated_at":"2026-05-31T07:08:00.000Z","time_to_close":1486,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(ui)","packages":[{"name":"jsdom","old_version":"24.1.3","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":"/ui","ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 24.1.3 to 29.1.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v24.1.3...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=24.1.3\u0026new-version=29.1.1)](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/loopgap/HAL-Proxy-build-by-go/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/loopgap%2FHAL-Proxy-build-by-go/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"28.1.0","new_version":"29.1.1","update_type":"major","path":null,"pr_created_at":"2026-05-30T20:06:05.000Z","version_change":"28.1.0 → 29.1.1","issue":{"uuid":"4555545446","node_id":"PR_kwDOQv1DUM7g_vME","number":171,"state":"closed","title":"chore(deps-dev): bump the development-dependencies group across 1 directory with 29 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-05-30T23:14:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-30T20:06:05.000Z","updated_at":"2026-05-30T23:14:44.000Z","time_to_close":11318,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"development-dependencies","update_count":29,"packages":[{"name":"@playwright/test","old_version":"1.58.2","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"@tailwindcss/postcss","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@tailwindcss/vite","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@tanstack/react-query-devtools","old_version":"5.91.3","new_version":"5.100.14","repository_url":"https://github.com/TanStack/query"},{"name":"@types/node","old_version":"20.19.35","new_version":"20.19.41","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.56.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.56.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitejs/plugin-react","old_version":"5.1.4","new_version":"6.0.2","repository_url":"https://github.com/vitejs/vite-plugin-react"},{"name":"@vitest/coverage-v8","old_version":"4.0.18","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/ui","old_version":"4.0.18","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"autoprefixer","old_version":"10.4.27","new_version":"10.5.0","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"dotenv","old_version":"17.3.1","new_version":"17.4.2","repository_url":"https://github.com/motdotla/dotenv"},{"name":"drizzle-kit","old_version":"0.31.9","new_version":"0.31.10","repository_url":"https://github.com/drizzle-team/drizzle-orm"},{"name":"eslint","old_version":"10.0.2","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-react-hooks","old_version":"7.0.1","new_version":"7.1.1","repository_url":"https://github.com/facebook/react"},{"name":"fast-check","old_version":"4.5.3","new_version":"4.8.0","repository_url":"https://github.com/dubzzz/fast-check"},{"name":"globals","old_version":"17.4.0","new_version":"17.6.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"happy-dom","old_version":"20.7.0","new_version":"20.9.0","repository_url":"https://github.com/capricorn86/happy-dom"},{"name":"jsdom","old_version":"28.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"lint-staged","old_version":"16.3.1","new_version":"17.0.6","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"rollup","old_version":"4.59.0","new_version":"4.60.4","repository_url":"https://github.com/rollup/rollup"},{"name":"turbo","old_version":"2.8.12","new_version":"2.9.16","repository_url":"https://github.com/vercel/turborepo"},{"name":"typescript-eslint","old_version":"8.56.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"vite","old_version":"7.3.1","new_version":"8.0.14","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"4.0.18","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 26 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.58.2` | `1.60.0` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.1` | `4.3.0` |\n| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.2.1` | `4.3.0` |\n| [@tanstack/react-query-devtools](https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools) | `5.91.3` | `5.100.14` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `20.19.35` | `20.19.41` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.56.1` | `8.60.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.56.1` | `8.60.0` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `5.1.4` | `6.0.2` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.0.18` | `4.1.7` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `4.0.18` | `4.1.7` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.27` | `10.5.0` |\n| [dotenv](https://github.com/motdotla/dotenv) | `17.3.1` | `17.4.2` |\n| [drizzle-kit](https://github.com/drizzle-team/drizzle-orm) | `0.31.9` | `0.31.10` |\n| [eslint](https://github.com/eslint/eslint) | `10.0.2` | `10.4.1` |\n| [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) | `7.0.1` | `7.1.1` |\n| [fast-check](https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check) | `4.5.3` | `4.8.0` |\n| [globals](https://github.com/sindresorhus/globals) | `17.4.0` | `17.6.0` |\n| [happy-dom](https://github.com/capricorn86/happy-dom) | `20.7.0` | `20.9.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `28.1.0` | `29.1.1` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.3.1` | `17.0.6` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [rollup](https://github.com/rollup/rollup) | `4.59.0` | `4.60.4` |\n| [turbo](https://github.com/vercel/turborepo) | `2.8.12` | `2.9.16` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.56.1` | `8.60.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `7.3.1` | `8.0.14` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.18` | `4.1.7` |\n\n\nUpdates `@playwright/test` from 1.58.2 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e@​playwright/test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛑 test.abort()\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-test#test-abort\"\u003etest.abort()\u003c/a\u003e aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003etest('does not publish to the shared page', async ({ page }) =\u0026gt; {\r\n  await page.route('**/publish', route =\u0026gt; {\r\n    test.abort('Tests must not publish to the shared page. Use the `clone` option.');\r\n    return route.abort();\r\n  });\r\n  // ...\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eNew APIs\u003c/h2\u003e\n\u003ch3\u003eBrowser, Context and Page\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/microsoft/playwright/commit/87bb9ddbd78f329df18c2b24847bc9409240cd07\"\u003e\u003ccode\u003e87bb9dd\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40747\"\u003e#40747\u003c/a\u003e): fix(yauzl): vendor yauzl with destroy-lifecycle fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9a9c51cb7d1b39fab51ca288e59f8ca38fd19910\"\u003e\u003ccode\u003e9a9c51c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40733\"\u003e#40733\u003c/a\u003e): chore(electron): revert \u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40184\"\u003e#40184\u003c/a\u003e (move Electron API to a s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/4b3b628663031bcaaeca907e337892263524634d\"\u003e\u003ccode\u003e4b3b628\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40736\"\u003e#40736\u003c/a\u003e): Revert \u0026quot;feat(electron): add timeout option to electronAp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f869f96bbe6607cc3b88b4ca96fd82f17b301b50\"\u003e\u003ccode\u003ef869f96\u003c/code\u003e\u003c/a\u003e chore: bump version to v1.60.0 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40714\"\u003e#40714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/7eb6918afadfb0dd5c7e94ca9ffbddd84d8fbb39\"\u003e\u003ccode\u003e7eb6918\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40710\"\u003e#40710\u003c/a\u003e): docs: release notes v1.60\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/118d2aa6076d82840decca15d96b48611b08e392\"\u003e\u003ccode\u003e118d2aa\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40693\"\u003e#40693\u003c/a\u003e): chore(python): formdata path type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/54012f5dcc586da2e5d6cccd75f13ca367b94579\"\u003e\u003ccode\u003e54012f5\u003c/code\u003e\u003c/a\u003e chore(deps): bump ip-address and express-rate-limit (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40680\"\u003e#40680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9fa531da5677a3807d6e1dccd22c5137339a44f7\"\u003e\u003ccode\u003e9fa531d\u003c/code\u003e\u003c/a\u003e fix(screencast): unblock frame ack when an async client disconnects (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40674\"\u003e#40674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/3649db560ff943e724185784d34f7db131a11961\"\u003e\u003ccode\u003e3649db5\u003c/code\u003e\u003c/a\u003e chore(mcp): bump default extension protocol to v2 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40678\"\u003e#40678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/bb6c00957f47ba04caad7fca75d426309a2d32d4\"\u003e\u003ccode\u003ebb6c009\u003c/code\u003e\u003c/a\u003e chore(extension): mark 0.2.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40679\"\u003e#40679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.58.2...v1.60.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/postcss` from 4.2.1 to 4.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003e@​tailwindcss/postcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalizations for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: ensure files are not emptied out when killing the upgrade process while it's running (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: use \u003ccode\u003econfig.content\u003c/code\u003e when migrating from Tailwind CSS v3 to Tailwind CSS v4 (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: never migrate files that are ignored by git (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e@​tailwindcss/postcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.3.0] - 2026-05-08\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.4] - 2026-04-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.3] - 2026-04-20\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalization for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\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/tailwindlabs/tailwindcss/commit/588bd7371f4cae96426e1387819b7fd1d99765f9\"\u003e\u003ccode\u003e588bd73\u003c/code\u003e\u003c/a\u003e 4.3.0 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/20023\"\u003e#20023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/12eb5ae7b6026ff64c04f889b2221418d772da72\"\u003e\u003ccode\u003e12eb5ae\u003c/code\u003e\u003c/a\u003e Cleanup noisy test output (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/4255671c5f792c42808ecd6b2dec27c16e3c559e\"\u003e\u003ccode\u003e4255671\u003c/code\u003e\u003c/a\u003e Improve snapshot tests (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/20013\"\u003e#20013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/52f94c74bb491e9c3641ce322a0ef90fb3c45de6\"\u003e\u003ccode\u003e52f94c7\u003c/code\u003e\u003c/a\u003e Improve codebase quality (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19999\"\u003e#19999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d194d4c3e656313421f1cfa1954db8f58eec0fcd\"\u003e\u003ccode\u003ed194d4c\u003c/code\u003e\u003c/a\u003e docs: fix various typos in comments and documentation (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19878\"\u003e#19878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/bfb5732b0b948d89c6803cb537bca168ec8e0a46\"\u003e\u003ccode\u003ebfb5732\u003c/code\u003e\u003c/a\u003e Fall back to the plugin \u003ccode\u003ebase\u003c/code\u003e when PostCSS has no \u003ccode\u003efrom\u003c/code\u003e option (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/3a890c35727fe0630c59b72dbec799d02e3c4800\"\u003e\u003ccode\u003e3a890c3\u003c/code\u003e\u003c/a\u003e Bump dependencies (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19957\"\u003e#19957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/69ad7cc5ec091125842aba783c5bfce536e9c234\"\u003e\u003ccode\u003e69ad7cc\u003c/code\u003e\u003c/a\u003e 4.2.4 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19948\"\u003e#19948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/685c19e266a6b75842747acab6fe7076e82df62d\"\u003e\u003ccode\u003e685c19e\u003c/code\u003e\u003c/a\u003e Fix issue around resolving paths in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/2e3fa490a535a8341fd2853d75098f0d4dbcc825\"\u003e\u003ccode\u003e2e3fa49\u003c/code\u003e\u003c/a\u003e 4.2.3 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19944\"\u003e#19944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/@tailwindcss-postcss\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​tailwindcss/postcss\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/vite` from 4.2.1 to 4.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003e@​tailwindcss/vite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalizations for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: ensure files are not emptied out when killing the upgrade process while it's running (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: use \u003ccode\u003econfig.content\u003c/code\u003e when migrating from Tailwind CSS v3 to Tailwind CSS v4 (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: never migrate files that are ignored by git (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e@​tailwindcss/vite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.3.0] - 2026-05-08\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.4] - 2026-04-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.3] - 2026-04-20\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalization for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\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/tailwindlabs/tailwindcss/commit/588bd7371f4cae96426e1387819b7fd1d99765f9\"\u003e\u003ccode\u003e588bd73\u003c/code\u003e\u003c/a\u003e 4.3.0 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/20023\"\u003e#20023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d194d4c3e656313421f1cfa1954db8f58eec0fcd\"\u003e\u003ccode\u003ed194d4c\u003c/code\u003e\u003c/a\u003e docs: fix various typos in comments and documentation (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19878\"\u003e#19878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/db27049caaae08978995f25b61f8336f543a4640\"\u003e\u003ccode\u003edb27049\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e): include \u003ca href=\"https://github.com/variant\"\u003e\u003ccode\u003e@​variant\u003c/code\u003e\u003c/a\u003e in feature detection (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/5a799900d4b43ca4902398a38c6f0a5b37a98ed9\"\u003e\u003ccode\u003e5a79990\u003c/code\u003e\u003c/a\u003e Always resolve relative files, relative to the current .css file (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/f3fdda2a5cb9de50c897c79003aa58182cd9269b\"\u003e\u003ccode\u003ef3fdda2\u003c/code\u003e\u003c/a\u003e fix(vite): avoid resolving JS plugins to browser CSS entries (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/69ad7cc5ec091125842aba783c5bfce536e9c234\"\u003e\u003ccode\u003e69ad7cc\u003c/code\u003e\u003c/a\u003e 4.2.4 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19948\"\u003e#19948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/685c19e266a6b75842747acab6fe7076e82df62d\"\u003e\u003ccode\u003e685c19e\u003c/code\u003e\u003c/a\u003e Fix issue around resolving paths in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/2e3fa490a535a8341fd2853d75098f0d4dbcc825\"\u003e\u003ccode\u003e2e3fa49\u003c/code\u003e\u003c/a\u003e 4.2.3 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19944\"\u003e#19944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/5cb1efdf416a6d37012d31cc1306c41cb35bbdc1\"\u003e\u003ccode\u003e5cb1efd\u003c/code\u003e\u003c/a\u003e fix(vite): resolve tsconfig paths in CSS and JS resolvers (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19803\"\u003e#19803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d596b0c43d36ad5099c983930fb155e089cbc291\"\u003e\u003ccode\u003ed596b0c\u003c/code\u003e\u003c/a\u003e 4.2.2 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19821\"\u003e#19821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/@tailwindcss-vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tanstack/react-query-devtools` from 5.91.3 to 5.100.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/releases\"\u003e@​tanstack/react-query-devtools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/ed20b6d7541c908033acfcad92b0cd112930d1c3\"\u003e\u003ccode\u003eed20b6d\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/blob/main/packages/react-query-devtools/CHANGELOG.md\"\u003e@​tanstack/react-query-devtools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.100.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/ed20b6d7541c908033acfcad92b0cd112930d1c3\"\u003e\u003ccode\u003eed20b6d\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.10\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/4d130b992d2ac396d75f921bfc530dd3a9d50577\"\u003e\u003ccode\u003e4d130b9\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.10\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.10\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/3d21cacdec3028b700c4c2e3e0ff8dbe7a235e8c\"\u003e\u003ccode\u003e3d21cac\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.8\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/TanStack/query/commit/ba6e7beebd50143408f01fcf5d9aee2ec1486f60\"\u003e\u003ccode\u003eba6e7be\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10767\"\u003e#10767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/05cf2bc0a4eae64959dc8a40152e2878190c971b\"\u003e\u003ccode\u003e05cf2bc\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10758\"\u003e#10758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/5ff4f6936bb66a64267eb4413430f956eecf7248\"\u003e\u003ccode\u003e5ff4f69\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10755\"\u003e#10755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/3e85350749751eef055fffb65f6838dfafa74891\"\u003e\u003ccode\u003e3e85350\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10706\"\u003e#10706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/9d2692cec4d538c2f96489027ba546f11638dfb1\"\u003e\u003ccode\u003e9d2692c\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10695\"\u003e#10695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/74fa05eb1b16f40ea7068afd0e5e082687d22338\"\u003e\u003ccode\u003e74fa05e\u003c/code\u003e\u003c/a\u003e chore(tsconfig.json): narrow 'include' pattern to prevent TS6053 race conditi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/8c3d523d0ab0b3f8fad28fbaae6807e7aca7eb54\"\u003e\u003ccode\u003e8c3d523\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10630\"\u003e#10630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/03eba38ae9f9367022316d802d827a8460edcab7\"\u003e\u003ccode\u003e03eba38\u003c/code\u003e\u003c/a\u003e test(react-query-devtools): add tests for missing 'QueryClient', context prov...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/9800c8f1a3f7907956410c23426a26d981e7d694\"\u003e\u003ccode\u003e9800c8f\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10623\"\u003e#10623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/3ae42619e5713b2fd6916760e84f7c9ddaa7a317\"\u003e\u003ccode\u003e3ae4261\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10620\"\u003e#10620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TanStack/query/commits/@tanstack/react-query-devtools@5.100.14/packages/react-query-devtools\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 20.19.35 to 20.19.41\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.56.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\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/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-deprecated] object destructuring values should be treated as declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12292\"\u003e#12292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-type-assertion] handle crash on recursive template literal types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12150\"\u003e#12150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDima Barabash\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4302433ae6bf93d4ddc35264ad1b951254758566\"\u003e\u003ccode\u003e4302433\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-floating-promises] stack overflow when using recursiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/10b79f1ba8e98610a3af85152a1b3b406f91e633\"\u003e\u003ccode\u003e10b79f1\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint to v10.4.0 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12339\"\u003e#12339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2a6765d9628dc776f8127c96f088bb807c0bcab2\"\u003e\u003ccode\u003e2a6765d\u003c/code\u003e\u003c/a\u003e chore: clenaup \u003ccode\u003egetAwaitedType\u003c/code\u003e from \u003ccode\u003etypescript.d.ts\u003c/code\u003e (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12302\"\u003e#12302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e26dc8003ababf078aad4df17765ee4cea30644c\"\u003e\u003ccode\u003ee26dc80\u003c/code\u003e\u003c/a\u003e docs: update stale links to latest (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12313\"\u003e#12313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ec3ef25390f7daf5a9ff33a60282bdbbb49ab0f3\"\u003e\u003ccode\u003eec3ef25\u003c/code\u003e\u003c/a\u003e test: make no-useless-empty-export tests fully static (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12260\"\u003e#12260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/eslint-plugin\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/parser` from 8.56.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.c...\n\n_Description has been truncated_","html_url":"https://github.com/brandonlacoste9-tech/ZyeuteV5/pull/171","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/brandonlacoste9-tech%2FZyeuteV5/issues/171","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/171/packages"}},{"old_version":"11.5.1","new_version":"29.1.1","update_type":"major","path":null,"pr_created_at":"2026-05-30T18:26:53.000Z","version_change":"11.5.1 → 29.1.1","issue":{"uuid":"4555282181","node_id":"PR_kwDOA1ZbbM7g-7mt","number":56,"state":"closed","title":"Bump qs and jsdom","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-30T18:32:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-30T18:26:53.000Z","updated_at":"2026-05-30T18:32:47.000Z","time_to_close":353,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"qs","repository_url":"https://github.com/ljharb/qs","old_version":null,"new_version":null,"is_removal":true},{"name":"jsdom","repository_url":"https://github.com/jsdom/jsdom","old_version":"11.5.1","new_version":"29.1.1"}],"path":null,"ecosystem":"npm"},"body":"Removes [qs](https://github.com/ljharb/qs). It's no longer used after updating ancestor dependency [jsdom](https://github.com/jsdom/jsdom). These dependencies need to be updated together.\n\nRemoves `qs`\n\nUpdates `jsdom` from 11.5.1 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v11.5.1...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Automattic/customize-direct-manipulation/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Automattic/customize-direct-manipulation/pull/56","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Automattic%2Fcustomize-direct-manipulation/issues/56","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/56/packages"}},{"old_version":"29.1.0","new_version":"29.1.1","update_type":"patch","path":null,"pr_created_at":"2026-05-30T17:07:32.000Z","version_change":"29.1.0 → 29.1.1","issue":{"uuid":"4555092804","node_id":"PR_kwDOQCbADs7g-YZJ","number":55,"state":"open","title":"chore(deps-dev): bump the development-minor-patch group across 1 directory with 8 updates","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-05-30T17:07:32.000Z","updated_at":"2026-05-30T17:08:55.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"development-minor-patch","update_count":8,"packages":[{"name":"@biomejs/biome","old_version":"2.4.13","new_version":"2.4.15","repository_url":"https://github.com/biomejs/biome"},{"name":"@types/node","old_version":"25.6.0","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"tsx","old_version":"4.21.0","new_version":"4.22.3","repository_url":"https://github.com/privatenumber/tsx"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@types/vscode","old_version":"1.116.0","new_version":"1.120.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/ui","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"jsdom","old_version":"29.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-minor-patch group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) | `2.4.13` | `2.4.15` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.0` | `25.9.1` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.7` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.22.3` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.7` |\n| [@types/vscode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/vscode) | `1.116.0` | `1.120.0` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `4.1.5` | `4.1.7` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.1.0` | `29.1.1` |\n\n\nUpdates `@biomejs/biome` from 2.4.13 to 2.4.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/biomejs/biome/releases\"\u003e@​biomejs/biome's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBiome CLI v2.4.15\u003c/h2\u003e\n\u003ch2\u003e2.4.15\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9394\"\u003e#9394\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/ba3480e62da6ac7f0f9d99126f1459a72306368b\"\u003e\u003ccode\u003eba3480e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-test-hooks-in-order\"\u003e\u003ccode\u003euseTestHooksInOrder\u003c/code\u003e\u003c/a\u003e in the \u003ccode\u003etest\u003c/code\u003e domain. The rule enforces that Jest/Vitest lifecycle hooks (\u003ccode\u003ebeforeAll\u003c/code\u003e, \u003ccode\u003ebeforeEach\u003c/code\u003e, \u003ccode\u003eafterEach\u003c/code\u003e, \u003ccode\u003eafterAll\u003c/code\u003e) are declared in the order they execute, making test setup and teardown easier to reason about.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10254\"\u003e#10254\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/e0a54ccc0a0c892fff2270ae772bcecf0d34e79a\"\u003e\u003ccode\u003ee0a54cc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-vue-next-tick-promise/\"\u003e\u003ccode\u003euseVueNextTickPromise\u003c/code\u003e\u003c/a\u003e, which enforces Promise syntax when using Vue \u003ccode\u003enextTick\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { nextTick } from \u0026quot;vue\u0026quot;;\n\u003cp\u003enextTick(() =\u0026gt; {\nupdateDom();\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10219\"\u003e#10219\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/64aee454ac2db2ade31089c1438dd761c94a8d57\"\u003e\u003ccode\u003e64aee45\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-vue-v-on-number-values/\"\u003e\u003ccode\u003enoVueVOnNumberValues\u003c/code\u003e\u003c/a\u003e, that disallows deprecated number modifiers on Vue \u003ccode\u003ev-on\u003c/code\u003e directives.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule:\u003c/p\u003e\n\u003cpre lang=\"vue\"\u003e\u003ccode\u003e\u0026lt;input @keyup.13=\u0026quot;submit\u0026quot; /\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10195\"\u003e#10195\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/7b8d4e161a225f14bc9e070e04cc8572ee988bb2\"\u003e\u003ccode\u003e7b8d4e1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-vue-valid-v-for/\"\u003e\u003ccode\u003euseVueValidVFor\u003c/code\u003e\u003c/a\u003e, which validates Vue \u003ccode\u003ev-for\u003c/code\u003e directives and reports invalid aliases, missing component keys, and keys that do not use iteration variables.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10238\"\u003e#10238\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1110256c6d60500ebc05b9d2738fe77345c7ffd6\"\u003e\u003ccode\u003e1110256\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the recommended nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-vue-import-compiler-macros/\"\u003e\u003ccode\u003enoVueImportCompilerMacros\u003c/code\u003e\u003c/a\u003e, which disallows importing Vue compiler macros such as \u003ccode\u003edefineProps\u003c/code\u003e from \u003ccode\u003evue\u003c/code\u003e because they are automatically available.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10201\"\u003e#10201\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1a08f89df55eafe1d8463696d1be53f8dea90a80\"\u003e\u003ccode\u003e1a08f89\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/realknove\"\u003e\u003ccode\u003e@​realknove\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10193\"\u003e#10193\u003c/a\u003e: \u003ccode\u003estyle/useReadonlyClassProperties\u003c/code\u003e no longer reports class properties as readonly-able when they are assigned inside arrow callbacks nested in class property initializers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9574\"\u003e#9574\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/3bd2b6adf0be44eda922ad7610781dd2e387bdb6\"\u003e\u003ccode\u003e3bd2b6a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/9530\"\u003e#9530\u003c/a\u003e. The diagnostics of \u003ca href=\"https://biomejs.dev/assist/actions/organize-imports/\"\u003e\u003ccode\u003eorganizeImports\u003c/code\u003e\u003c/a\u003e are now more detailed and more precise. They are also better at localizing where the issue is.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10205\"\u003e#10205\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/a704a6c40392e71aad5127ab35c771486116937e\"\u003e\u003ccode\u003ea704a6c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10185\"\u003e#10185\u003c/a\u003e. \u003ca href=\"https://biomejs.dev/assist/actions/organize-imports/\"\u003e`organizeImports\u003c/a\u003e now errors when it encounters an unknown predefined group.\u003c/p\u003e\n\u003cp\u003eThe following configuration is now reported as invalid because \u003ccode\u003e:INEXISTENT:\u003c/code\u003e is an unknown predefined group.\u003c/p\u003e\n\u003cpre lang=\"json\"\u003e\u003ccode\u003e{\n  \u0026quot;assist\u0026quot;: {\n    \u0026quot;actions\u0026quot;: {\n      \u0026quot;source\u0026quot;: {\n        \u0026quot;organizeImports\u0026quot;: { \u0026quot;options\u0026quot;: { \u0026quot;groups\u0026quot;: [\u0026quot;:INEXISTENT:\u0026quot;] } }\n      }\n    }\n  }\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md\"\u003e@​biomejs/biome's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.15\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9394\"\u003e#9394\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/ba3480e62da6ac7f0f9d99126f1459a72306368b\"\u003e\u003ccode\u003eba3480e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-test-hooks-in-order\"\u003e\u003ccode\u003euseTestHooksInOrder\u003c/code\u003e\u003c/a\u003e in the \u003ccode\u003etest\u003c/code\u003e domain. The rule enforces that Jest/Vitest lifecycle hooks (\u003ccode\u003ebeforeAll\u003c/code\u003e, \u003ccode\u003ebeforeEach\u003c/code\u003e, \u003ccode\u003eafterEach\u003c/code\u003e, \u003ccode\u003eafterAll\u003c/code\u003e) are declared in the order they execute, making test setup and teardown easier to reason about.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10254\"\u003e#10254\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/e0a54ccc0a0c892fff2270ae772bcecf0d34e79a\"\u003e\u003ccode\u003ee0a54cc\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-vue-next-tick-promise/\"\u003e\u003ccode\u003euseVueNextTickPromise\u003c/code\u003e\u003c/a\u003e, which enforces Promise syntax when using Vue \u003ccode\u003enextTick\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { nextTick } from \u0026quot;vue\u0026quot;;\n\u003cp\u003enextTick(() =\u0026gt; {\nupdateDom();\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10219\"\u003e#10219\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/64aee454ac2db2ade31089c1438dd761c94a8d57\"\u003e\u003ccode\u003e64aee45\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-vue-v-on-number-values/\"\u003e\u003ccode\u003enoVueVOnNumberValues\u003c/code\u003e\u003c/a\u003e, that disallows deprecated number modifiers on Vue \u003ccode\u003ev-on\u003c/code\u003e directives.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule:\u003c/p\u003e\n\u003cpre lang=\"vue\"\u003e\u003ccode\u003e\u0026lt;input @keyup.13=\u0026quot;submit\u0026quot; /\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10195\"\u003e#10195\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/7b8d4e161a225f14bc9e070e04cc8572ee988bb2\"\u003e\u003ccode\u003e7b8d4e1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-vue-valid-v-for/\"\u003e\u003ccode\u003euseVueValidVFor\u003c/code\u003e\u003c/a\u003e, which validates Vue \u003ccode\u003ev-for\u003c/code\u003e directives and reports invalid aliases, missing component keys, and keys that do not use iteration variables.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10238\"\u003e#10238\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1110256c6d60500ebc05b9d2738fe77345c7ffd6\"\u003e\u003ccode\u003e1110256\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dyc3\"\u003e\u003ccode\u003e@​dyc3\u003c/code\u003e\u003c/a\u003e! - Added the recommended nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-vue-import-compiler-macros/\"\u003e\u003ccode\u003enoVueImportCompilerMacros\u003c/code\u003e\u003c/a\u003e, which disallows importing Vue compiler macros such as \u003ccode\u003edefineProps\u003c/code\u003e from \u003ccode\u003evue\u003c/code\u003e because they are automatically available.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10201\"\u003e#10201\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1a08f89df55eafe1d8463696d1be53f8dea90a80\"\u003e\u003ccode\u003e1a08f89\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/realknove\"\u003e\u003ccode\u003e@​realknove\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10193\"\u003e#10193\u003c/a\u003e: \u003ccode\u003estyle/useReadonlyClassProperties\u003c/code\u003e no longer reports class properties as readonly-able when they are assigned inside arrow callbacks nested in class property initializers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/9574\"\u003e#9574\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/3bd2b6adf0be44eda922ad7610781dd2e387bdb6\"\u003e\u003ccode\u003e3bd2b6a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/9530\"\u003e#9530\u003c/a\u003e. The diagnostics of \u003ca href=\"https://biomejs.dev/assist/actions/organize-imports/\"\u003e\u003ccode\u003eorganizeImports\u003c/code\u003e\u003c/a\u003e are now more detailed and more precise. They are also better at localizing where the issue is.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/biomejs/biome/pull/10205\"\u003e#10205\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/a704a6c40392e71aad5127ab35c771486116937e\"\u003e\u003ccode\u003ea704a6c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Conaclos\"\u003e\u003ccode\u003e@​Conaclos\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/10185\"\u003e#10185\u003c/a\u003e. \u003ca href=\"https://biomejs.dev/assist/actions/organize-imports/\"\u003e`organizeImports\u003c/a\u003e now errors when it encounters an unknown predefined group.\u003c/p\u003e\n\u003cp\u003eThe following configuration is now reported as invalid because \u003ccode\u003e:INEXISTENT:\u003c/code\u003e is an unknown predefined group.\u003c/p\u003e\n\u003cpre lang=\"json\"\u003e\u003ccode\u003e{\n  \u0026quot;assist\u0026quot;: {\n    \u0026quot;actions\u0026quot;: {\n      \u0026quot;source\u0026quot;: {\n        \u0026quot;organizeImports\u0026quot;: { \u0026quot;options\u0026quot;: { \u0026quot;groups\u0026quot;: [\u0026quot;:INEXISTENT:\u0026quot;] } }\n      }\n    }\n  }\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/9dd3271eef16090416b6e77615a01e3bfbcf7993\"\u003e\u003ccode\u003e9dd3271\u003c/code\u003e\u003c/a\u003e ci: release (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10210\"\u003e#10210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/7b8d4e161a225f14bc9e070e04cc8572ee988bb2\"\u003e\u003ccode\u003e7b8d4e1\u003c/code\u003e\u003c/a\u003e feat(lint/html/vue): add \u003ccode\u003euseVueValidVFor\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10195\"\u003e#10195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/ba3480e62da6ac7f0f9d99126f1459a72306368b\"\u003e\u003ccode\u003eba3480e\u003c/code\u003e\u003c/a\u003e feat(lint/js): add \u003ccode\u003euseTestHooksInOrder\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/9394\"\u003e#9394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/e0a54ccc0a0c892fff2270ae772bcecf0d34e79a\"\u003e\u003ccode\u003ee0a54cc\u003c/code\u003e\u003c/a\u003e feat(lint/js/vue): add \u003ccode\u003euseVueNextTickPromise\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10254\"\u003e#10254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/1110256c6d60500ebc05b9d2738fe77345c7ffd6\"\u003e\u003ccode\u003e1110256\u003c/code\u003e\u003c/a\u003e feat(lint/vue): add \u003ccode\u003enoVueImportCompilerMacros\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10238\"\u003e#10238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/7f7419cc831cc0725c44669964d8ad8f318d4375\"\u003e\u003ccode\u003e7f7419c\u003c/code\u003e\u003c/a\u003e fix: grammar in extends docstring (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10263\"\u003e#10263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/0ae58406b4752f296adfccf94b1d2a042c4cddc7\"\u003e\u003ccode\u003e0ae5840\u003c/code\u003e\u003c/a\u003e feat(lint/js): add \u003ccode\u003euseThisForClassMethods\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/9807\"\u003e#9807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/83f7385f14d68704510ea4c028cfa20317698fc0\"\u003e\u003ccode\u003e83f7385\u003c/code\u003e\u003c/a\u003e feat(lint/js): add \u003ccode\u003enoBaseToString\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/9838\"\u003e#9838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/64aee454ac2db2ade31089c1438dd761c94a8d57\"\u003e\u003ccode\u003e64aee45\u003c/code\u003e\u003c/a\u003e feat(lint/html/vue): add \u003ccode\u003enoVueVOnNumberValues\u003c/code\u003e (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10219\"\u003e#10219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/46393e0240944064eb2a33c1810fc4204ced0cf7\"\u003e\u003ccode\u003e46393e0\u003c/code\u003e\u003c/a\u003e ci: release (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10100\"\u003e#10100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/biomejs/biome/commits/@biomejs/biome@2.4.15/packages/@biomejs/biome\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.6.0 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/coverage-v8` from 4.1.5 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/coverage-v8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tsx` from 4.21.0 to 4.22.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/privatenumber/tsx/releases\"\u003etsx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.22.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.22.2...v4.22.3\"\u003e4.22.3\u003c/a\u003e (2026-05-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edecode typed loader source (\u003ca href=\"https://github.com/privatenumber/tsx/commit/dce02fc3b8b64a58d24560714902b16f89332f1f\"\u003edce02fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve entrypoint with TypeScript preload hooks (\u003ca href=\"https://github.com/privatenumber/tsx/commit/68f72f3304d8c3ff7048bde8571af9c163fcefa2\"\u003e68f72f3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release is also available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/tsx/v/4.22.3\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.22.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.22.1...v4.22.2\"\u003e4.22.2\u003c/a\u003e (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epreserve CJS JSON require in ESM hooks (\u003ca href=\"https://github.com/privatenumber/tsx/commit/35b700bd8620696df03827068af29dcd0d091a60\"\u003e35b700b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve named exports from CommonJS TypeScript (\u003ca href=\"https://github.com/privatenumber/tsx/commit/11de737dae1fb9dae28db3716df5b1a7e1a6a089\"\u003e11de737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport module.exports require(esm) interop (\u003ca href=\"https://github.com/privatenumber/tsx/commit/cf8f19918e4e0a0dc5ee5c52d8cc15e5e22d7c49\"\u003ecf8f199\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release is also available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/tsx/v/4.22.2\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.22.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.22.0...v4.22.1\"\u003e4.22.1\u003c/a\u003e (2026-05-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eresolve tsconfig path aliases containing a colon (\u003ca href=\"https://redirect.github.com/privatenumber/tsx/issues/780\"\u003e#780\u003c/a\u003e) (\u003ca href=\"https://github.com/privatenumber/tsx/commit/6979f28810829dc79ec9baf406e162a18b65ab4b\"\u003e6979f28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release is also available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/tsx/v/4.22.1\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.22.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.21.1...v4.22.0\"\u003e4.22.0\u003c/a\u003e (2026-05-14)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade esbuild to 0.28 (\u003ca href=\"https://redirect.github.com/privatenumber/tsx/issues/789\"\u003e#789\u003c/a\u003e) (\u003ca href=\"https://github.com/privatenumber/tsx/commit/b29f6ee4d6872fdef474eb0a89c6d4e982478a77\"\u003eb29f6ee\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release is also available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/tsx/v/4.22.0\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\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/privatenumber/tsx/commit/dce02fc3b8b64a58d24560714902b16f89332f1f\"\u003e\u003ccode\u003edce02fc\u003c/code\u003e\u003c/a\u003e fix: decode typed loader source\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/68f72f3304d8c3ff7048bde8571af9c163fcefa2\"\u003e\u003ccode\u003e68f72f3\u003c/code\u003e\u003c/a\u003e fix: preserve entrypoint with TypeScript preload hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/69455cfefbfe71100a3c58d3ce7cea42445d9113\"\u003e\u003ccode\u003e69455cf\u003c/code\u003e\u003c/a\u003e test: cover package exports for ambiguous ESM reexports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/35b700bd8620696df03827068af29dcd0d091a60\"\u003e\u003ccode\u003e35b700b\u003c/code\u003e\u003c/a\u003e fix: preserve CJS JSON require in ESM hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/ef807dba6832260fb4cafd78d81f5469a733966b\"\u003e\u003ccode\u003eef807db\u003c/code\u003e\u003c/a\u003e chore: update testing dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/3917090d4f61863ea6ea16e4a9a3722a112cc3f7\"\u003e\u003ccode\u003e3917090\u003c/code\u003e\u003c/a\u003e test: document compatibility test taxonomy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/de8113ffa8edbcd4e05fa218324c3e8c2a4afdbe\"\u003e\u003ccode\u003ede8113f\u003c/code\u003e\u003c/a\u003e refactor: centralize Node capability facts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/c1f62db45ada60b24ceb3dfdf7f64173d9a15396\"\u003e\u003ccode\u003ec1f62db\u003c/code\u003e\u003c/a\u003e test: consolidate tsconfig path edge coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/4e08174ec10276ac71c9a69eb28426ad702d0c76\"\u003e\u003ccode\u003e4e08174\u003c/code\u003e\u003c/a\u003e test: consolidate loader hook coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/674bb30bc87ce00b36e9c820d47394defba9ae36\"\u003e\u003ccode\u003e674bb30\u003c/code\u003e\u003c/a\u003e test: consolidate tsImport commonjs mts coverage\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.21.0...v4.22.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for tsx since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 4.1.5 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003evitest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/vitest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/vscode` from 1.116.0 to 1.120.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/vscode\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/ui` from 4.1.5 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/ui\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 29.1.0 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v29.1.0...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more 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/rolandzwaga/eligian/pull/55","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rolandzwaga%2Feligian/issues/55","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/55/packages"}},{"old_version":"29.1.0","new_version":"29.1.1","update_type":"patch","path":null,"pr_created_at":"2026-05-30T11:19:26.000Z","version_change":"29.1.0 → 29.1.1","issue":{"uuid":"4554220548","node_id":"PR_kwDOQxBvIc7g7ygQ","number":246,"state":"open","title":"chore(deps-dev): bump the npm-dev group with 13 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-30T11:19:26.000Z","updated_at":"2026-05-30T11:21:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"npm-dev","update_count":13,"packages":[{"name":"@typescript-eslint/eslint-plugin","old_version":"8.59.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.59.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/coverage-v8","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"globals","old_version":"17.5.0","new_version":"17.6.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"turbo","old_version":"2.9.6","new_version":"2.9.16","repository_url":"https://github.com/vercel/turborepo"},{"name":"jsdom","old_version":"29.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@types/node","old_version":"25.6.0","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitejs/plugin-react","old_version":"6.0.1","new_version":"6.0.2","repository_url":"https://github.com/vitejs/vite-plugin-react"},{"name":"vite","old_version":"8.0.10","new_version":"8.0.14","repository_url":"https://github.com/vitejs/vite"},{"name":"vite-plugin-dts","old_version":"5.0.0","new_version":"5.0.1","repository_url":"https://github.com/qmhc/unplugin-dts"},{"name":"@playwright/test","old_version":"1.59.1","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"vite-plugin-pwa","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/vite-pwa/vite-plugin-pwa"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-dev group with 13 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.59.1` | `8.60.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.59.1` | `8.60.0` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.7` |\n| [globals](https://github.com/sindresorhus/globals) | `17.5.0` | `17.6.0` |\n| [turbo](https://github.com/vercel/turborepo) | `2.9.6` | `2.9.16` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.1.0` | `29.1.1` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.7` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.0` | `25.9.1` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.10` | `8.0.14` |\n| [vite-plugin-dts](https://github.com/qmhc/unplugin-dts/tree/HEAD/packages/vite-plugin-dts) | `5.0.0` | `5.0.1` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.59.1` | `1.60.0` |\n| [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) | `1.2.0` | `1.3.0` |\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.59.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\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/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-deprecated] object destructuring values should be treated as declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12292\"\u003e#12292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-type-assertion] handle crash on recursive template literal types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12150\"\u003e#12150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDima Barabash\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\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/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4302433ae6bf93d4ddc35264ad1b951254758566\"\u003e\u003ccode\u003e4302433\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-floating-promises] stack overflow when using recursiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/10b79f1ba8e98610a3af85152a1b3b406f91e633\"\u003e\u003ccode\u003e10b79f1\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint to v10.4.0 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12339\"\u003e#12339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2a6765d9628dc776f8127c96f088bb807c0bcab2\"\u003e\u003ccode\u003e2a6765d\u003c/code\u003e\u003c/a\u003e chore: clenaup \u003ccode\u003egetAwaitedType\u003c/code\u003e from \u003ccode\u003etypescript.d.ts\u003c/code\u003e (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12302\"\u003e#12302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e26dc8003ababf078aad4df17765ee4cea30644c\"\u003e\u003ccode\u003ee26dc80\u003c/code\u003e\u003c/a\u003e docs: update stale links to latest (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12313\"\u003e#12313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ec3ef25390f7daf5a9ff33a60282bdbbb49ab0f3\"\u003e\u003ccode\u003eec3ef25\u003c/code\u003e\u003c/a\u003e test: make no-useless-empty-export tests fully static (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12260\"\u003e#12260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/eslint-plugin\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/parser` from 8.59.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\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/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\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/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/coverage-v8` from 4.1.5 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/coverage-v8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globals` from 17.5.0 to 17.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/globals/releases\"\u003eglobals's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate globals (2026-05-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/343\"\u003e#343\u003c/a\u003e)  00a4dd9\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\"\u003ehttps://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.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/sindresorhus/globals/commit/6b15870f1c08b60b5b57afe45a703d9ed0be39bc\"\u003e\u003ccode\u003e6b15870\u003c/code\u003e\u003c/a\u003e 17.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/00a4dd9821830a9b044798120e86b1bb1a54648d\"\u003e\u003ccode\u003e00a4dd9\u003c/code\u003e\u003c/a\u003e Update globals (2026-05-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/343\"\u003e#343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo` from 2.9.6 to 2.9.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/turborepo/releases\"\u003eturbo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTurborepo v2.9.16\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.9.15 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12955\"\u003evercel/turborepo#12955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid hanging PTY shutdown by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12958\"\u003evercel/turborepo#12958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Retry npm tlog publish failures by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12959\"\u003evercel/turborepo#12959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.1 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12960\"\u003evercel/turborepo#12960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve nested Bun dependency versions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12963\"\u003evercel/turborepo#12963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;fix: Preserve nested Bun dependency versions\u0026quot; by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12964\"\u003evercel/turborepo#12964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12961\"\u003evercel/turborepo#12961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve nested Bun dependency versions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12965\"\u003evercel/turborepo#12965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Don't delete existing \u003ccode\u003e.git\u003c/code\u003e when using \u003ccode\u003e--no-git\u003c/code\u003e flag by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12968\"\u003evercel/turborepo#12968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16\"\u003ehttps://github.com/vercel/turborepo/compare/v2.9.15...v2.9.16\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.9.16-canary.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.7 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12935\"\u003evercel/turborepo#12935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Restore a few internal invariant checks by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12933\"\u003evercel/turborepo#12933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Improve profile tracing coverage by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12936\"\u003evercel/turborepo#12936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Use build-scale OTel duration buckets by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12939\"\u003evercel/turborepo#12939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve pnpm injected peer package entries by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12940\"\u003evercel/turborepo#12940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add heap allocation profiling by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12943\"\u003evercel/turborepo#12943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.8 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12945\"\u003evercel/turborepo#12945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Correct attribute presence claims in turborepo-otel by \u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12932\"\u003evercel/turborepo#12932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(turbo-codemod): Remove duplicate \u0026quot;in\u0026quot; in transforms path comment by \u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12948\"\u003evercel/turborepo#12948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Switch Geist font imports to npm geist package by \u003ca href=\"https://github.com/christopherkindl\"\u003e\u003ccode\u003e@​christopherkindl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12952\"\u003evercel/turborepo#12952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Respect root gitignore during prune by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12953\"\u003evercel/turborepo#12953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Harden OTEL endpoint validation by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12954\"\u003evercel/turborepo#12954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12955\"\u003evercel/turborepo#12955\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid hanging PTY shutdown by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12958\"\u003evercel/turborepo#12958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Retry npm tlog publish failures by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12959\"\u003evercel/turborepo#12959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.16-canary.1 by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12960\"\u003evercel/turborepo#12960\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/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12932\"\u003evercel/turborepo#12932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12948\"\u003evercel/turborepo#12948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/christopherkindl\"\u003e\u003ccode\u003e@​christopherkindl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12952\"\u003evercel/turborepo#12952\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2\"\u003ehttps://github.com/vercel/turborepo/compare/v2.9.15-canary.7...v2.9.16-canary.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.9.15\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5e2d466c345604aa2011cd2314d176f401f650de\"\u003e\u003ccode\u003e5e2d466\u003c/code\u003e\u003c/a\u003e publish 2.9.16 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/b4aa626ee2316a61d070bcce4038ff26474180ee\"\u003e\u003ccode\u003eb4aa626\u003c/code\u003e\u003c/a\u003e fix: Don't delete existing \u003ccode\u003e.git\u003c/code\u003e when using \u003ccode\u003e--no-git\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12968\"\u003e#12968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/7952b4627d04f1edd7ab9f2262a17c3e49cc1bc8\"\u003e\u003ccode\u003e7952b46\u003c/code\u003e\u003c/a\u003e fix: Preserve nested Bun dependency versions (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12965\"\u003e#12965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5e5b248c188e679616c0d9e23bbe4ed8b46c9c36\"\u003e\u003ccode\u003e5e5b248\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.16-canary.2 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12961\"\u003e#12961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/3b1b6e9655ccafc73b80bca5f8cf815310cb2728\"\u003e\u003ccode\u003e3b1b6e9\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: Preserve nested Bun dependency versions\u0026quot; (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12964\"\u003e#12964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/8d4eaf81af296377e6c7533138b8f8c35b77bd7e\"\u003e\u003ccode\u003e8d4eaf8\u003c/code\u003e\u003c/a\u003e fix: Preserve nested Bun dependency versions (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12963\"\u003e#12963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/2284fa90a3492cd6800567ab2d4946dc5c853c91\"\u003e\u003ccode\u003e2284fa9\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.16-canary.1 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12960\"\u003e#12960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5317f656c7d13c382eb97a6fac786ab8a807295a\"\u003e\u003ccode\u003e5317f65\u003c/code\u003e\u003c/a\u003e fix: Retry npm tlog publish failures (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12959\"\u003e#12959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/52e81bd93645e6d0b7fe44470cb93d4020c3dfd5\"\u003e\u003ccode\u003e52e81bd\u003c/code\u003e\u003c/a\u003e fix: Avoid hanging PTY shutdown (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12958\"\u003e#12958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/c85d4104bdc18df051334210d29c49353c46facf\"\u003e\u003ccode\u003ec85d410\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.15 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12955\"\u003e#12955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.6...v2.9.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 29.1.0 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v29.1.0...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 4.1.5 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003evitest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/vitest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.6.0 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitejs/plugin-react` from 6.0.1 to 6.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite-plugin-react/releases\"\u003e@​vitejs/plugin-react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eplugin-react@6.0.2\u003c/h2\u003e\n\u003ch3\u003eAllow all options in reactCompilerPreset (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1189\"\u003e#1189\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eThis is a type only change. Only \u003ccode\u003ecompilationMode\u003c/code\u003e and \u003ccode\u003etarget\u003c/code\u003e options were available for \u003ccode\u003ereactCompilerPreset\u003c/code\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/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md\"\u003e@​vitejs/plugin-react's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.2 (2026-05-14)\u003c/h2\u003e\n\u003ch3\u003eAllow all options in reactCompilerPreset (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1189\"\u003e#1189\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eThis is a type only change. Only \u003ccode\u003ecompilationMode\u003c/code\u003e and \u003ccode\u003etarget\u003c/code\u003e options were available for \u003ccode\u003ereactCompilerPreset\u003c/code\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/vitejs/vite-plugin-react/commit/6535b55e956b425e6650ffc2cc98fd23cca1d231\"\u003e\u003ccode\u003e6535b55\u003c/code\u003e\u003c/a\u003e release: plugin-react@6.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/bf0e43b756e3be81f8572d59727c218311f431ef\"\u003e\u003ccode\u003ebf0e43b\u003c/code\u003e\u003c/a\u003e feat(react): whitelist debugging-options (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/3bd1f08ae0b82ee0e96feb2ff265e61c6fe74b54\"\u003e\u003ccode\u003e3bd1f08\u003c/code\u003e\u003c/a\u003e feat: use carets for rolldown versions (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/2b8df67323265d1ff5ddf47b2db9ab0b9de5c688\"\u003e\u003ccode\u003e2b8df67\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1218\"\u003e#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/8fa9619e1b1f51b079f4c1df6bcf076dcafc5aed\"\u003e\u003ccode\u003e8fa9619\u003c/code\u003e\u003c/a\u003e fix(deps): update react 19.2.6 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1211\"\u003e#1211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/a4296ad2995a8d493528b8d5450a1209de2943cb\"\u003e\u003ccode\u003ea4296ad\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1209\"\u003e#1209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/323ccd72576be636b50baa7d9ce816cc94d5991e\"\u003e\u003ccode\u003e323ccd7\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1196\"\u003e#1196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/a7506e105df00cdadc58c0aecc4512d8cfdd9765\"\u003e\u003ccode\u003ea7506e1\u003c/code\u003e\u003c/a\u003e chore(deps): update vite 8.0.10 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1198\"\u003e#1198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/02cff2a0cf5c7e9792b1612baa380228f5e4d3c1\"\u003e\u003ccode\u003e02cff2a\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1184\"\u003e#1184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/4b9c890cdb21078ac45a86873b24f7e8613b8526\"\u003e\u003ccode\u003e4b9c890\u003c/code\u003e\u003c/a\u003e fix(deps): update react 19.2.5 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1181\"\u003e#1181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.0.2/packages/plugin-react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite` from 8.0.10 to 8.0.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/releases\"\u003evite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.14\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.14/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.13\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.13/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.12\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.12/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.11\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.11/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md\"\u003evite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.0.13...v8.0.14\"\u003e8.0.14\u003c/a\u003e (2026-05-21)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rolldown to 1.0.2 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22484\"\u003e#22484\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/96efc88570b6a6ddf1a910f106920cbac07b3cf0\"\u003e96efc88\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update all non-major dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22471\"\u003e#22471\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/98b81632139d51820f82036e58d6fbbf122b77b3\"\u003e98b8163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edev:\u003c/strong\u003e handle errors when sending messages to vite server (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22450\"\u003e#22450\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e8e9a34dcf2540139de558a10187630884d10217\"\u003ee8e9a34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e handle trailing slash paths in transformIndexHtml (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22480\"\u003e#22480\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5d94d1bffdb2a15de9341194d89baec86ce1f693\"\u003e5d94d1b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e pass oxc jsx options to transformSync in dependency scan                                                            (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22342\"\u003e#22342\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/b3132dacea9c6e0cf526cd9f0f09d850f577c262\"\u003eb3132da\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22470\"\u003e#22470\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/7cb728eb629cc677661f1bc52a044ffc0b87fc7f\"\u003e7cb728e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove irrelevant commits from changelog (\u003ca href=\"https://github.com/vitejs/vite/commit/2c69495f250edf01132d4a20128de19dbe836086\"\u003e2c69495\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eglob:\u003c/strong\u003e do not rewrite import path for absolute base (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22310\"\u003e#22310\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/0ae2844ab6d6d1ccf78a2975b8132769fc35b302\"\u003e0ae2844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e sass does not use main field (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22449\"\u003e#22449\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/ebf39a04329ddc6ba765e006a5d463680a952270\"\u003eebf39a0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.0.12...v8.0.13\"\u003e8.0.13\u003c/a\u003e (2026-05-14)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e add lazy bundling support (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/21406\"\u003e#21406\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/4f0949f3f13e4b2b34d32bf7b2b4de5f26bea192\"\u003e4f0949f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e improve the esbuild plugin converter to pass some properties of build result to \u003ccode\u003eonEnd\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22357\"\u003e#22357\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/47071ce53f21726cf39e999c4407c4828ecbe957\"\u003e47071ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate rolldown to 1.0.1 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22444\"\u003e#22444\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8c766a6c5ee014969c4e32f29cc265e8e2c96e18\"\u003e8c766a6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e copy public directory after building same environment with \u003ccode\u003ewrite=false\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22328\"\u003e#22328\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/158e8ae8efdf7075ab295727e36b5ff68da3243e\"\u003e158e8ae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e await sass/less/styl worker disposal on teardown (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22274\"\u003e#22274\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22275\"\u003e#22275\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/b7edcb7d0dd17ddfeef4ace78d610c099216dade\"\u003eb7edcb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e keep deprecated \u003ccode\u003ename\u003c/code\u003e/\u003ccode\u003eoriginalFileName\u003c/code\u003e in synthetic \u003ccode\u003eassetFileNames\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22439\"\u003e#22439\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8e59c97a44d923c4c06f67287a793c9aa5a4ebaa\"\u003e8e59c97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake \u003ccode\u003eisBundled\u003c/code\u003e per environment (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22257\"\u003e#22257\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/a5763266170f8606836da5c6f987b4b2fd6ddc55\"\u003ea576326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003essr:\u003c/strong\u003e avoid rewriting labels that collide with imports (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22451\"\u003e#22451\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/d9b18e0387a253628d3d834288e79c5f7e85d566\"\u003ed9b18e0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eremove irrelevant commits from changelog (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22430\"\u003e#22430\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6ea383859aaf0ef8e673b458f164e84aeb6ff51d\"\u003e6ea3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate changelog (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22413\"\u003e#22413\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fcdc87cc6799857e2bab0f44f333a681694fff74\"\u003efcdc87c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.0.11...v8.0.12\"\u003e8.0.12\u003c/a\u003e (2026-05-11)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rolldown to 1.0.0 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22401\"\u003e#22401\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/cf0ff4154b26cffbf18541ade1a50818842731d3\"\u003ecf0ff41\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/vitejs/vite/commit/c917f1ef9d9c6ef131af96d89089d8ec680b18f2\"\u003e\u003ccode\u003ec917f1e\u003c/code\u003e\u003c/a\u003e release: v8.0.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/5d94d1bffdb2a15de9341194d89baec86ce1f693\"\u003e\u003ccode\u003e5d94d1b\u003c/code\u003e\u003c/a\u003e fix(html): handle trailing slash paths in transformIndexHtml (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22480\"\u003e#22480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/98b81632139d51820f82036e58d6fbbf122b77b3\"\u003e\u003ccode\u003e98b8163\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22471\"\u003e#22471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/96efc88570b6a6ddf1a910f106920cbac07b3cf0\"\u003e\u003ccode\u003e96efc88\u003c/code\u003e\u003c/a\u003e feat: update rolldown to 1.0.2 (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22484\"\u003e#22484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/ebf39a04329ddc6ba765e006a5d463680a952270\"\u003e\u003ccode\u003eebf39a0\u003c/code\u003e\u003c/a\u003e test(css): sass does not use main field (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22449\"\u003e#22449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/0ae2844ab6d6d1ccf78a2975b8132769fc35b302\"\u003e\u003ccode\u003e0ae2844\u003c/code\u003e\u003c/a\u003e refactor(glob): do not rewrite import path for absolute base (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22310\"\u003e#22310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/7cb728eb629cc677661f1bc52a044ffc0b87fc7f\"\u003e\u003ccode\u003e7cb728e\u003c/code\u003e\u003c/a\u003e chore(deps): update rolldown-related dependencies (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22470\"\u003e#22470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/b3132dacea9c6e0cf526cd9f0f09d850f577c262\"\u003e\u003ccode\u003eb3132da\u003c/code\u003e\u003c/a\u003e fix(optimizer): pass oxc jsx options to transformSync in dependency scan     ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/e8e9a34dcf2540139de558a10187630884d10217\"\u003e\u003ccode\u003ee8e9a34\u003c/code\u003e\u003c/a\u003e fix(dev): handle errors when sending messages to vite server (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22450\"\u003e#22450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/2c69495f250edf01132d4a20128de19dbe836086\"\u003e\u003ccode\u003e2c69495\u003c/code\u003e\u003c/a\u003e chore: remove irrelevant commits from changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitejs/vite/commits/v8.0.14/packages/vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite-plugin-dts` from 5.0.0 to 5.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/qmhc/unplugin-dts/blob/main/packages/vite-plugin-dts/CHANGELOG.md\"\u003evite-plugin-dts's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/qmhc/unplugin-dts/compare/v1.0.0-beta.7...v5.0.1\"\u003e5.0.1\u003c/a\u003e (2026-05-19)\u003c/h2\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/qmhc/unplugin-dts/commit/b77a250a6fd7e59617a558972cb99c1b3e0dc9b1\"\u003e\u003ccode\u003eb77a250\u003c/code\u003e\u003c/a\u003e release(vite-plugin-dts): v5.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qmhc/unplugin-dts/commit/c1a18b22d60e25c95570ed9a556d499383a0f7bd\"\u003e\u003ccode\u003ec1a18b2\u003c/code\u003e\u003c/a\u003e docs: split README into docs and clean up legacy descriptions\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/qmhc/unplugin-dts/commits/vite-plugin-dts@5.0.1/packages/vite-plugin-dts\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@playwright/test` from 1.59.1 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e@​playwright/test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛑 test.abort()\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-test#test-abort\"\u003etest.abort()\u003c/a\u003e aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003etest('does not publish to the shared page', async ({ page }) =\u0026gt; {\r\n  await page.route('**/publish', route =\u0026gt; {\r\n    test.abort('Tests must not publish to the shared page. Use the `clone` option.');\r\n    return route.abort();\r\n  });\r\n  // ...\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eNew APIs\u003c/h2\u003e\n\u003ch3\u003eBrowser, Context and Page\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/microsoft/playwright/commit/87bb9ddbd78f329df18c2b24847bc9409240cd07\"\u003e\u003ccode\u003e87bb9dd\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40747\"\u003e#40747\u003c/a\u003e): fix(yauzl): vendor yauzl with destroy-lifecycle fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9a9c51cb7d1b39fab51ca288e59f8ca38fd19910\"\u003e\u003ccode\u003e9a9c51c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40733\"\u003e#40733\u003c/a\u003e): chore(electron): revert \u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40184\"\u003e#40184\u003c/a\u003e (move Electron API to a s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/4b3b628663031bcaaeca907e337892263524634d\"\u003e\u003ccode\u003e4b3b628\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40736\"\u003e#40736\u003c/a\u003e): Revert \u0026quot;feat(electron): add timeout option to electronAp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f869f96bbe6607cc3b88b4ca96fd82f17b301b50\"\u003e\u003ccode\u003ef869f96\u003c/code\u003e\u003c/a\u003e chore: bump version to v1.60.0 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40714\"\u003e#40714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/7eb6918afadfb0dd5c7e94ca9ffbddd84d8fbb39\"\u003e\u003ccode\u003e7eb6918\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40710\"\u003e#40710\u003c/a\u003e): docs: release notes v1.60\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/118d2aa6076d82840decca15d96b48611b08e392\"\u003e\u003ccode\u003e118d2aa\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40693\"\u003e#40693\u003c/a\u003e): chore(python): formdata path type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/54012f5dcc586da2e5d6cccd75f13ca367b94579\"\u003e\u003ccode\u003e54012f5\u003c/code\u003e\u003c/a\u003e chore(deps): bump ip-address and express-rate-limit (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40680\"\u003e#40680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9fa531da5677a3807d6e1dccd22c5137339a44f7\"\u003e\u003ccode\u003e9fa531d\u003c/code\u003e\u003c/a\u003e fix(screencast): unblock frame ack when an async client disconnects (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40674\"\u003e#40674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/3649db560ff943e724185784d34f7db131a11961\"\u003e\u003ccode\u003e3649db5\u003c/code\u003e\u003c/a\u003e chore(mcp): bump default extension protocol to v2 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40678\"\u003e#40678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/bb6c00957f47ba04caad7fca75d426309a2d32d4\"\u003e\u003ccode\u003ebb6c009\u003c/code\u003e\u003c/a\u003e chore(extension): mark 0.2.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40679\"\u003e#40679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.59.1...v1.60.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite-plugin-pwa` from 1.2.0 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/releases\"\u003evite-plugin-pwa's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd vite 8 peer dependency support  -  by \u003ca href=\"https://github.com/Hermione-Granger-1176\"\u003e\u003ccode\u003e@​Hermione-Granger-1176\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e \u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/276af62\"\u003e\u003c!-- raw HTML omitted --\u003e(276af)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient\u003c/strong\u003e: Add onNeedReload callback  -  by \u003ca href=\"https://github.com/tomrehnstrom\"\u003e\u003ccode\u003e@​tomrehnstrom\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/fb30890\"\u003e\u003c!-- raw HTML omitted --\u003e(fb308)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/compare/v1.2.0...v1.3.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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/vite-pwa/vite-plugin-pwa/commit/05670fc15e1dc717c847c806e1d46794cdd4cddc\"\u003e\u003ccode\u003e05670fc\u003c/code\u003e\u003c/a\u003e chore: release v1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/207f86ef29e515e205db6211070e51acb2d5b6e7\"\u003e\u003ccode\u003e207f86e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/vite-pwa/vite-plugin-pwa/issues/899\"\u003e#899\u003c/a\u003e from rj-au/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/67f5000eac97ffb5480d4c1b7b3cbc7b5e0d43d9\"\u003e\u003ccode\u003e67f5000\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/vite-pwa/vite-plugin-pwa/issues/929\"\u003e#929\u003c/a\u003e from vite-pwa/userquin/chore-bump-workbox-to-7.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/a9646914a9cb50f60dd69c6c3dfcb83abba4f86d\"\u003e\u003ccode\u003ea964691\u003c/code\u003e\u003c/a\u003e chore: update workbox to 7.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/2432f659b1262c1e214619b70f481967393da2ef\"\u003e\u003ccode\u003e2432f65\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/vite-pwa/vite-plugin-pwa/issues/924\"\u003e#924\u003c/a\u003e from Hermione-Granger-1176/feat/add-vite-8-peer-dep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/34768187ee2c120c6cb6040a408bbae8bd4ec238\"\u003e\u003ccode\u003e3476818\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/vite-pwa/vite-plugin-pwa/issues/914\"\u003e#914\u003c/a\u003e from tomrehnstrom/feat/on-need-reload\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/276af62eeecf8b5513b80a7021f39be981e5b670\"\u003e\u003ccode\u003e276af62\u003c/code\u003e\u003c/a\u003e feat: add vite 8 peer dependency support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/4e1621588676db62c0c0944d64a35485e257f023\"\u003e\u003ccode\u003e4e16215\u003c/code\u003e\u003c/a\u003e chore: use \u003ccode\u003e\u0026quot;moduleResolution\u0026quot;: \u0026quot;bundler\u0026quot;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vite-pwa/vite-plugin-pwa/issues/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/fb30890423891165e2ee1a2f4bc2655842d1fc3c\"\u003e\u003ccode\u003efb30890\u003c/code\u003e\u003c/a\u003e feat(client): add onNeedReload callback\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/commit/3fc4b278bb2bd99c19607984d0583085e34607c3\"\u003e\u003ccode\u003e3fc4b27\u003c/code\u003e\u003c/a\u003e JSDOC: registerType: fix grammar and description\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vite-pwa/vite-plugin-pwa/compare/v1.2.0...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/jukka-matti/variscout/pull/246","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jukka-matti%2Fvariscout/issues/246","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/246/packages"}},{"old_version":"26.0.0","new_version":"29.1.1","update_type":"major","path":"/js","pr_created_at":"2026-05-30T08:04:43.000Z","version_change":"26.0.0 → 29.1.1","issue":{"uuid":"4553802859","node_id":"PR_kwDOSsDeBs7g6lIc","number":23,"state":"open","title":"Bump jsdom from 26.0.0 to 29.1.1 in /js","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-30T08:04:43.000Z","updated_at":"2026-05-30T08:04:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"jsdom","old_version":"26.0.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":"/js","ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 26.0.0 to 29.1.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v26.0.0...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=26.0.0\u0026new-version=29.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR 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/rmcode-benchmark/clean20260529-2327__keycloak__rmcode-dev__PR38446__20260530/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmcode-benchmark%2Fclean20260529-2327__keycloak__rmcode-dev__PR38446__20260530/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"}},{"old_version":"26.1.0","new_version":"29.1.1","update_type":"major","path":"/js","pr_created_at":"2026-05-30T07:34:44.000Z","version_change":"26.1.0 → 29.1.1","issue":{"uuid":"4553720608","node_id":"PR_kwDOSsBxvs7g6UgT","number":50,"state":"open","title":"Bump jsdom from 26.1.0 to 29.1.1 in /js","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-30T07:34:44.000Z","updated_at":"2026-05-30T07:34:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"jsdom","old_version":"26.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":"/js","ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 26.1.0 to 29.1.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v26.1.0...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=26.1.0\u0026new-version=29.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR 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/rmcode-benchmark/clean20260529-2327__keycloak-greptile__rmcode-dev__PR1__20260530/pull/50","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmcode-benchmark%2Fclean20260529-2327__keycloak-greptile__rmcode-dev__PR1__20260530/issues/50","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/50/packages"}},{"old_version":"25.0.1","new_version":"29.1.1","update_type":"major","path":null,"pr_created_at":"2026-05-30T07:11:13.000Z","version_change":"25.0.1 → 29.1.1","issue":{"uuid":"4553663097","node_id":"PR_kwDOSr_VCc7g6JTI","number":10,"state":"open","title":"Config(deps): Bump jsdom from 25.0.1 to 29.1.1","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-30T07:11:13.000Z","updated_at":"2026-05-30T07:11:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Config(deps): Bump","packages":[{"name":"jsdom","old_version":"25.0.1","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 25.0.1 to 29.1.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v25.0.1...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=25.0.1\u0026new-version=29.1.1)](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/patrickmarino/buildbase/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickmarino%2Fbuildbase/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"}},{"old_version":"29.0.1","new_version":"29.1.1","update_type":"minor","path":null,"pr_created_at":"2026-05-29T21:02:12.000Z","version_change":"29.0.1 → 29.1.1","issue":{"uuid":"4551608659","node_id":"PR_kwDOMYpPfc7gzkKk","number":418,"state":"open","title":"Bump the development-version-updates group across 1 directory with 72 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-29T21:02:12.000Z","updated_at":"2026-05-29T21:03:32.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"development-version-updates","update_count":72,"packages":[{"name":"@angular/build","old_version":"21.2.6","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/cli","old_version":"21.2.6","new_version":"21.2.13","repository_url":"https://github.com/angular/angular-cli"},{"name":"@angular/compiler-cli","old_version":"21.2.7","new_version":"21.2.15","repository_url":"https://github.com/angular/angular"},{"name":"@types/node","old_version":"24.12.2","new_version":"24.12.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"angular-eslint","old_version":"21.3.1","new_version":"21.4.0","repository_url":"https://github.com/angular-eslint/angular-eslint"},{"name":"cypress","old_version":"15.13.0","new_version":"15.16.0","repository_url":"https://github.com/cypress-io/cypress"},{"name":"eslint-plugin-cypress","old_version":"6.2.2","new_version":"6.4.1","repository_url":"https://github.com/cypress-io/eslint-plugin-cypress"},{"name":"eslint-plugin-prettier","old_version":"5.5.5","new_version":"5.5.6","repository_url":"https://github.com/prettier/eslint-plugin-prettier"},{"name":"jsdom","old_version":"29.0.1","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"start-server-and-test","old_version":"3.0.0","new_version":"3.0.5","repository_url":"https://github.com/bahmutov/start-server-and-test"},{"name":"typescript-eslint","old_version":"8.58.0","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"vitest","old_version":"4.1.2","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@babel/code-frame","old_version":"7.29.0","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/compat-data","old_version":"7.29.0","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/generator","old_version":"7.29.1","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-compilation-targets","old_version":"7.28.6","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-globals","old_version":"7.28.0","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-module-imports","old_version":"7.28.6","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-module-transforms","old_version":"7.28.6","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helpers","old_version":"7.29.2","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@emnapi/core","old_version":"1.9.2","new_version":"1.10.0","repository_url":"https://github.com/toyobayashi/emnapi"},{"name":"@emnapi/runtime","old_version":"1.9.2","new_version":"1.10.0","repository_url":"https://github.com/toyobayashi/emnapi"},{"name":"@exodus/bytes","old_version":"1.15.0","new_version":"1.15.1","repository_url":"https://github.com/ExodusOSS/bytes"},{"name":"@humanfs/core","old_version":"0.19.1","new_version":"0.19.2","repository_url":"https://github.com/humanwhocodes/humanfs"},{"name":"@humanfs/node","old_version":"0.16.7","new_version":"0.16.8","repository_url":"https://github.com/humanwhocodes/humanfs"},{"name":"@istanbuljs/schema","old_version":"0.1.3","new_version":"0.1.6","repository_url":"https://github.com/istanbuljs/schema"},{"name":"@sigstore/core","old_version":"3.2.0","new_version":"3.2.1","repository_url":"https://github.com/sigstore/sigstore-js"},{"name":"@sigstore/protobuf-specs","old_version":"0.5.0","new_version":"0.5.1","repository_url":"https://github.com/sigstore/protobuf-specs"},{"name":"@sigstore/verify","old_version":"3.1.0","new_version":"3.1.1","repository_url":"https://github.com/sigstore/sigstore-js"},{"name":"@tybys/wasm-util","old_version":"0.10.1","new_version":"0.10.2","repository_url":"https://github.com/toyobayashi/wasm-util"},{"name":"baseline-browser-mapping","old_version":"2.10.14","new_version":"2.10.32","repository_url":"https://github.com/web-platform-dx/baseline-browser-mapping"},{"name":"call-bind","old_version":"1.0.8","new_version":"1.0.9","repository_url":"https://github.com/ljharb/call-bind"},{"name":"caniuse-lite","old_version":"1.0.30001784","new_version":"1.0.30001793","repository_url":"https://github.com/browserslist/caniuse-lite"},{"name":"dayjs","old_version":"1.11.20","new_version":"1.11.21","repository_url":"https://github.com/iamkun/dayjs"},{"name":"electron-to-chromium","old_version":"1.5.331","new_version":"1.5.364","repository_url":"https://github.com/Kilian/electron-to-chromium"},{"name":"empathic","old_version":"2.0.0","new_version":"2.0.1","repository_url":"https://github.com/lukeed/empathic"},{"name":"es-abstract","old_version":"1.24.1","new_version":"1.24.2","repository_url":"https://github.com/ljharb/es-abstract"},{"name":"es-module-lexer","old_version":"2.0.0","new_version":"2.1.0","repository_url":"https://github.com/guybedford/es-module-lexer"},{"name":"es-object-atoms","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/ljharb/es-object-atoms"},{"name":"eslint-module-utils","old_version":"2.12.1","new_version":"2.13.0","repository_url":"https://github.com/import-js/eslint-plugin-import"},{"name":"eventsource-parser","old_version":"3.0.6","new_version":"3.1.0","repository_url":"https://github.com/rexxars/eventsource-parser"},{"name":"express-rate-limit","old_version":"8.5.1","new_version":"8.5.2","repository_url":"https://github.com/express-rate-limit/express-rate-limit"},{"name":"get-east-asian-width","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/sindresorhus/get-east-asian-width"},{"name":"get-tsconfig","old_version":"4.13.7","new_version":"4.14.0","repository_url":"https://github.com/privatenumber/get-tsconfig"},{"name":"hasown","old_version":"2.0.2","new_version":"2.0.4","repository_url":"https://github.com/inspect-js/hasOwn"},{"name":"hono","old_version":"4.12.18","new_version":"4.12.23","repository_url":"https://github.com/honojs/hono"},{"name":"immutable","old_version":"5.1.5","new_version":"5.1.6","repository_url":"https://github.com/immutable-js/immutable-js"},{"name":"is-core-module","old_version":"2.16.1","new_version":"2.16.2","repository_url":"https://github.com/inspect-js/is-core-module"},{"name":"jose","old_version":"6.2.2","new_version":"6.2.3","repository_url":"https://github.com/panva/jose"},{"name":"jsonfile","old_version":"6.2.0","new_version":"6.2.1","repository_url":"https://github.com/jprichardson/node-jsonfile"},{"name":"make-fetch-happen","old_version":"15.0.5","new_version":"15.0.6","repository_url":"https://github.com/npm/make-fetch-happen"},{"name":"msgpackr-extract","old_version":"3.0.3","new_version":"3.0.4","repository_url":"https://github.com/kriszyp/msgpackr-extract"},{"name":"node-gyp","old_version":"12.2.0","new_version":"12.3.0","repository_url":"https://github.com/nodejs/node-gyp"},{"name":"node-releases","old_version":"2.0.37","new_version":"2.0.46","repository_url":"https://github.com/chicoxyzzy/node-releases"},{"name":"postcss","old_version":"8.5.14","new_version":"8.5.15","repository_url":"https://github.com/postcss/postcss"},{"name":"rollup","old_version":"4.60.1","new_version":"4.60.4","repository_url":"https://github.com/rollup/rollup"},{"name":"safe-array-concat","old_version":"1.1.3","new_version":"1.1.4","repository_url":"https://github.com/ljharb/safe-array-concat"},{"name":"side-channel-list","old_version":"1.0.0","new_version":"1.0.1","repository_url":"https://github.com/ljharb/side-channel-list"},{"name":"sigstore","old_version":"4.1.0","new_version":"4.1.1","repository_url":"https://github.com/sigstore/sigstore-js"},{"name":"socks","old_version":"2.8.7","new_version":"2.8.9","repository_url":"https://github.com/JoshGlazebrook/socks"},{"name":"std-env","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/unjs/std-env"},{"name":"stdin-discarder","old_version":"0.3.1","new_version":"0.3.2","repository_url":"https://github.com/sindresorhus/stdin-discarder"},{"name":"systeminformation","old_version":"5.31.6","new_version":"5.31.7","repository_url":"https://github.com/sebhildebrandt/systeminformation"},{"name":"tar","old_version":"7.5.13","new_version":"7.5.15","repository_url":"https://github.com/isaacs/node-tar"},{"name":"tinyexec","old_version":"1.0.4","new_version":"1.2.3","repository_url":"https://github.com/tinylibs/tinyexec"},{"name":"tmp","old_version":"0.2.5","new_version":"0.2.7","repository_url":"https://github.com/raszi/node-tmp"},{"name":"type-is","old_version":"2.0.1","new_version":"2.1.0","repository_url":"https://github.com/jshttp/type-is"},{"name":"typed-array-length","old_version":"1.0.7","new_version":"1.0.8","repository_url":"https://github.com/inspect-js/typed-array-length"},{"name":"unrs-resolver","old_version":"1.11.1","new_version":"1.12.2","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"which-typed-array","old_version":"1.1.20","new_version":"1.1.21","repository_url":"https://github.com/inspect-js/which-typed-array"},{"name":"yaml","old_version":"2.8.3","new_version":"2.9.0","repository_url":"https://github.com/eemeli/yaml"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-version-updates group with 72 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@angular/build](https://github.com/angular/angular-cli) | `21.2.6` | `21.2.13` |\n| [@angular/cli](https://github.com/angular/angular-cli) | `21.2.6` | `21.2.13` |\n| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `21.2.7` | `21.2.15` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.12.2` | `24.12.4` |\n| [angular-eslint](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/angular-eslint) | `21.3.1` | `21.4.0` |\n| [cypress](https://github.com/cypress-io/cypress) | `15.13.0` | `15.16.0` |\n| [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) | `6.2.2` | `6.4.1` |\n| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | `5.5.5` | `5.5.6` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.0.1` | `29.1.1` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [start-server-and-test](https://github.com/bahmutov/start-server-and-test) | `3.0.0` | `3.0.5` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.58.0` | `8.60.0` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.2` | `4.1.7` |\n| [@babel/code-frame](https://github.com/babel/babel/tree/HEAD/packages/babel-code-frame) | `7.29.0` | `7.29.7` |\n| [@babel/compat-data](https://github.com/babel/babel/tree/HEAD/packages/babel-compat-data) | `7.29.0` | `7.29.7` |\n| [@babel/generator](https://github.com/babel/babel/tree/HEAD/packages/babel-generator) | `7.29.1` | `7.29.7` |\n| [@babel/helper-compilation-targets](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-compilation-targets) | `7.28.6` | `7.29.7` |\n| [@babel/helper-globals](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-globals) | `7.28.0` | `7.29.7` |\n| [@babel/helper-module-imports](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-module-imports) | `7.28.6` | `7.29.7` |\n| [@babel/helper-module-transforms](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-module-transforms) | `7.28.6` | `7.29.7` |\n| [@babel/helpers](https://github.com/babel/babel/tree/HEAD/packages/babel-helpers) | `7.29.2` | `7.29.7` |\n| [@emnapi/core](https://github.com/toyobayashi/emnapi) | `1.9.2` | `1.10.0` |\n| [@emnapi/runtime](https://github.com/toyobayashi/emnapi) | `1.9.2` | `1.10.0` |\n| [@exodus/bytes](https://github.com/ExodusOSS/bytes) | `1.15.0` | `1.15.1` |\n| [@humanfs/core](https://github.com/humanwhocodes/humanfs) | `0.19.1` | `0.19.2` |\n| [@humanfs/node](https://github.com/humanwhocodes/humanfs/tree/HEAD/packages/node) | `0.16.7` | `0.16.8` |\n| [@istanbuljs/schema](https://github.com/istanbuljs/schema) | `0.1.3` | `0.1.6` |\n| [@sigstore/core](https://github.com/sigstore/sigstore-js) | `3.2.0` | `3.2.1` |\n| [@sigstore/protobuf-specs](https://github.com/sigstore/protobuf-specs) | `0.5.0` | `0.5.1` |\n| [@sigstore/verify](https://github.com/sigstore/sigstore-js) | `3.1.0` | `3.1.1` |\n| [@tybys/wasm-util](https://github.com/toyobayashi/wasm-util) | `0.10.1` | `0.10.2` |\n| [baseline-browser-mapping](https://github.com/web-platform-dx/baseline-browser-mapping) | `2.10.14` | `2.10.32` |\n| [call-bind](https://github.com/ljharb/call-bind) | `1.0.8` | `1.0.9` |\n| [caniuse-lite](https://github.com/browserslist/caniuse-lite) | `1.0.30001784` | `1.0.30001793` |\n| [dayjs](https://github.com/iamkun/dayjs) | `1.11.20` | `1.11.21` |\n| [electron-to-chromium](https://github.com/Kilian/electron-to-chromium) | `1.5.331` | `1.5.364` |\n| [empathic](https://github.com/lukeed/empathic) | `2.0.0` | `2.0.1` |\n| [es-abstract](https://github.com/ljharb/es-abstract) | `1.24.1` | `1.24.2` |\n| [es-module-lexer](https://github.com/guybedford/es-module-lexer) | `2.0.0` | `2.1.0` |\n| [es-object-atoms](https://github.com/ljharb/es-object-atoms) | `1.1.1` | `1.1.2` |\n| [eslint-module-utils](https://github.com/import-js/eslint-plugin-import/tree/HEAD/utils) | `2.12.1` | `2.13.0` |\n| [eventsource-parser](https://github.com/rexxars/eventsource-parser) | `3.0.6` | `3.1.0` |\n| [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit) | `8.5.1` | `8.5.2` |\n| [get-east-asian-width](https://github.com/sindresorhus/get-east-asian-width) | `1.5.0` | `1.6.0` |\n| [get-tsconfig](https://github.com/privatenumber/get-tsconfig) | `4.13.7` | `4.14.0` |\n| [hasown](https://github.com/inspect-js/hasOwn) | `2.0.2` | `2.0.4` |\n| [hono](https://github.com/honojs/hono) | `4.12.18` | `4.12.23` |\n| [immutable](https://github.com/immutable-js/immutable-js) | `5.1.5` | `5.1.6` |\n| [is-core-module](https://github.com/inspect-js/is-core-module) | `2.16.1` | `2.16.2` |\n| [jose](https://github.com/panva/jose) | `6.2.2` | `6.2.3` |\n| [jsonfile](https://github.com/jprichardson/node-jsonfile) | `6.2.0` | `6.2.1` |\n| [make-fetch-happen](https://github.com/npm/make-fetch-happen) | `15.0.5` | `15.0.6` |\n| [msgpackr-extract](https://github.com/kriszyp/msgpackr-extract) | `3.0.3` | `3.0.4` |\n| [node-gyp](https://github.com/nodejs/node-gyp) | `12.2.0` | `12.3.0` |\n| [node-releases](https://github.com/chicoxyzzy/node-releases) | `2.0.37` | `2.0.46` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.14` | `8.5.15` |\n| [rollup](https://github.com/rollup/rollup) | `4.60.1` | `4.60.4` |\n| [safe-array-concat](https://github.com/ljharb/safe-array-concat) | `1.1.3` | `1.1.4` |\n| [side-channel-list](https://github.com/ljharb/side-channel-list) | `1.0.0` | `1.0.1` |\n| [sigstore](https://github.com/sigstore/sigstore-js) | `4.1.0` | `4.1.1` |\n| [socks](https://github.com/JoshGlazebrook/socks) | `2.8.7` | `2.8.9` |\n| [std-env](https://github.com/unjs/std-env) | `4.0.0` | `4.1.0` |\n| [stdin-discarder](https://github.com/sindresorhus/stdin-discarder) | `0.3.1` | `0.3.2` |\n| [systeminformation](https://github.com/sebhildebrandt/systeminformation) | `5.31.6` | `5.31.7` |\n| [tar](https://github.com/isaacs/node-tar) | `7.5.13` | `7.5.15` |\n| [tinyexec](https://github.com/tinylibs/tinyexec) | `1.0.4` | `1.2.3` |\n| [tmp](https://github.com/raszi/node-tmp) | `0.2.5` | `0.2.7` |\n| [type-is](https://github.com/jshttp/type-is) | `2.0.1` | `2.1.0` |\n| [typed-array-length](https://github.com/inspect-js/typed-array-length) | `1.0.7` | `1.0.8` |\n| [unrs-resolver](https://github.com/unrs/unrs-resolver) | `1.11.1` | `1.12.2` |\n| [which-typed-array](https://github.com/inspect-js/which-typed-array) | `1.1.20` | `1.1.21` |\n| [yaml](https://github.com/eemeli/yaml) | `2.8.3` | `2.9.0` |\n\n\nUpdates `@angular/build` from 21.2.6 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e@​angular/build's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/3c6d26a316cd6aea455c19b249dc6852d84a698e\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c6d26a31-fix-green\" alt=\"fix - 3c6d26a31\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unconditional CORS wildcard from webpack dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2b3e95517358f8ef3482d5319d970f4774e45ad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/2b3e95517-fix-green\" alt=\"fix - 2b3e95517\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eassert that asset input paths are within workspace root\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cbad57579-fix-green\" alt=\"fix - cbad57579\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbd63b7a5a1049bc56b9ddf6edf6563a1f2d9ace\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbd63b7a5-fix-green\" alt=\"fix - bbd63b7a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erobustly parse npm manifest from array\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/eafe1a719fd3fecd5263e0a8371200b4b1ff4bb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/eafe1a719-fix-green\" alt=\"fix - eafe1a719\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow all hosts in common engine rendering options to prevent validation errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7a116a80d7e6db341fd003737285d1a9db10ba6c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a116a80d-fix-green\" alt=\"fix - 7a116a80d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove stateful flag from URL_PARAMETER_REGEXP\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.10\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bb861191328fc2d25bd5ee99b0c8edc5e49d3a7d\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb8611913-fix-green\" alt=\"fix - bb8611913\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict MCP workspace access to allowed client roots during resolution\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.9\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e7abeb5c74024daf125070c9b4f7f8d2426bab66\"\u003e\u003cimg src=\"https://img.shields.io/badge/e7abeb5c7-fix-green\" alt=\"fix - e7abeb5c7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd missing imports for focus and skip APIs in refactor-jasmine-vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/233deef01288c6aa39a048d6bd66a1f09595dc15\"\u003e\u003cimg src=\"https://img.shields.io/badge/233deef01-fix-green\" alt=\"fix - 233deef01\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix broken img ref in ai-tutor\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7cea9885c64a747b391b74e6434cdf005c843766\"\u003e\u003cimg src=\"https://img.shields.io/badge/7cea9885c-fix-green\" alt=\"fix - 7cea9885c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce initial package manager workspace awareness\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b1a5b7434323eb383df1f53c389fe9dc948a785\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b1a5b743-fix-green\" alt=\"fix - 5b1a5b743\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove standalone true ref in ai tutor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/94023f62c5b51a669ff3187cc062057f82c79c52\"\u003e\u003cimg src=\"https://img.shields.io/badge/94023f62c-fix-green\" alt=\"fix - 94023f62c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce trustProxyHeaders option to safely validate and sanitize proxy headers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5ffe5c309a92e7fd42f1059171924c5942f35c36\"\u003e\u003cimg src=\"https://img.shields.io/badge/5ffe5c309-fix-green\" alt=\"fix - 5ffe5c309\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for configuring trusted proxy headers via environment variable\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/930ada9b73c5172d57830ce42a5a336ae9483a54\"\u003e\u003cimg src=\"https://img.shields.io/badge/930ada9b7-fix-green\" alt=\"fix - 930ada9b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edecode route segments when building and matching route tree\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e@​angular/build's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/3c6d26a316cd6aea455c19b249dc6852d84a698e\"\u003e3c6d26a31\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove unconditional CORS wildcard from webpack dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2b3e95517358f8ef3482d5319d970f4774e45ad0\"\u003e2b3e95517\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eassert that asset input paths are within workspace root\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.1 (2026-05-21)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7ac8e5f0a268994a8fcfebbf56f76e994b6207d\"\u003ea7ac8e5f0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport spy call arguments migration in refactor-jasmine-vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/327cc24144ab7e0e36ff3d6e9a67585588f2f69f\"\u003e327cc2414\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eassert that asset input paths are within workspace root\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/93d3527985f8aa1950f62ab42a88c0a74ae0b051\"\u003e93d352798\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.12 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003ecbad57579\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/287e4e81d257014637c2a2daa00dd88811f87fbc\"\u003e\u003ccode\u003e287e4e8\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.13 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/3c6d26a316cd6aea455c19b249dc6852d84a698e\"\u003e\u003ccode\u003e3c6d26a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e): remove unconditional CORS wildcard from w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2b3e95517358f8ef3482d5319d970f4774e45ad0\"\u003e\u003ccode\u003e2b3e955\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): assert that asset input paths are within workspace root\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9dcef4d6f7e61cef518d332a17ea0889b93e8d5c\"\u003e\u003ccode\u003e9dcef4d\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.12 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/feec5bfe03cb6cc5c3ebbc472643ef8f5e872b37\"\u003e\u003ccode\u003efeec5bf\u003c/code\u003e\u003c/a\u003e refactor(\u003ccode\u003e@​angular/build\u003c/code\u003e): add missing \u003ccode\u003eOutputFile\u003c/code\u003e import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/48c17e8a9b9a4676b58a4677bfc920934f2a7883\"\u003e\u003ccode\u003e48c17e8\u003c/code\u003e\u003c/a\u003e docs: update JSDoc return tag to \u003ccode\u003e@return\u003c/code\u003e and fix description in registry.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003e\u003ccode\u003ecbad575\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): ignore virtual esbuild paths with (disabled):\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6cc934921befc1e972d628d8164f55a230e9b883\"\u003e\u003ccode\u003e6cc9349\u003c/code\u003e\u003c/a\u003e docs: update ng.ts render function documentation to reflect removal of render...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/00e366320108b39e60e67d28d45e5bcc6a044546\"\u003e\u003ccode\u003e00e3663\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.11 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/eafe1a719fd3fecd5263e0a8371200b4b1ff4bb9\"\u003e\u003ccode\u003eeafe1a7\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/ssr\u003c/code\u003e): allow all hosts in common engine rendering options to prev...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v21.2.6...v21.2.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 21.2.6 to 21.2.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e@​angular/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.13\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/3c6d26a316cd6aea455c19b249dc6852d84a698e\"\u003e\u003cimg src=\"https://img.shields.io/badge/3c6d26a31-fix-green\" alt=\"fix - 3c6d26a31\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove unconditional CORS wildcard from webpack dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2b3e95517358f8ef3482d5319d970f4774e45ad0\"\u003e\u003cimg src=\"https://img.shields.io/badge/2b3e95517-fix-green\" alt=\"fix - 2b3e95517\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eassert that asset input paths are within workspace root\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.12\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cbad57579-fix-green\" alt=\"fix - cbad57579\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.11\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbd63b7a5a1049bc56b9ddf6edf6563a1f2d9ace\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbd63b7a5-fix-green\" alt=\"fix - bbd63b7a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erobustly parse npm manifest from array\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/eafe1a719fd3fecd5263e0a8371200b4b1ff4bb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/eafe1a719-fix-green\" alt=\"fix - eafe1a719\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow all hosts in common engine rendering options to prevent validation errors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7a116a80d7e6db341fd003737285d1a9db10ba6c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7a116a80d-fix-green\" alt=\"fix - 7a116a80d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove stateful flag from URL_PARAMETER_REGEXP\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.10\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bb861191328fc2d25bd5ee99b0c8edc5e49d3a7d\"\u003e\u003cimg src=\"https://img.shields.io/badge/bb8611913-fix-green\" alt=\"fix - bb8611913\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestrict MCP workspace access to allowed client roots during resolution\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.9\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e7abeb5c74024daf125070c9b4f7f8d2426bab66\"\u003e\u003cimg src=\"https://img.shields.io/badge/e7abeb5c7-fix-green\" alt=\"fix - e7abeb5c7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd missing imports for focus and skip APIs in refactor-jasmine-vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/233deef01288c6aa39a048d6bd66a1f09595dc15\"\u003e\u003cimg src=\"https://img.shields.io/badge/233deef01-fix-green\" alt=\"fix - 233deef01\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix broken img ref in ai-tutor\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7cea9885c64a747b391b74e6434cdf005c843766\"\u003e\u003cimg src=\"https://img.shields.io/badge/7cea9885c-fix-green\" alt=\"fix - 7cea9885c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce initial package manager workspace awareness\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b1a5b7434323eb383df1f53c389fe9dc948a785\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b1a5b743-fix-green\" alt=\"fix - 5b1a5b743\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove standalone true ref in ai tutor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/94023f62c5b51a669ff3187cc062057f82c79c52\"\u003e\u003cimg src=\"https://img.shields.io/badge/94023f62c-fix-green\" alt=\"fix - 94023f62c\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce trustProxyHeaders option to safely validate and sanitize proxy headers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5ffe5c309a92e7fd42f1059171924c5942f35c36\"\u003e\u003cimg src=\"https://img.shields.io/badge/5ffe5c309-fix-green\" alt=\"fix - 5ffe5c309\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd support for configuring trusted proxy headers via environment variable\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/930ada9b73c5172d57830ce42a5a336ae9483a54\"\u003e\u003cimg src=\"https://img.shields.io/badge/930ada9b7-fix-green\" alt=\"fix - 930ada9b7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edecode route segments when building and matching route tree\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e@​angular/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.13 (2026-05-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/3c6d26a316cd6aea455c19b249dc6852d84a698e\"\u003e3c6d26a31\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eremove unconditional CORS wildcard from webpack dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2b3e95517358f8ef3482d5319d970f4774e45ad0\"\u003e2b3e95517\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eassert that asset input paths are within workspace root\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.1 (2026-05-21)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7ac8e5f0a268994a8fcfebbf56f76e994b6207d\"\u003ea7ac8e5f0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport spy call arguments migration in refactor-jasmine-vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/327cc24144ab7e0e36ff3d6e9a67585588f2f69f\"\u003e327cc2414\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eassert that asset input paths are within workspace root\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/93d3527985f8aa1950f62ab42a88c0a74ae0b051\"\u003e93d352798\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.12 (2026-05-20)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003ecbad57579\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore virtual esbuild paths with (disabled):\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-rc.0 (2026-05-13)\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/287e4e81d257014637c2a2daa00dd88811f87fbc\"\u003e\u003ccode\u003e287e4e8\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.13 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/3c6d26a316cd6aea455c19b249dc6852d84a698e\"\u003e\u003ccode\u003e3c6d26a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e): remove unconditional CORS wildcard from w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2b3e95517358f8ef3482d5319d970f4774e45ad0\"\u003e\u003ccode\u003e2b3e955\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): assert that asset input paths are within workspace root\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9dcef4d6f7e61cef518d332a17ea0889b93e8d5c\"\u003e\u003ccode\u003e9dcef4d\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.12 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/feec5bfe03cb6cc5c3ebbc472643ef8f5e872b37\"\u003e\u003ccode\u003efeec5bf\u003c/code\u003e\u003c/a\u003e refactor(\u003ccode\u003e@​angular/build\u003c/code\u003e): add missing \u003ccode\u003eOutputFile\u003c/code\u003e import\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/48c17e8a9b9a4676b58a4677bfc920934f2a7883\"\u003e\u003ccode\u003e48c17e8\u003c/code\u003e\u003c/a\u003e docs: update JSDoc return tag to \u003ccode\u003e@return\u003c/code\u003e and fix description in registry.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2\"\u003e\u003ccode\u003ecbad575\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): ignore virtual esbuild paths with (disabled):\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6cc934921befc1e972d628d8164f55a230e9b883\"\u003e\u003ccode\u003e6cc9349\u003c/code\u003e\u003c/a\u003e docs: update ng.ts render function documentation to reflect removal of render...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/00e366320108b39e60e67d28d45e5bcc6a044546\"\u003e\u003ccode\u003e00e3663\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.11 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/eafe1a719fd3fecd5263e0a8371200b4b1ff4bb9\"\u003e\u003ccode\u003eeafe1a7\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/ssr\u003c/code\u003e): allow all hosts in common engine rendering options to prev...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v21.2.6...v21.2.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/compiler-cli` from 21.2.7 to 21.2.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/releases\"\u003e@​angular/compiler-cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.15\u003c/h2\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e\u003cimg src=\"https://img.shields.io/badge/7f4ac78994-fix-green\" alt=\"fix - 7f4ac78994\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e\u003cimg src=\"https://img.shields.io/badge/300f61feb3-fix-green\" alt=\"fix - 300f61feb3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b07f47bd6-fix-green\" alt=\"fix - 0b07f47bd6\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler-cli/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003e\u003cimg src=\"https://img.shields.io/badge/eb1cbbf2eb-fix-green\" alt=\"fix - eb1cbbf2eb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003e\u003cimg src=\"https://img.shields.io/badge/cc1378d54b-fix-green\" alt=\"fix - cc1378d54b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler-cli/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e\u003cimg src=\"https://img.shields.io/badge/782e01594e-fix-green\" alt=\"fix - 782e01594e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler-cli/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003e\u003cimg src=\"https://img.shields.io/badge/ff12fe55ac-fix-green\" alt=\"fix - ff12fe55ac\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler-cli/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003e\u003cimg src=\"https://img.shields.io/badge/e6fe77cc97-fix-green\" alt=\"fix - e6fe77cc97\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003e\u003cimg src=\"https://img.shields.io/badge/daaf32937f-fix-green\" alt=\"fix - daaf32937f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler-cli/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003e\u003cimg src=\"https://img.shields.io/badge/dada86e43d-fix-green\" alt=\"fix - dada86e43d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://github.com/angular/angular/tree/HEAD/packages/compiler-cli/issues/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e\u003cimg src=\"https://img.shields.io/badge/582a417bd2-fix-green\" alt=\"fix - 582a417bd2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e\u003cimg src=\"https://img.shields.io/badge/5c6d6df34b-fix-green\" alt=\"fix - 5c6d6df34b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e\u003cimg src=\"https://img.shields.io/badge/37e8aadf87-fix-green\" alt=\"fix - 37e8aadf87\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e\u003cimg src=\"https://img.shields.io/badge/72696e244e-fix-green\" alt=\"fix - 72696e244e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bd49341d-fix-green\" alt=\"fix - b8bd49341d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ca32fc1000-fix-green\" alt=\"fix - ca32fc1000\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.14\u003c/h2\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003cimg src=\"https://img.shields.io/badge/68282dff9f-fix-green\" alt=\"fix - 68282dff9f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/c0f52272ed337d4776bd4178cbbdc7f32037500f\"\u003e\u003cimg src=\"https://img.shields.io/badge/c0f52272ed-fix-green\" alt=\"fix - c0f52272ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edo not insert todo when migrating void \u003ca href=\"https://github.com/Output\"\u003e\u003ccode\u003e@​Output\u003c/code\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/938a7f3eddda97a39edb9edcc8b4dd970858b3a2\"\u003e\u003cimg src=\"https://img.shields.io/badge/938a7f3edd-fix-green\" alt=\"fix - 938a7f3edd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003emakes resource URL sanitizer lookup case-insensitive\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0fb272419407a64a0a47096b03a911f4e7e83d79\"\u003e\u003cimg src=\"https://img.shields.io/badge/0fb2724194-fix-green\" alt=\"fix - 0fb2724194\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ereject script element as a dynamic component host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/49113ac0eff852d987b5acb28a9bbda0242842cd\"\u003e\u003cimg src=\"https://img.shields.io/badge/49113ac0ef-fix-green\" alt=\"fix - 49113ac0ef\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evisit ICU expressions in signal migration schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003erouter\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular/blob/main/CHANGELOG.md\"\u003e@​angular/compiler-cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.15 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecommon\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/7f4ac78994bff1576ab33f3ce48f95c17f40b4d8\"\u003e7f4ac78994\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd upper bounds for digitsInfo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/300f61feb3a534bfddf16fcbd240f97b32249699\"\u003e300f61feb3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize placeholder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/0b07f47bd6598ae6bd5b75a375e2c817a3c0f243\"\u003e0b07f47bd6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names with custom namespaces in DomElementSchemaRegistry (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/eb1cbbf2eb5833219a367a61c04eb07aaa36cc29\"\u003eeb1cbbf2eb\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/cc1378d54bd93f3882d732261be8e66720eb71b2\"\u003ecc1378d54b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize dynamic href and xlink:href bindings on SVG a elements (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/782e01594e2ad9134c7385dcf3b518101b23ccab\"\u003e782e01594e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003estrip namespaced SVG script elements during template compilation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ecore\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ff12fe55ace5e861ba261afb4c0480ff3c40a192\"\u003eff12fe55ac\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize tag names in runtime i18n attribute security context lookup (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/e6fe77cc97fd10351687416f938bf754aff4eb9f\"\u003ee6fe77cc97\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esanitize meta selectors\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/daaf32937fd5c46e411b26f7c082613716fe9550\"\u003edaaf32937f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esupport prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/dada86e43d847204f714d1a933084617ab941c0a\"\u003edada86e43d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esynchronize core sanitization schema with compiler (\u003ca href=\"https://redirect.github.com/angular/angular/pull/68925\"\u003e#68925\u003c/a\u003e)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003ehttp\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/582a417bd27fdaf989e5065dbcdf1ad752faf70c\"\u003e582a417bd2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexclude withCredentials requests from transfer cache\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/5c6d6df34bbeff3ce98f3b35875444f925cc8f51\"\u003e5c6d6df34b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eskip TransferCache for cookie-bearing requests by default\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eplatform-server\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/37e8aadf87b4facfcaf002a1557f8c393a362d97\"\u003e37e8aadf87\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent SSRF bypasses via backslash URLs in HttpClient\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/72696e244ed7646cca9ab9afc7769a2163943bda\"\u003e72696e244e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esecure location and document initialization against SSRF and path hijack\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003eservice-worker\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/b8bd49341ddcee10d119a9d4aa8e5736e4e5da53\"\u003eb8bd49341d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves explicit 'credentials: omit' in asset requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/ca32fc10001301e6174804f9abcfba62252334f4\"\u003eca32fc1000\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ePreserves HTTP cache mode in asset group requests\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular/commit/6ea6379123a7b0e191f8b9f66dfb74ca29659a6c\"\u003e6ea6379123\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent namespaced SVG \u003c!-- raw HTML omitted --\u003e elements from being stripped\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-05-28)\u003c/h1\u003e\n\u003ch3\u003ecompiler\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/angular/angular/commit/29ceeffd40a2250eb51ac34af22d49e85b878922\"\u003e\u003ccode\u003e29ceeff\u003c/code\u003e\u003c/a\u003e docs: fix typos in source code comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/68282dff9f9ef46540cca4bd38fc1ab739c8a783\"\u003e\u003ccode\u003e68282df\u003c/code\u003e\u003c/a\u003e fix(compiler): strip namespaced SVG script elements during template compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/d1736efc32435090970a5c878c1c82eb5be21a49\"\u003e\u003ccode\u003ed1736ef\u003c/code\u003e\u003c/a\u003e docs(docs-infra): Show function args\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/fc434c1d0a14309c81e3b4c46b0a48a65fba9bff\"\u003e\u003ccode\u003efc434c1\u003c/code\u003e\u003c/a\u003e refactor(compiler-cli): Remove unused properties of IndexedComponent interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/49a133aeaf979389436515adfcb9c39b12a6ef3b\"\u003e\u003ccode\u003e49a133a\u003c/code\u003e\u003c/a\u003e refactor(compiler-cli): drop \u003ca href=\"https://github.com/ts-ignore\"\u003e\u003ccode\u003e@​ts-ignore\u003c/code\u003e\u003c/a\u003e around jsDocParsingMode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/1c6553e97d9655d8c48fbf625987fae86f9cd947\"\u003e\u003ccode\u003e1c6553e\u003c/code\u003e\u003c/a\u003e fix(core): disallow event attribute bindings in host bindings unconditionally\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c39f7708a67c3a4a8409d062e89a8ff777170a23\"\u003e\u003ccode\u003ec39f770\u003c/code\u003e\u003c/a\u003e refactor(compiler): Update indexer API to be generic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/c2b441af6d9b8d15bc8de6c0e0d098a4b782cf03\"\u003e\u003ccode\u003ec2b441a\u003c/code\u003e\u003c/a\u003e test: add NgModule compliance test with 'bootstrap' \u0026amp; local compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/a24dcfd1ecbf4d66b13e40e79c5e7d0e1052b856\"\u003e\u003ccode\u003ea24dcfd\u003c/code\u003e\u003c/a\u003e refactor(compiler-cli): remove reflectionhost from environment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular/commit/4f5d8a2c0b5e38d4debc4293945270cea4a9590d\"\u003e\u003ccode\u003e4f5d8a2\u003c/code\u003e\u003c/a\u003e fix(compiler): let declaration span not including end character\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular/commits/v21.2.15/packages/compiler-cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 24.12.2 to 24.12.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `angular-eslint` from 21.3.1 to 21.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular-eslint/angular-eslint/releases\"\u003eangular-eslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.4.0\u003c/h2\u003e\n\u003ch2\u003e21.4.0 (2026-05-13)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebuilder:\u003c/strong\u003e add apply-suppressions option (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2974\"\u003e#2974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin-template:\u003c/strong\u003e [cyclomatic-complexity] add \u003ccode\u003evariant\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2976\"\u003e#2976\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate typescript-eslint packages to v8.57.0 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2955\"\u003e#2955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate dependency \u003ccode\u003e@​angular/compiler\u003c/code\u003e to v21.2.6 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2961\"\u003e#2961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate dependency eslint to v10.1.0 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2983\"\u003e#2983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate dependency \u003ccode\u003e@​angular/compiler\u003c/code\u003e to v21.2.8 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2996\"\u003e#2996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate typescript-eslint packages to v8.58.1 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2984\"\u003e#2984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate dependency eslint to v10.2.0 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2999\"\u003e#2999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate dependency \u003ccode\u003e@​angular/compiler\u003c/code\u003e to v21.2.9 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/3010\"\u003e#3010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate typescript-eslint packages to v8.59.2 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/3005\"\u003e#3005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate dependency \u003ccode\u003e@​angular/compiler\u003c/code\u003e to v21.2.11 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/3019\"\u003e#3019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate dependency eslint to v10.3.0 (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/3013\"\u003e#3013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e append fixes in prefer-on-push-change-detection, use-injectable-provided-in (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2969\"\u003e#2969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-template-literal] do not check inline templates (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2959\"\u003e#2959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin-template:\u003c/strong\u003e [no-non-null-assertion] report nested arrays (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2991\"\u003e#2991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin-template:\u003c/strong\u003e [eqeqeq]  could not destructure null (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eschematics:\u003c/strong\u003e sync application schema with upstream \u003ccode\u003e@​schematics/angular\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/angular-eslint/angular-eslint/pull/3027\"\u003e#3027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDave \u003ca href=\"https://github.com/reduckted\"\u003e\u003ccode\u003e@​reduckted\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvgeny Stepanovych \u003ca href=\"https://github.com/undsoft\"\u003e\u003ccode\u003e@​undsoft\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFinn Bayer\u003c/li\u003e\n\u003cli\u003egithubuser578 \u003ca href=\"https://github.com/githubuser578\"\u003e\u003ccode\u003e@​githubuser578\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGuillaume DROUARD\u003c/li\u003e\n\u003cli\u003eJames Henry \u003ca href=\"https://github.com/JamesHenry\"\u003e\u003ccode\u003e@​JamesHenry\u003c/code\u003e\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/angular-eslint/angular-eslint/blob/main/packages/angular-eslint/CHANGELOG.md\"\u003eangular-eslint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.4.0 (2026-05-13)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for angular-eslint to align it with other projects, there were no code changes.\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/angular-eslint/angular-eslint/commit/0a774c724574c3c35acf9ba432f60269e7418938\"\u003e\u003ccode\u003e0a774c7\u003c/code\u003e\u003c/a\u003e chore(release): publish 21.4.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular-eslint/angular-eslint/commits/v21.4.0/packages/angular-eslint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cypress` from 15.13.0 to 15.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cypress-io/cypress/releases\"\u003ecypress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev15.16.0\u003c/h2\u003e\n\u003cp\u003eChangelog: \u003ca href=\"https://docs.cypress.io/app/references/changelog#15-16-0\"\u003ehttps://docs.cypress.io/app/references/changelog#15-16-0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev15.15.0\u003c/h2\u003e\n\u003cp\u003eChangelog: \u003ca href=\"https://docs.cypress.io/app/references/changelog#15-15-0\"\u003ehttps://docs.cypress.io/app/references/changelog#15-15-0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev15.14.2\u003c/h2\u003e\n\u003cp\u003eChangelog: \u003ca href=\"https://docs.cypress.io/app/references/changelog#15-14-2\"\u003ehttps://docs.cypress.io/app/references/changelog#15-14-2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev15.14.1\u003c/h2\u003e\n\u003cp\u003eChangelog: \u003ca href=\"https://docs.cypress.io/app/references/changelog#15-14-1\"\u003ehttps://docs.cypress.io/app/references/changelog#15-14-1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev15.14.0\u003c/h2\u003e\n\u003cp\u003eChangelog: \u003ca href=\"https://docs.cypress.io/app/references/changelog#15-14-0\"\u003ehttps://docs.cypress.io/app/references/changelog#15-14-0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev15.13.1\u003c/h2\u003e\n\u003cp\u003eChangelog: \u003ca href=\"https://docs.cypress.io/app/references/changelog#15-13-1\"\u003ehttps://docs.cypress.io/app/references/changelog#15-13-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/cypress-io/cypress/commit/22aaf2371462ec13f138fd96c11e8f9f885ed575\"\u003e\u003ccode\u003e22aaf23\u003c/code\u003e\u003c/a\u003e chore: bump cypress-example-kitchensink to 6.0.2 for release (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33921\"\u003e#33921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/448155c6248aadc696c7add55f96c4cc1a01deca\"\u003e\u003ccode\u003e448155c\u003c/code\u003e\u003c/a\u003e fix(cli): use verbose Listr renderer in CI for install + verify output (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33890\"\u003e#33890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/01cd8873d3e2b50279d581407d0ea98168af85fb\"\u003e\u003ccode\u003e01cd887\u003c/code\u003e\u003c/a\u003e chore: surface wrong-passphrase client cert PEM errors consistently in OpenSS...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/4534d04c861ef14fbcc06bf7331cc4d8656b977c\"\u003e\u003ccode\u003e4534d04\u003c/code\u003e\u003c/a\u003e fix: pin \u003ccode\u003e@​sinonjs/fake-timers\u003c/code\u003e type resolution in bundled sinon types (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33886\"\u003e#33886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/d7cd85a43d1a64d2388bf4ff0876989e47093213\"\u003e\u003ccode\u003ed7cd85a\u003c/code\u003e\u003c/a\u003e refactor(server): convert unit test specs to TypeScript (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33899\"\u003e#33899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/2d5366d794e642cd8f6d057cfd443b08d72e9476\"\u003e\u003ccode\u003e2d5366d\u003c/code\u003e\u003c/a\u003e test: preserve allowCypressEnv in subscription test config rewrites (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33910\"\u003e#33910\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/fcee42556c8145c1a347864feb00e2617ee18db7\"\u003e\u003ccode\u003efcee425\u003c/code\u003e\u003c/a\u003e chore: updating v8 snapshot cache (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33909\"\u003e#33909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/986c3b2b886bbca3a7b29c1960439c614d70a300\"\u003e\u003ccode\u003e986c3b2\u003c/code\u003e\u003c/a\u003e chore: updating v8 snapshot cache (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33903\"\u003e#33903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/de76502f4d7600126a5c45ed7601ed77468defd2\"\u003e\u003ccode\u003ede76502\u003c/code\u003e\u003c/a\u003e chore: Update v8 snapshot cache - linux (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33875\"\u003e#33875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/247a0333a8a5d97e80079bce65def84a70560c3f\"\u003e\u003ccode\u003e247a033\u003c/code\u003e\u003c/a\u003e chore: updating v8 snapshot cache (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33901\"\u003e#33901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cypress-io/cypress/compare/v15.13.0...v15.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-cypress` from 6.2.2 to 6.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/releases\"\u003eeslint-plugin-cypress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.4.0...v6.4.1\"\u003e6.4.1\u003c/a\u003e (2026-05-06)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency globals to ^17.6.0 (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/340\"\u003e#340\u003c/a\u003e) (\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/11f8df6dc6be97c9c8d75687f2c180ecf7f238be\"\u003e11f8df6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.4.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.3.1...v6.4.0\"\u003e6.4.0\u003c/a\u003e (2026-04-28)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport chains started of helper functions in unsafe-to-chain-command (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/307\"\u003e#307\u003c/a\u003e) (\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/bdf94f2b9d66fa2282d455b03763acb7cb11fc12\"\u003ebdf94f2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.3.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.3.0...v6.3.1\"\u003e6.3.1\u003c/a\u003e (2026-04-14)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency globals to ^17.5.0 (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/326\"\u003e#326\u003c/a\u003e) (\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/257d0ec1d86463550fec3f796e5c6b7917e02c6f\"\u003e257d0ec\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.3.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.2.3...v6.3.0\"\u003e6.3.0\u003c/a\u003e (2026-04-09)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadded no-and rule to ensure .and() follows certain commands (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/310\"\u003e#310\u003c/a\u003e) (\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/c0b7e3b1d60e54eb5c7057db846331e11154bb7d\"\u003ec0b7e3b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.2.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.2.2...v6.2.3\"\u003e6.2.3\u003c/a\u003e (2026-04-06)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eno-unnecessary-waiting\u003c/code\u003e flag identifiers defined in object/array patterns (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/308\"\u003e#308\u003c/a\u003e) (\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/f5ccf77c546db3862026d6ee7bd1c3b0f3e8705f\"\u003ef5ccf77\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/cypress-io/eslint-plugin-cypress/commit/11f8df6dc6be97c9c8d75687f2c180ecf7f238be\"\u003e\u003ccode\u003e11f8df6\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency globals to ^17.6.0 (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/340\"\u003e#340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/3be404f24c5ee6b592c3bf237691556c83b6465f\"\u003e\u003ccode\u003e3be404f\u003c/code\u003e\u003c/a\u003e chore(deps): update eslint (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/342\"\u003e#342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/586f95eab4bfdb942152f8b90abbcc5e5e284204\"\u003e\u003ccode\u003e586f95e\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/341\"\u003e#341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/64ad10cfb6cfad4fd2cab04affe6edab28a8e7d7\"\u003e\u003ccode\u003e64ad10c\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency cypress to ^15.14.2 (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/6043370e7de30cb742d880f532579b9b4a84ee4f\"\u003e\u003ccode\u003e6043370\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint to ^10.3.0 (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/339\"\u003e#339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/da2f83c7ce13e4b9461bf2defe0d03e5f8ff3eb2\"\u003e\u003ccode\u003eda2f83c\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency cypress to ^15.14.1 (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/529b061a5389bd03a69affdcd3e4e016fbc3f3b2\"\u003e\u003ccode\u003e529b061\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency \u003ccode\u003e@​typescript-eslint/rule-tester\u003c/code\u003e to ^8.59.1 (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/336\"\u003e#336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/bdf94f2b9d66fa2282d455b03763acb7cb11fc12\"\u003e\u003ccode\u003ebdf94f2\u003c/code\u003e\u003c/a\u003e feat: support chains started of helper functions in unsafe-to-chain-command (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/d5fcd0cf31f66ed16ae807518f450342f407fca9\"\u003e\u003ccode\u003ed5fcd0c\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency typescript-eslint to ^8.59.1 (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/335\"\u003e#335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/commit/a1fa8fb98256e011cbc5c31f09050c46f90b1777\"\u003e\u003ccode\u003ea1fa8fb\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/cypress-io/eslint-plugin-cypress/issues/334\"\u003e#334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.2.2...v6.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-prettier` from 5.5.5 to 5.5.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/releases\"\u003eeslint-plugin-prettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/pull/791\"\u003e#791\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: bump all (dev)Dependencies\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/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md\"\u003eeslint-plugin-prettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/pull/791\"\u003e#791\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: bump all (dev)Dependencies\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/prettier/eslint-plugin-prettier/commit/4f33ea5a503c6cdbda93424ebd13188a46a1a890\"\u003e\u003ccode\u003e4f33ea5\u003c/code\u003e\u003c/a\u003e chore: release eslint-plugin-prettier (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/792\"\u003e#792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/4745b54882a9011704764070a28aaaf0504efc92\"\u003e\u003ccode\u003e4745b54\u003c/code\u003e\u003c/a\u003e ci: declare workflow-level contents: read on 2 workflows (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e chore: bump all (dev)Dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/791\"\u003e#791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/e867680b2c1cf3748322c8c802690e7cfb78e233\"\u003e\u003ccode\u003ee867680\u003c/code\u003e\u003c/a\u003e chore(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/766\"\u003e#766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/e8e2f7f1dcad747f1d43168ee09956b512956593\"\u003e\u003ccode\u003ee8e2f7f\u003c/code\u003e\u003c/a\u003e chore: testing eslint v10 (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/779\"\u003e#779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/ca076d95aaf69aaf9c95abcc1692f8269197f248\"\u003e\u003ccode\u003eca076d9\u003c/code\u003e\u003c/a\u003e chore: update dev dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/42e636951f8d53d169b1f8c2b7e7dfd792711113\"\u003e\u003ccode\u003e42e6369\u003c/code\u003e\u003c/a\u003e build(deps): Bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/778\"\u003e#778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/53ff2143c03609e75b60e0e33d56c8089f0b364f\"\u003e\u003ccode\u003e53ff214\u003c/code\u003e\u003c/a\u003e Remove empty NPM_TOKEN from release.yml\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/compare/v5.5.5...v5.5.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 29.0.1 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v29.0.1...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.8.1 to 3.8.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.8.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003eprettier/prettier#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.8.3/CHANGELOG.md#383\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Angular v21.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md#382\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.8.3\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.2...3.8.3\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003e#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"scss\"\u003e\u003ccode\u003e// Input\n$value: if(sass(false): 1; else: -1);\n\u003cp\u003e// Prettier 3.8.2\n$value: if(\nsass(false): 1; else: -1,\n);\u003c/p\u003e\n\u003cp\u003e// Prettier 3.8.3\n$value: if(sass(false): 1; else: -1);\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.8.2\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.1...3.8.2\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eAngular: Support Angular v21.2 (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18722\"\u003e#18722\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pul...\n\n_Description has been truncated_","html_url":"https://github.com/mrlonis/todo-ui/pull/418","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrlonis%2Ftodo-ui/issues/418","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/418/packages"}},{"old_version":"28.1.0","new_version":"29.1.1","update_type":"major","path":null,"pr_created_at":"2026-05-29T06:51:37.000Z","version_change":"28.1.0 → 29.1.1","issue":{"uuid":"4546353818","node_id":"PR_kwDOJ_yh487giQU2","number":140,"state":"open","title":"chore(deps-dev): bump jsdom from 28.1.0 to 29.1.1","user":"dependabot[bot]","labels":["🤩 size/xs"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-29T06:51:37.000Z","updated_at":"2026-05-29T06:52:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"jsdom","old_version":"28.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 28.1.0 to 29.1.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v28.1.0...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=28.1.0\u0026new-version=29.1.1)](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/Proskynete/eduardoalvarez.dev/pull/140","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Proskynete%2Feduardoalvarez.dev/issues/140","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/140/packages"}},{"old_version":"24.1.3","new_version":"29.1.1","update_type":"major","path":"/frontend","pr_created_at":"2026-05-29T05:39:35.000Z","version_change":"24.1.3 → 29.1.1","issue":{"uuid":"4545986985","node_id":"PR_kwDOPqCURM7ghCvj","number":7,"state":"open","title":"Bump jsdom from 24.1.3 to 29.1.1 in /frontend","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-05-29T05:39:35.000Z","updated_at":"2026-05-29T05:39:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"jsdom","old_version":"24.1.3","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":"/frontend","ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 24.1.3 to 29.1.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v24.1.3...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=24.1.3\u0026new-version=29.1.1)](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/rddd2006/splittr/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rddd2006%2Fsplittr/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}},{"old_version":"25.0.1","new_version":"29.1.1","update_type":"major","path":null,"pr_created_at":"2026-05-29T03:02:43.000Z","version_change":"25.0.1 → 29.1.1","issue":{"uuid":"4545334497","node_id":"PR_kwDOJ1w1z87ge6gr","number":10,"state":"open","title":"build(deps-dev): bump jsdom from 25.0.1 to 29.1.1","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-29T03:02:43.000Z","updated_at":"2026-05-29T03:02:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"jsdom","old_version":"25.0.1","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 25.0.1 to 29.1.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v25.0.1...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=25.0.1\u0026new-version=29.1.1)](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/lucasidev/react-tailwind-seminarioPokedexAPP/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasidev%2Freact-tailwind-seminarioPokedexAPP/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"}},{"old_version":"28.1.0","new_version":"29.1.1","update_type":"major","path":null,"pr_created_at":"2026-05-29T01:03:35.000Z","version_change":"28.1.0 → 29.1.1","issue":{"uuid":"4544860086","node_id":"PR_kwDOQov_os7gdZGi","number":200,"state":"open","title":"chore(deps-dev)(deps-dev): bump the development-all group across 1 directory with 40 updates","user":"dependabot[bot]","labels":["dependencies","security"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-29T01:03:35.000Z","updated_at":"2026-05-29T01:04:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)(deps-dev): bump","group_name":"development-all","update_count":40,"packages":[{"name":"@playwright/test","old_version":"1.58.2","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"@testcontainers/postgresql","old_version":"12.0.0","new_version":"12.0.1","repository_url":"https://github.com/testcontainers/testcontainers-node"},{"name":"@types/node","old_version":"25.3.2","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.56.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.56.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/coverage-istanbul","old_version":"4.0.18","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/coverage-v8","old_version":"4.0.18","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"axe-core","old_version":"4.11.1","new_version":"4.11.4","repository_url":"https://github.com/dequelabs/axe-core"},{"name":"concurrently","old_version":"9.2.1","new_version":"10.0.0","repository_url":"https://github.com/open-cli-tools/concurrently"},{"name":"cspell","old_version":"9.7.0","new_version":"10.0.0","repository_url":"https://github.com/streetsidesoftware/cspell"},{"name":"dependency-cruiser","old_version":"17.3.8","new_version":"17.4.2","repository_url":"https://github.com/sverweij/dependency-cruiser"},{"name":"eslint","old_version":"10.0.2","new_version":"10.4.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-sonarjs","old_version":"4.0.0","new_version":"4.0.3","repository_url":"https://github.com/SonarSource/SonarJS"},{"name":"jsdom","old_version":"28.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"markdownlint-cli","old_version":"0.47.0","new_version":"0.48.0","repository_url":"https://github.com/igorshubovych/markdownlint-cli"},{"name":"memfs","old_version":"4.56.10","new_version":"4.57.3","repository_url":"https://github.com/streamich/memfs"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"puppeteer","old_version":"25.0.3","new_version":"25.1.0","repository_url":"https://github.com/puppeteer/puppeteer"},{"name":"tsx","old_version":"4.21.0","new_version":"4.22.3","repository_url":"https://github.com/privatenumber/tsx"},{"name":"turbo","old_version":"2.9.15","new_version":"2.9.16","repository_url":"https://github.com/vercel/turborepo"},{"name":"typescript-eslint","old_version":"8.56.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"vite","old_version":"7.3.2","new_version":"8.0.14","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"4.0.18","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/ui","old_version":"4.0.18","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"vitest-mock-extended","old_version":"3.1.0","new_version":"4.0.0","repository_url":"https://github.com/eratio08/vitest-mock-extended"},{"name":"@next/eslint-plugin-next","old_version":"16.1.6","new_version":"16.2.6","repository_url":"https://github.com/vercel/next.js"},{"name":"@tailwindcss/postcss","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"tailwindcss","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@storybook/react","old_version":"8.6.15","new_version":"10.4.1","repository_url":"https://github.com/storybookjs/storybook"},{"name":"eslint-plugin-react-hooks","old_version":"7.0.1","new_version":"7.1.1","repository_url":"https://github.com/facebook/react"},{"name":"happy-dom","old_version":"20.8.9","new_version":"20.9.0","repository_url":"https://github.com/capricorn86/happy-dom"},{"name":"msw","old_version":"2.12.10","new_version":"2.14.6","repository_url":"https://github.com/mswjs/msw"},{"name":"prisma","old_version":"7.4.2","new_version":"7.8.0","repository_url":"https://github.com/prisma/prisma"},{"name":"@storybook/addon-a11y","old_version":"10.4.0","new_version":"10.4.1","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/addon-essentials","old_version":"8.6.15","new_version":"8.6.18","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/addon-interactions","old_version":"8.6.15","new_version":"8.6.18","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/addon-links","old_version":"10.4.0","new_version":"10.4.1","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/addon-onboarding","old_version":"8.6.15","new_version":"10.4.1","repository_url":"https://github.com/storybookjs/storybook"},{"name":"@storybook/react-vite","old_version":"10.2.13","new_version":"10.4.1","repository_url":"https://github.com/storybookjs/storybook"},{"name":"storybook","old_version":"10.2.13","new_version":"10.4.1","repository_url":"https://github.com/storybookjs/storybook"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-all group with 40 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.58.2` | `1.60.0` |\n| [@testcontainers/postgresql](https://github.com/testcontainers/testcontainers-node) | `12.0.0` | `12.0.1` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.3.2` | `25.9.1` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.56.1` | `8.60.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.56.1` | `8.60.0` |\n| [@vitest/coverage-istanbul](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul) | `4.0.18` | `4.1.7` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.0.18` | `4.1.7` |\n| [axe-core](https://github.com/dequelabs/axe-core) | `4.11.1` | `4.11.4` |\n| [concurrently](https://github.com/open-cli-tools/concurrently) | `9.2.1` | `10.0.0` |\n| [cspell](https://github.com/streetsidesoftware/cspell/tree/HEAD/packages/cspell) | `9.7.0` | `10.0.0` |\n| [dependency-cruiser](https://github.com/sverweij/dependency-cruiser) | `17.3.8` | `17.4.2` |\n| [eslint](https://github.com/eslint/eslint) | `10.0.2` | `10.4.0` |\n| [eslint-plugin-sonarjs](https://github.com/SonarSource/SonarJS) | `4.0.0` | `4.0.3` |\n| [jsdom](https://github.com/jsdom/jsdom) | `28.1.0` | `29.1.1` |\n| [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli) | `0.47.0` | `0.48.0` |\n| [memfs](https://github.com/streamich/memfs) | `4.56.10` | `4.57.3` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [puppeteer](https://github.com/puppeteer/puppeteer) | `25.0.3` | `25.1.0` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.22.3` |\n| [turbo](https://github.com/vercel/turborepo) | `2.9.15` | `2.9.16` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.56.1` | `8.60.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `7.3.2` | `8.0.14` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.18` | `4.1.7` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `4.0.18` | `4.1.7` |\n| [vitest-mock-extended](https://github.com/eratio08/vitest-mock-extended) | `3.1.0` | `4.0.0` |\n| [@next/eslint-plugin-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next) | `16.1.6` | `16.2.6` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.1` | `4.3.0` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.1` | `4.3.0` |\n| [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) | `8.6.15` | `10.4.1` |\n| [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) | `7.0.1` | `7.1.1` |\n| [happy-dom](https://github.com/capricorn86/happy-dom) | `20.8.9` | `20.9.0` |\n| [msw](https://github.com/mswjs/msw) | `2.12.10` | `2.14.6` |\n| [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli) | `7.4.2` | `7.8.0` |\n| [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) | `10.4.0` | `10.4.1` |\n| [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials) | `8.6.15` | `8.6.18` |\n| [@storybook/addon-interactions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions) | `8.6.15` | `8.6.18` |\n| [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/links) | `10.4.0` | `10.4.1` |\n| [@storybook/addon-onboarding](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/onboarding) | `8.6.15` | `10.4.1` |\n| [@storybook/react-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite) | `10.2.13` | `10.4.1` |\n| [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/core) | `10.2.13` | `10.4.1` |\n\n\nUpdates `@playwright/test` from 1.58.2 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e@​playwright/test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛑 test.abort()\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-test#test-abort\"\u003etest.abort()\u003c/a\u003e aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003etest('does not publish to the shared page', async ({ page }) =\u0026gt; {\r\n  await page.route('**/publish', route =\u0026gt; {\r\n    test.abort('Tests must not publish to the shared page. Use the `clone` option.');\r\n    return route.abort();\r\n  });\r\n  // ...\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eNew APIs\u003c/h2\u003e\n\u003ch3\u003eBrowser, Context and Page\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/microsoft/playwright/commit/87bb9ddbd78f329df18c2b24847bc9409240cd07\"\u003e\u003ccode\u003e87bb9dd\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40747\"\u003e#40747\u003c/a\u003e): fix(yauzl): vendor yauzl with destroy-lifecycle fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9a9c51cb7d1b39fab51ca288e59f8ca38fd19910\"\u003e\u003ccode\u003e9a9c51c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40733\"\u003e#40733\u003c/a\u003e): chore(electron): revert \u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40184\"\u003e#40184\u003c/a\u003e (move Electron API to a s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/4b3b628663031bcaaeca907e337892263524634d\"\u003e\u003ccode\u003e4b3b628\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40736\"\u003e#40736\u003c/a\u003e): Revert \u0026quot;feat(electron): add timeout option to electronAp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f869f96bbe6607cc3b88b4ca96fd82f17b301b50\"\u003e\u003ccode\u003ef869f96\u003c/code\u003e\u003c/a\u003e chore: bump version to v1.60.0 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40714\"\u003e#40714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/7eb6918afadfb0dd5c7e94ca9ffbddd84d8fbb39\"\u003e\u003ccode\u003e7eb6918\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40710\"\u003e#40710\u003c/a\u003e): docs: release notes v1.60\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/118d2aa6076d82840decca15d96b48611b08e392\"\u003e\u003ccode\u003e118d2aa\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40693\"\u003e#40693\u003c/a\u003e): chore(python): formdata path type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/54012f5dcc586da2e5d6cccd75f13ca367b94579\"\u003e\u003ccode\u003e54012f5\u003c/code\u003e\u003c/a\u003e chore(deps): bump ip-address and express-rate-limit (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40680\"\u003e#40680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9fa531da5677a3807d6e1dccd22c5137339a44f7\"\u003e\u003ccode\u003e9fa531d\u003c/code\u003e\u003c/a\u003e fix(screencast): unblock frame ack when an async client disconnects (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40674\"\u003e#40674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/3649db560ff943e724185784d34f7db131a11961\"\u003e\u003ccode\u003e3649db5\u003c/code\u003e\u003c/a\u003e chore(mcp): bump default extension protocol to v2 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40678\"\u003e#40678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/bb6c00957f47ba04caad7fca75d426309a2d32d4\"\u003e\u003ccode\u003ebb6c009\u003c/code\u003e\u003c/a\u003e chore(extension): mark 0.2.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40679\"\u003e#40679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.58.2...v1.60.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@testcontainers/postgresql` from 12.0.0 to 12.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-node/releases\"\u003e@​testcontainers/postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.0.1\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Podman image healthcheck detection \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd npm dependency release age cooldown \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse Docker Hub Redpanda image \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse preinstalled Podman in checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify affected package checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd npm publish dry run workflow \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade build agents from Ubuntu 22.04 to 24.04 \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove module compile checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1327\"\u003e#1327\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump tmp from 0.2.5 to 0.2.6 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 14 directories with 16 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group with 13 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 13 directories with 12 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 1 directory with 22 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1331\"\u003e#1331\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/testcontainers/testcontainers-node/commit/4d8de0cd81c26734b2c95b5fd717fa62ea0648eb\"\u003e\u003ccode\u003e4d8de0c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;v12.0.1\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/d2e4da4b820d5694b120739dad0c360c9e50c3b6\"\u003e\u003ccode\u003ed2e4da4\u003c/code\u003e\u003c/a\u003e v12.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/1077fd6bce442a08fdea707536290a1ae7a0de88\"\u003e\u003ccode\u003e1077fd6\u003c/code\u003e\u003c/a\u003e Revert default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1346\"\u003e#1346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/665feb4f42073eb7394435a84c6eff9f20d7a714\"\u003e\u003ccode\u003e665feb4\u003c/code\u003e\u003c/a\u003e Bump tmp from 0.2.5 to 0.2.6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cdb8366ad8c17692782a2073406209699eeeff73\"\u003e\u003ccode\u003ecdb8366\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 14 directories with 16 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/3148791de679c3208beb6c1a8f37eafe8abb6810\"\u003e\u003ccode\u003e3148791\u003c/code\u003e\u003c/a\u003e Add default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1340\"\u003e#1340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/34c581136a78d3b2098253c8ed86515617d76a52\"\u003e\u003ccode\u003e34c5811\u003c/code\u003e\u003c/a\u003e Add npm dependency release age cooldown (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/c584af1ca12b059c13ba9d76d3b73a2440dbae92\"\u003e\u003ccode\u003ec584af1\u003c/code\u003e\u003c/a\u003e Fix Podman image healthcheck detection (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cae5c26312c234df0001f2866e9d8e58002e54c7\"\u003e\u003ccode\u003ecae5c26\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 13 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/33e1dc109cc94ef9b4e0020b4a6fd9e8b8a354af\"\u003e\u003ccode\u003e33e1dc1\u003c/code\u003e\u003c/a\u003e Use Docker Hub Redpanda image (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-node/compare/v12.0.0...v12.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.3.2 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.56.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\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/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-deprecated] object destructuring values should be treated as declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12292\"\u003e#12292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-type-assertion] handle crash on recursive template literal types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12150\"\u003e#12150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDima Barabash\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4302433ae6bf93d4ddc35264ad1b951254758566\"\u003e\u003ccode\u003e4302433\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-floating-promises] stack overflow when using recursiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/10b79f1ba8e98610a3af85152a1b3b406f91e633\"\u003e\u003ccode\u003e10b79f1\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint to v10.4.0 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12339\"\u003e#12339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2a6765d9628dc776f8127c96f088bb807c0bcab2\"\u003e\u003ccode\u003e2a6765d\u003c/code\u003e\u003c/a\u003e chore: clenaup \u003ccode\u003egetAwaitedType\u003c/code\u003e from \u003ccode\u003etypescript.d.ts\u003c/code\u003e (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12302\"\u003e#12302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e26dc8003ababf078aad4df17765ee4cea30644c\"\u003e\u003ccode\u003ee26dc80\u003c/code\u003e\u003c/a\u003e docs: update stale links to latest (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12313\"\u003e#12313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ec3ef25390f7daf5a9ff33a60282bdbbb49ab0f3\"\u003e\u003ccode\u003eec3ef25\u003c/code\u003e\u003c/a\u003e test: make no-useless-empty-export tests fully static (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12260\"\u003e#12260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/eslint-plugin\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/parser` from 8.56.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\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/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.0 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.58.2 (2026-04-13)\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/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/52457932e5507b5ca01e720a541f3f8d01e09b9d\"\u003e\u003ccode\u003e5245793\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ea9ae4f8817873480e3501145059f63e39e8d8a1\"\u003e\u003ccode\u003eea9ae4f\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/90c2803a4c250e0343598d41e973f95e743bf4ce\"\u003e\u003ccode\u003e90c2803\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/be6b49a02d68db9bdc8985e7e9e1598700fda2fa\"\u003e\u003ccode\u003ebe6b49a\u003c/code\u003e\u003c/a\u003e fix: remove tsbuildinfo cache file from published packages (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12187\"\u003e#12187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/5311ed312eadf4e238324f2726ae0b1f3f2206e6\"\u003e\u003ccode\u003e5311ed3\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/coverage-istanbul` from 4.0.18 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/coverage-istanbul's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.5\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option  -  by \u003ca href=\"https://github.com/BartWaardenburg\"\u003e\u003ccode\u003e@​BartWaardenburg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10119\"\u003evitest-dev/vitest#10119\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7\"\u003e\u003c!-- raw HTML omitted --\u003e(0e0ff)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e--project negation excludes browser instances  -  by \u003ca href=\"https://github.com/felamaslen\"\u003e\u003ccode\u003e@​felamaslen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10131\"\u003evitest-dev/vitest#10131\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc084\"\u003e\u003c!-- raw HTML omitted --\u003e(9423d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProject color label on html reporter  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10142\"\u003evitest-dev/vitest#10142\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986\"\u003e\u003c!-- raw HTML omitted --\u003e(596f7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10163\"\u003evitest-dev/vitest#10163\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b\"\u003e\u003c!-- raw HTML omitted --\u003e(122c2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10157\"\u003evitest-dev/vitest#10157\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3\"\u003e\u003c!-- raw HTML omitted --\u003e(663b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedad\"\u003e\u003c!-- raw HTML omitted --\u003e(9787d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions \u0026quot;  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd\"\u003e\u003c!-- raw HTML omitted --\u003e(7dc6d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003east-collect\u003c/strong\u003e: Recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery  -  by \u003ca href=\"https://github.com/Yejneshwar\"\u003e\u003ccode\u003e@​Yejneshwar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10129\"\u003evitest-dev/vitest#10129\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab2\"\u003e\u003c!-- raw HTML omitted --\u003e(32546)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Descriptive error message when reports directory is removed during test run  -  by \u003ca href=\"https://github.com/DaveT1991\"\u003e\u003ccode\u003e@​DaveT1991\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10117\"\u003evitest-dev/vitest#10117\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1413382e1\"\u003e\u003c!-- raw HTML omitted --\u003e(14133)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e: Increase default snapshot max output length  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10150\"\u003evitest-dev/vitest#10150\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/21e66ff63\"\u003e\u003c!-- raw HTML omitted --\u003e(21e66)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e: Fix jsx/tsx syntax highlight  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10152\"\u003evitest-dev/vitest#10152\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b\"\u003e\u003c!-- raw HTML omitted --\u003e(f1b1f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eweb-worker\u003c/strong\u003e: Support MessagePort objects referenced inside postMessage data  -  by \u003ca href=\"https://github.com/whitphx\"\u003e\u003ccode\u003e@​whitphx\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9927\"\u003evitest-dev/vitest#9927\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10124\"\u003evitest-dev/vitest#10124\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7ad7d39af\"\u003e\u003c!-- raw HTML omitted --\u003e(7ad7d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e: Make test-specification options writable  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10154\"\u003evitest-dev/vitest#10154\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7\"\u003e\u003c!-- raw HTML omitted --\u003e(6abd5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.4\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDefault to text reporter \u003ccode\u003eskipFull\u003c/code\u003e if agent detected  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10018\"\u003evitest-dev/vitest#10018\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/53757804c\"\u003e\u003c!-- raw HTML omitted --\u003e(53757)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eExpose \u003ccode\u003eassertion\u003c/code\u003e as a public field  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10095\"\u003evitest-dev/vitest#10095\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a120e3ab8\"\u003e\u003c!-- raw HTML omitted --\u003e(a120e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport aria snapshot  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e, \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9668\"\u003evitest-dev/vitest#9668\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d4fbb5cc9\"\u003e\u003c!-- raw HTML omitted --\u003e(d4fbb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7e86d6e2bf581f074dc216805d10d371\"\u003e\u003ccode\u003e0e0ff41\u003c/code\u003e\u003c/a\u003e feat(coverage): istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul/issues/10119\"\u003e#10119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/ac04bac206f49d793e7277084f707aee718aa936\"\u003e\u003ccode\u003eac04bac\u003c/code\u003e\u003c/a\u003e chore: release v4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/2dc0d62eaf08d8acb1f5042fdb8ac5b4a19fdc73\"\u003e\u003ccode\u003e2dc0d62\u003c/code\u003e\u003c/a\u003e chore: release v4.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/fc6f482f4c54bf6a766a0ff502b9843994af5bf5\"\u003e\u003ccode\u003efc6f482\u003c/code\u003e\u003c/a\u003e chore: release v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/1f2d318493363855b66a22caaf7c1c10579029d5\"\u003e\u003ccode\u003e1f2d318\u003c/code\u003e\u003c/a\u003e chore: release v4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/aaf9f18ae70e52b6e67aaf85f7f784d9dabd0acc\"\u003e\u003ccode\u003eaaf9f18\u003c/code\u003e\u003c/a\u003e fix(coverage): simplify provider types (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul/issues/9931\"\u003e#9931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/4150b913171bda3971a4a4c47c633c26d0c6ae45\"\u003e\u003ccode\u003e4150b91\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/coverage-istanbul\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/coverage-v8` from 4.0.18 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/coverage-v8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.5\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option  -  by \u003ca href=\"https://github.com/BartWaardenburg\"\u003e\u003ccode\u003e@​BartWaardenburg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10119\"\u003evitest-dev/vitest#10119\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7\"\u003e\u003c!-- raw HTML omitted --\u003e(0e0ff)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e--project negation excludes browser instances  -  by \u003ca href=\"https://github.com/felamaslen\"\u003e\u003ccode\u003e@​felamaslen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10131\"\u003evitest-dev/vitest#10131\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc084\"\u003e\u003c!-- raw HTML omitted --\u003e(9423d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProject color label on html reporter  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10142\"\u003evitest-dev/vitest#10142\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986\"\u003e\u003c!-- raw HTML omitted --\u003e(596f7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10163\"\u003evitest-dev/vitest#10163\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b\"\u003e\u003c!-- raw HTML omitted --\u003e(122c2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10157\"\u003evitest-dev/vitest#10157\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3\"\u003e\u003c!-- raw HTML omitted --\u003e(663b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedad\"\u003e\u003c!-- raw HTML omitted --\u003e(9787d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions \u0026quot;  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd\"\u003e\u003c!-- raw HTML omitted --\u003e(7dc6d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003east-collect\u003c/strong\u003e: Recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery  -  by \u003ca href=\"https://github.com/Yejneshwar\"\u003e\u003ccode\u003e@​Yejneshwar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10129\"\u003evitest-dev/vitest#10129\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab2\"\u003e\u003c!-- raw HTML omitted --\u003e(32546)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Descriptive error message when reports directory is removed during test run  -  by \u003ca href=\"https://github.com/DaveT1991\"\u003e\u003ccode\u003e@​DaveT1991\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10117\"\u003evitest-dev/vitest#10117\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1413382e1\"\u003e\u003c!-- raw HTML omitted --\u003e(14133)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e: Increase default snapshot max output length  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10150\"\u003evitest-dev/vitest#10150\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/21e66ff63\"\u003e\u003c!-- raw HTML omitted --\u003e(21e66)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e: Fix jsx/tsx syntax highlight  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10152\"\u003evitest-dev/vitest#10152\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b\"\u003e\u003c!-- raw HTML omitted --\u003e(f1b1f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eweb-worker\u003c/strong\u003e: Support MessagePort objects referenced inside postMessage data  -  by \u003ca href=\"https://github.com/whitphx\"\u003e\u003ccode\u003e@​whitphx\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9927\"\u003evitest-dev/vitest#9927\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10124\"\u003evitest-dev/vitest#10124\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7ad7d39af\"\u003e\u003c!-- raw HTML omitted --\u003e(7ad7d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e: Make test-specification options writable  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10154\"\u003evitest-dev/vitest#10154\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7\"\u003e\u003c!-- raw HTML omitted --\u003e(6abd5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.4\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDefault to text reporter \u003ccode\u003eskipFull\u003c/code\u003e if agent detected  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10018\"\u003evitest-dev/vitest#10018\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/53757804c\"\u003e\u003c!-- raw HTML omitted --\u003e(53757)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eExpose \u003ccode\u003eassertion\u003c/code\u003e as a public field  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10095\"\u003evitest-dev/vitest#10095\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a120e3ab8\"\u003e\u003c!-- raw HTML omitted --\u003e(a120e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport aria snapshot  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e, \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9668\"\u003evitest-dev/vitest#9668\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d4fbb5cc9\"\u003e\u003c!-- raw HTML omitted --\u003e(d4fbb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/ac04bac206f49d793e7277084f707aee718aa936\"\u003e\u003ccode\u003eac04bac\u003c/code\u003e\u003c/a\u003e chore: release v4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/2dc0d62eaf08d8acb1f5042fdb8ac5b4a19fdc73\"\u003e\u003ccode\u003e2dc0d62\u003c/code\u003e\u003c/a\u003e chore: release v4.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/fc6f482f4c54bf6a766a0ff502b9843994af5bf5\"\u003e\u003ccode\u003efc6f482\u003c/code\u003e\u003c/a\u003e chore: release v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/1f2d318493363855b66a22caaf7c1c10579029d5\"\u003e\u003ccode\u003e1f2d318\u003c/code\u003e\u003c/a\u003e chore: release v4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/aaf9f18ae70e52b6e67aaf85f7f784d9dabd0acc\"\u003e\u003ccode\u003eaaf9f18\u003c/code\u003e\u003c/a\u003e fix(coverage): simplify provider types (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9931\"\u003e#9931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/4150b913171bda3971a4a4c47c633c26d0c6ae45\"\u003e\u003ccode\u003e4150b91\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0c2c01361a95dd26d0d7fd7bc38bcca8dbc6e5d2\"\u003e\u003ccode\u003e0c2c013\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0-beta.6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `axe-core` from 4.11.1 to 4.11.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dequelabs/axe-core/releases\"\u003eaxe-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 4.11.4\u003c/h2\u003e\n\u003cp\u003eThis release addresses an issue with ancestry selectors. It is unlikely to change the number of issues found by axe-core.\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecommons/text:\u003c/strong\u003e exclude natively hidden elements from aria-labelledby accessible name (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5076\"\u003e#5076\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/df34adfc1967919d667d40a76ab5c85b6e47ddfe\"\u003edf34adf\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4704\"\u003e#4704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eutils/getAncestry:\u003c/strong\u003e escape node name (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5079\"\u003e#5079\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6e68d0a5d26999b996152df82238bc3f3a041cb3\"\u003e6e68d0a\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5078\"\u003e#5078\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 4.11.3\u003c/h2\u003e\n\u003cp\u003eThis release addresses a few false positives, which may reduce the number of issues on \u003ccode\u003eterget-size\u003c/code\u003e and \u003ccode\u003earia-allowed-attr\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003earia-allowed-attr:\u003c/strong\u003e restrict br and wbr elements to aria-hidden only (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4974\"\u003e#4974\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/1d801636f058f2abd885c488baff954872b13846\"\u003e1d80163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etarget-size:\u003c/strong\u003e ignore position: fixed elements that are offscreen when page is scrolled (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5066\"\u003e#5066\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/5906273841cbd7ac9e08af730dffc244cf42b39b\"\u003e5906273\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5065\"\u003e#5065\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 4.11.2\u003c/h2\u003e\n\u003cp\u003eThis release addresses a number of false positives, including ones related to target size. It adds new affordances for ARIA, and adds a clarification around the scrollable regions rule.\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003earia-valid-attr-value:\u003c/strong\u003e handle multiple aria-errormessage IDs (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4973\"\u003e#4973\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/9322148b69924d6ae2d2dd46e6109bc2fc53abd3\"\u003e9322148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia:\u003c/strong\u003e prevent getOwnedVirtual from returning duplicate nodes (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4987\"\u003e#4987\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/99d1e77f351db586c79020372efc59608e604a1c\"\u003e99d1e77\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4840\"\u003e#4840\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDqElement:\u003c/strong\u003e avoid calling constructors with cloneNode (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5013\"\u003e#5013\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/88bc57fd3de12cd69d365b3f385ce9a2e30b7bd5\"\u003e88bc57f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexisting-rule:\u003c/strong\u003e aria-busy now shows an error message for a use with unallowed children (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5017\"\u003e#5017\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/dded75a9acc9a2350926f46f04e0f1de522f43d6\"\u003edded75a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003escrollable-region-focusable:\u003c/strong\u003e clarify the issue is in safari (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4995\"\u003e#4995\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/2567afd5c32398c6a488240b066bb0d335f6dc6a\"\u003e2567afd\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/WebKit/issues/190870\"\u003eWebKit#190870\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/WebKit/issues/277290\"\u003eWebKit#277290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003escrollable-region-focusable:\u003c/strong\u003e do not fail scroll areas when all content is visible without scrolling (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4993\"\u003e#4993\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/240f8b53ad168521a63b54d0053b96ce430c7184\"\u003e240f8b5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etarget-size:\u003c/strong\u003e determine offset using clientRects if target is display:inline (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5012\"\u003e#5012\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/69d81c1cbb6a61a272884516c7983dcd17d28a42\"\u003e69d81c1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etarget-size:\u003c/strong\u003e ignore widgets that are inline with other inline elements (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5000\"\u003e#5000\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/cf8a3c039b121c0c64a1eb8805c586659b69f3c1\"\u003ecf8a3c0\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/dequelabs/axe-core/blob/develop/CHANGELOG.md\"\u003eaxe-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/compare/v4.11.3...v4.11.4\"\u003e4.11.4\u003c/a\u003e (2026-04-23)\u003c/h3\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecommons/text:\u003c/strong\u003e exclude natively hidden elements from aria-labelledby accessible name (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5076\"\u003e#5076\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/df34adfc1967919d667d40a76ab5c85b6e47ddfe\"\u003edf34adf\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4704\"\u003e#4704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eutils/getAncestry:\u003c/strong\u003e escape node name (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5079\"\u003e#5079\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6e68d0a5d26999b996152df82238bc3f3a041cb3\"\u003e6e68d0a\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5078\"\u003e#5078\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/compare/v4.11.2...v4.11.3\"\u003e4.11.3\u003c/a\u003e (2026-04-13)\u003c/h3\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003earia-allowed-attr:\u003c/strong\u003e restrict br and wbr elements to aria-hidden only (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4974\"\u003e#4974\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/1d801636f058f2abd885c488baff954872b13846\"\u003e1d80163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etarget-size:\u003c/strong\u003e ignore position: fixed elements that are offscreen when page is scrolled (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5066\"\u003e#5066\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/5906273841cbd7ac9e08af730dffc244cf42b39b\"\u003e5906273\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5065\"\u003e#5065\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/compare/v4.11.1...v4.11.2\"\u003e4.11.2\u003c/a\u003e (2026-03-30)\u003c/h3\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003earia-valid-attr-value:\u003c/strong\u003e handle multiple aria-errormessage IDs (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4973\"\u003e#4973\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/9322148b69924d6ae2d2dd46e6109bc2fc53abd3\"\u003e9322148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia:\u003c/strong\u003e prevent getOwnedVirtual from returning duplicate nodes (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4987\"\u003e#4987\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/99d1e77f351db586c79020372efc59608e604a1c\"\u003e99d1e77\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4840\"\u003e#4840\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDqElement:\u003c/strong\u003e avoid calling constructors with cloneNode (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5013\"\u003e#5013\u003c/a\u003e) (\u003ca href=\"https://github.com/deque...\n\n_Description has been truncated_","html_url":"https://github.com/talyssonoliver/IntelliFlow-CRM/pull/200","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/talyssonoliver%2FIntelliFlow-CRM/issues/200","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/200/packages"}},{"old_version":"29.1.0","new_version":"29.1.1","update_type":"patch","path":null,"pr_created_at":"2026-05-28T22:46:44.000Z","version_change":"29.1.0 → 29.1.1","issue":{"uuid":"4544341322","node_id":"PR_kwDORn9DPs7gbuu6","number":139,"state":"open","title":"chore(deps): bump the minor-and-patch group across 1 directory with 15 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-05-28T22:46:44.000Z","updated_at":"2026-05-28T22:47:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"minor-and-patch","update_count":15,"packages":[{"name":"@semantic-release/github","old_version":"12.0.6","new_version":"12.0.8","repository_url":"https://github.com/semantic-release/github"},{"name":"@semantic-release/release-notes-generator","old_version":"14.1.0","new_version":"14.1.1","repository_url":"https://github.com/semantic-release/release-notes-generator"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.59.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.59.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"eslint","old_version":"10.2.1","new_version":"10.4.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-prettier","old_version":"5.5.5","new_version":"5.5.6","repository_url":"https://github.com/prettier/eslint-plugin-prettier"},{"name":"typescript-eslint","old_version":"8.59.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"jsdom","old_version":"29.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"react","old_version":"19.2.5","new_version":"19.2.6","repository_url":"https://github.com/facebook/react"},{"name":"@types/react","old_version":"19.2.14","new_version":"19.2.15","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-dom","old_version":"19.2.5","new_version":"19.2.6","repository_url":"https://github.com/facebook/react"},{"name":"next","old_version":"16.2.4","new_version":"16.2.6","repository_url":"https://github.com/vercel/next.js"},{"name":"@types/node","old_version":"25.6.0","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"playwright","old_version":"1.59.1","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@semantic-release/github](https://github.com/semantic-release/github) | `12.0.6` | `12.0.8` |\n| [@semantic-release/release-notes-generator](https://github.com/semantic-release/release-notes-generator) | `14.1.0` | `14.1.1` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.59.1` | `8.60.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.59.1` | `8.60.0` |\n| [eslint](https://github.com/eslint/eslint) | `10.2.1` | `10.4.0` |\n| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | `5.5.5` | `5.5.6` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.1` | `8.60.0` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.7` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.1.0` | `29.1.1` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.5` | `19.2.6` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.15` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.5` | `19.2.6` |\n| [next](https://github.com/vercel/next.js) | `16.2.4` | `16.2.6` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.0` | `25.9.1` |\n| [playwright](https://github.com/microsoft/playwright) | `1.59.1` | `1.60.0` |\n\n\nUpdates `@semantic-release/github` from 12.0.6 to 12.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/semantic-release/github/releases\"\u003e@​semantic-release/github's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.0.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/semantic-release/github/compare/v12.0.7...v12.0.8\"\u003e12.0.8\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency http-proxy-agent to v9 (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1203\"\u003e#1203\u003c/a\u003e) (\u003ca href=\"https://github.com/semantic-release/github/commit/edd165252bc8ee96de37940f4730fd43f0e67a0f\"\u003eedd1652\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/semantic-release/github/compare/v12.0.6...v12.0.7\"\u003e12.0.7\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency https-proxy-agent to v9 (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1204\"\u003e#1204\u003c/a\u003e) (\u003ca href=\"https://github.com/semantic-release/github/commit/1f173627c00f09234e4da6f7ddbb124338f3f742\"\u003e1f17362\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/semantic-release/github/commit/edd165252bc8ee96de37940f4730fd43f0e67a0f\"\u003e\u003ccode\u003eedd1652\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency http-proxy-agent to v9 (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1203\"\u003e#1203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/github/commit/1f173627c00f09234e4da6f7ddbb124338f3f742\"\u003e\u003ccode\u003e1f17362\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency https-proxy-agent to v9 (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1204\"\u003e#1204\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/github/commit/33fd115647c282b185e4f21f49a43199f78fa08a\"\u003e\u003ccode\u003e33fd115\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency cpy to v13.2.2 (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1221\"\u003e#1221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/github/commit/59fbe01d0f778dba1727d7e6b9716a7b9e50faa5\"\u003e\u003ccode\u003e59fbe01\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency publint to v0.3.19 (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1220\"\u003e#1220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/github/commit/ff5b17cc9fecfba0198aba8e026e564e5964a72c\"\u003e\u003ccode\u003eff5b17c\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1219\"\u003e#1219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/github/commit/75faf16e00c8cb83e8515ced581b0f4eb3841fc7\"\u003e\u003ccode\u003e75faf16\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency ava to v8 (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1218\"\u003e#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/github/commit/56d65c0f5347665085cfd14212501d1adb5f262d\"\u003e\u003ccode\u003e56d65c0\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1217\"\u003e#1217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/github/commit/31a02d2480a8e4fad6209d130c86cb64f0928554\"\u003e\u003ccode\u003e31a02d2\u003c/code\u003e\u003c/a\u003e chore(deps): update npm to v11.13.0 (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/github/commit/3f06ad5cd231b6cb958eff929b58c5f077c67401\"\u003e\u003ccode\u003e3f06ad5\u003c/code\u003e\u003c/a\u003e ci(action): update actions/setup-node action to v6.4.0 (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1214\"\u003e#1214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/github/commit/6ded61129f4a9c76140f6f667002b4015adcd26f\"\u003e\u003ccode\u003e6ded611\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/semantic-release/github/issues/1213\"\u003e#1213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/semantic-release/github/compare/v12.0.6...v12.0.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@semantic-release/release-notes-generator` from 14.1.0 to 14.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/semantic-release/release-notes-generator/releases\"\u003e@​semantic-release/release-notes-generator's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev14.1.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/compare/v14.1.0...v14.1.1\"\u003e14.1.1\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency get-stream to v9 (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/613\"\u003e#613\u003c/a\u003e) (\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/9728887caf9d7ca03e6861b019785539cbb7857e\"\u003e9728887\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/semantic-release/release-notes-generator/commit/9728887caf9d7ca03e6861b019785539cbb7857e\"\u003e\u003ccode\u003e9728887\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency get-stream to v9 (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/613\"\u003e#613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/618cd055085bb6e6507b8c29840235807965a5ba\"\u003e\u003ccode\u003e618cd05\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency publint to v0.3.19 (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/965\"\u003e#965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/2cbdb587a9983ffd0e69e43157663f77c7094b21\"\u003e\u003ccode\u003e2cbdb58\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/964\"\u003e#964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/df3fb9e88ea3145f337c834408a953551345e371\"\u003e\u003ccode\u003edf3fb9e\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/e60ca731fcbbd85aa83add83e467e90af7c07bb7\"\u003e\u003ccode\u003ee60ca73\u003c/code\u003e\u003c/a\u003e chore(deps): update npm to v11.13.0 (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/961\"\u003e#961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/05ea5567c5bb8977517d2e840b07699357c66af4\"\u003e\u003ccode\u003e05ea556\u003c/code\u003e\u003c/a\u003e ci(action): update actions/setup-node action to v6.4.0 (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/0b4e4a7e080e5d1c8ef04edf7d899464c5e93798\"\u003e\u003ccode\u003e0b4e4a7\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/959\"\u003e#959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/9854b6554e3be8858492ce911448afcdaf9e0c6b\"\u003e\u003ccode\u003e9854b65\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency prettier to v3.8.3 (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/958\"\u003e#958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/64d547f0e1f3f9812f6ad8dddd516d11fa254ca2\"\u003e\u003ccode\u003e64d547f\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency sinon to v21.1.2 (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/957\"\u003e#957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/semantic-release/release-notes-generator/commit/46dec933e89ff92306822b852b83261c63541a57\"\u003e\u003ccode\u003e46dec93\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency sinon to v21.1.1 (\u003ca href=\"https://redirect.github.com/semantic-release/release-notes-generator/issues/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/semantic-release/release-notes-generator/compare/v14.1.0...v14.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​semantic-release/release-notes-generator\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.59.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\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/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-deprecated] object destructuring values should be treated as declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12292\"\u003e#12292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-type-assertion] handle crash on recursive template literal types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12150\"\u003e#12150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDima Barabash\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\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/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4302433ae6bf93d4ddc35264ad1b951254758566\"\u003e\u003ccode\u003e4302433\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-floating-promises] stack overflow when using recursiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/10b79f1ba8e98610a3af85152a1b3b406f91e633\"\u003e\u003ccode\u003e10b79f1\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint to v10.4.0 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12339\"\u003e#12339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2a6765d9628dc776f8127c96f088bb807c0bcab2\"\u003e\u003ccode\u003e2a6765d\u003c/code\u003e\u003c/a\u003e chore: clenaup \u003ccode\u003egetAwaitedType\u003c/code\u003e from \u003ccode\u003etypescript.d.ts\u003c/code\u003e (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12302\"\u003e#12302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e26dc8003ababf078aad4df17765ee4cea30644c\"\u003e\u003ccode\u003ee26dc80\u003c/code\u003e\u003c/a\u003e docs: update stale links to latest (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12313\"\u003e#12313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ec3ef25390f7daf5a9ff33a60282bdbbb49ab0f3\"\u003e\u003ccode\u003eec3ef25\u003c/code\u003e\u003c/a\u003e test: make no-useless-empty-export tests fully static (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12260\"\u003e#12260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/eslint-plugin\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/parser` from 8.59.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\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/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\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/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.2.1 to 10.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf\"\u003e\u003ccode\u003e1a45ec5\u003c/code\u003e\u003c/a\u003e feat: check sequence expressions in \u003ccode\u003efor-direction\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20701\"\u003e#20701\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b\"\u003e\u003ccode\u003e450040b\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to \u003ccode\u003eeslint/config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20735\"\u003e#20735\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c\"\u003e\u003ccode\u003e6799431\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-helpers\u003c/code\u003e to ^0.6.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20850\"\u003e#20850\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd\"\u003e\u003ccode\u003ef078fef\u003c/code\u003e\u003c/a\u003e fix: handle non-array deprecated rule replacements (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20825\"\u003e#20825\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f\"\u003e\u003ccode\u003e9cc7387\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5\"\u003e\u003ccode\u003e3d7b548\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb\"\u003e\u003ccode\u003e191ec3c\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6616856f28fa514a30f87b5539fc100d739a94bf\"\u003e\u003ccode\u003e6616856\u003c/code\u003e\u003c/a\u003e chore: upgrade knip to v6 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20875\"\u003e#20875\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d13b084a3ad02f926e9addaa35fc383759ea5554\"\u003e\u003ccode\u003ed13b084\u003c/code\u003e\u003c/a\u003e ci: ensure auto-created PRs run CI (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20860\"\u003e#20860\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e71c7af86dce9acc1d18cb12d2184309f6841594\"\u003e\u003ccode\u003ee71c7af\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20862\"\u003e#20862\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84393dea170f54191fd20c8268b52c81c0ccd99\"\u003e\u003ccode\u003ed84393d\u003c/code\u003e\u003c/a\u003e test: add unit tests for SuppressionsService.applySuppressions() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20863\"\u003e#20863\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/24db8cb8e6f07fba667121777a15b1785486be94\"\u003e\u003ccode\u003e24db8cb\u003c/code\u003e\u003c/a\u003e test: add tests for SuppressionsService.save() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20802\"\u003e#20802\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2ef0549cac4a9537e4c3a26b9f3edd4c99476bf6\"\u003e\u003ccode\u003e2ef0549\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20857\"\u003e#20857\u003c/a\u003e) (github-actions[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a4297918d264d229a06cd96051ef9b91c7b86732\"\u003e\u003ccode\u003ea429791\u003c/code\u003e\u003c/a\u003e ci: remove \u003ccode\u003eeslint-webpack-plugin\u003c/code\u003e types integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20668\"\u003e#20668\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9e37386aa7f2ce220b2ef74a6afbac5f6b3527c5\"\u003e\u003ccode\u003e9e37386\u003c/code\u003e\u003c/a\u003e chore: replace \u003ccode\u003erecast\u003c/code\u003e with range approach in code-sample-minimizer (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20682\"\u003e#20682\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0dd1f9ffc9a07704d46e2a4c8d4ccc0d0908b0c0\"\u003e\u003ccode\u003e0dd1f9f\u003c/code\u003e\u003c/a\u003e test: disable warning for \u003ccode\u003evm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20845\"\u003e#20845\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9da3c7bc92d9579f8db19ecb56e718538d09db2b\"\u003e\u003ccode\u003e9da3c7b\u003c/code\u003e\u003c/a\u003e refactor: remove deprecated \u003ccode\u003emeta.language\u003c/code\u003e and migrate \u003ccode\u003emeta.dialects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20716\"\u003e#20716\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2099ed12a0a74c3d7f0808514362af2499b4fe2b\"\u003e\u003ccode\u003e2099ed1\u003c/code\u003e\u003c/a\u003e refactor: add \u003ccode\u003emeta.defaultOptions\u003c/code\u003e to more rules, enable linting (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20800\"\u003e#20800\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f1dfbc9ca57196de7092e1888cc99427bd6fe06e\"\u003e\u003ccode\u003ef1dfbc9\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20836\"\u003e#20836\u003c/a\u003e) (github-actions[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c75941390c14728806cd4baef4f6072f6de78318\"\u003e\u003ccode\u003ec759413\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.3 to 6.0.5 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20843\"\u003e#20843\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b817d6fdc9ae2c35b528dc662b2eca8f40f64aa\"\u003e\u003ccode\u003e5b817d6\u003c/code\u003e\u003c/a\u003e test: add unit tests for lib/shared/ast-utils (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20838\"\u003e#20838\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1c13ae3934c198c494e5958fa3a68b33244ff06a\"\u003e\u003ccode\u003e1c13ae3\u003c/code\u003e\u003c/a\u003e test: add unit tests for lib/shared/severity (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20835\"\u003e#20835\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.3.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/379571a975f2b24d88037b9de2e72ec61d004130\"\u003e\u003ccode\u003e379571a\u003c/code\u003e\u003c/a\u003e feat: add suggestions for no-unused-private-class-members (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20773\"\u003e#20773\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b6ae5cf07b9b51802367539cb24b245b61eaa37c\"\u003e\u003ccode\u003eb6ae5cf\u003c/code\u003e\u003c/a\u003e fix: handle unavailable require cache (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20812\"\u003e#20812\u003c/a\u003e) (Simon Podlipsky)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6fb3685bcbe9a6f72fd7dfb9129686b6fb96b0bd\"\u003e\u003ccode\u003e6fb3685\u003c/code\u003e\u003c/a\u003e fix: rule suggestions cause continuation in class body (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20787\"\u003e#20787\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/32cc7ab4ec653ce89da92deb5c40a9f4fc707fe5\"\u003e\u003ccode\u003e32cc7ab\u003c/code\u003e\u003c/a\u003e docs: fix typos in docs and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20809\"\u003e#20809\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7f479376a2fa463d823ab762db6bb37ce8d2ee8f\"\u003e\u003ccode\u003e7f47937\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d32235ec19ceea211fa86452afa383ca05f5c2f9\"\u003e\u003ccode\u003ed32235e\u003c/code\u003e\u003c/a\u003e ci: use pnpm in \u003ccode\u003eeslint-flat-config-utils\u003c/code\u003e type integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20826\"\u003e#20826\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3ffb14ea517de750ed1181579ef844af342e4096\"\u003e\u003ccode\u003e3ffb14e\u003c/code\u003e\u003c/a\u003e chore: clean up typos in comments and JSDoc (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20821\"\u003e#20821\u003c/a\u003e) (Pixel998)\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/eslint/eslint/commit/452c4010c07dc2e36fe6ec6a8c48298878e86887\"\u003e\u003ccode\u003e452c401\u003c/code\u003e\u003c/a\u003e 10.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b6417e8b55c9525070d6e168b485ce6ff21688ed\"\u003e\u003ccode\u003eb6417e8\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6616856f28fa514a30f87b5539fc100d739a94bf\"\u003e\u003ccode\u003e6616856\u003c/code\u003e\u003c/a\u003e chore: upgrade knip to v6 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20875\"\u003e#20875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d13b084a3ad02f926e9addaa35fc383759ea5554\"\u003e\u003ccode\u003ed13b084\u003c/code\u003e\u003c/a\u003e ci: ensure auto-created PRs run CI (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20860\"\u003e#20860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e71c7af86dce9acc1d18cb12d2184309f6841594\"\u003e\u003ccode\u003ee71c7af\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20862\"\u003e#20862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84393dea170f54191fd20c8268b52c81c0ccd99\"\u003e\u003ccode\u003ed84393d\u003c/code\u003e\u003c/a\u003e test: add unit tests for SuppressionsService.applySuppressions() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20863\"\u003e#20863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.2.1...v10.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-prettier` from 5.5.5 to 5.5.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/releases\"\u003eeslint-plugin-prettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/pull/791\"\u003e#791\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: bump all (dev)Dependencies\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/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md\"\u003eeslint-plugin-prettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/pull/791\"\u003e#791\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: bump all (dev)Dependencies\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/prettier/eslint-plugin-prettier/commit/4f33ea5a503c6cdbda93424ebd13188a46a1a890\"\u003e\u003ccode\u003e4f33ea5\u003c/code\u003e\u003c/a\u003e chore: release eslint-plugin-prettier (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/792\"\u003e#792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/4745b54882a9011704764070a28aaaf0504efc92\"\u003e\u003ccode\u003e4745b54\u003c/code\u003e\u003c/a\u003e ci: declare workflow-level contents: read on 2 workflows (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e chore: bump all (dev)Dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/791\"\u003e#791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/e867680b2c1cf3748322c8c802690e7cfb78e233\"\u003e\u003ccode\u003ee867680\u003c/code\u003e\u003c/a\u003e chore(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/766\"\u003e#766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/e8e2f7f1dcad747f1d43168ee09956b512956593\"\u003e\u003ccode\u003ee8e2f7f\u003c/code\u003e\u003c/a\u003e chore: testing eslint v10 (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/779\"\u003e#779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/ca076d95aaf69aaf9c95abcc1692f8269197f248\"\u003e\u003ccode\u003eca076d9\u003c/code\u003e\u003c/a\u003e chore: update dev dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/42e636951f8d53d169b1f8c2b7e7dfd792711113\"\u003e\u003ccode\u003e42e6369\u003c/code\u003e\u003c/a\u003e build(deps): Bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/778\"\u003e#778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/53ff2143c03609e75b60e0e33d56c8089f0b364f\"\u003e\u003ccode\u003e53ff214\u003c/code\u003e\u003c/a\u003e Remove empty NPM_TOKEN from release.yml\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/compare/v5.5.5...v5.5.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typescript-eslint` from 8.59.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003etypescript-eslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\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/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md\"\u003etypescript-eslint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for typescript-eslint to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for typescript-eslint to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for typescript-eslint to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\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/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4b927c607755b2648d5854b9e928c1dbb2b8e088\"\u003e\u003ccode\u003e4b927c6\u003c/code\u003e\u003c/a\u003e fix(typescript-eslint): export Compatible* types from typescript-eslint to re...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/typescript-eslint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 4.1.5 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003evitest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\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/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/vitest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 29.1.0 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v29.1.0...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react` from 19.2.5 to 19.2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facebook/react/releases\"\u003ereact's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e19.2.6 (May 6th, 2026)\u003c/h2\u003e\n\u003ch2\u003eReact Server Components\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eType hardening and performance improvements\n(\u003ca href=\"https://redirect.github.com/facebook/react/pull/36425\"\u003e#36425\u003c/a\u003e by \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/unstubbable\"\u003e\u003ccode\u003e@​unstubbable\u003c/code\u003e\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/facebook/react/commit/eaf3e95ca92be7a23d3c9cc8ffd6f199a40be401\"\u003e\u003ccode\u003eeaf3e95\u003c/code\u003e\u003c/a\u003e Version 19.2.6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/facebook/react/commits/v19.2.6/packages/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/react` from 19.2.14 to 19.2.15\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-dom` from 19.2.5 to 19.2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facebook/react/releases\"\u003ereact-dom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e19.2.6 (May 6th, 2026)\u003c/h2\u003e\n\u003ch2\u003eReact Server Components\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eType hardening and performance improvements\n(\u003ca href=\"https://redirect.github.com/facebook/react/pull/36425\"\u003e#36425\u003c/a\u003e by \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/unstubbable\"\u003e\u003ccode\u003e@​unstubbable\u003c/code\u003e\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/facebook/react/commit/eaf3e95ca92be7a23d3c9cc8ffd6f199a40be401\"\u003e\u003ccode\u003eeaf3e95\u003c/code\u003e\u003c/a\u003e Version 19.2.6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/facebook/react/commits/v19.2.6/packages/react-dom\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `next` from 16.2.4 to 16.2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/next.js/releases\"\u003enext's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev16.2.6\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release contains security fixes and backported bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eSecurity Fixes\u003c/h3\u003e\n\u003cp\u003eThe following advisories have been addressed:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eHigh:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj\"\u003eGHSA-8h8q-6873-q5fj: Denial of Service with Server Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f\"\u003eGHSA-267c-6grr-h53f: Middleware / Proxy bypass in App Router applications via segment-prefetch routes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-26hh-7cqf-hhc6\"\u003eGHSA-26hh-7cqf-hhc6: Middleware / Proxy bypass in App Router applications via segment-prefetch routes - \u003cstrong\u003eIncomplete Fix Follow-Up\u003c/strong\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx\"\u003eGHSA-mg66-mrh9-m8jx: Denial of Service via connection exhaustion in applications using Cache Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv\"\u003eGHSA-492v-c6pp-mqqv: Middleware / Proxy bypass through dynamic route parameter injection\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r\"\u003eGHSA-c4j6-fc7j-m34r: Server-side request forgery in applications using WebSocket upgrades\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-36qx-fr4f-26g5\"\u003eGHSA-36qx-fr4f-26g5: Middleware / Proxy bypass in Pages Router applications using i18n\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eModerate:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-ffhc-5mcf-pf4q\"\u003eGHSA-ffhc-5mcf-pf4q: Cross-site scripting in App Router applications using CSP nonces\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-gx5p-jg67-6x7h\"\u003eGHSA-gx5p-jg67-6x7h: Cross-site scripting in beforeInteractive scripts with untrusted input\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-h64f-5h5j-jqjh\"\u003eGHSA-h64f-5h5j-jqjh: Denial of Service in the Image Optimization API\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-wfc6-r584-vfw7\"\u003eGHSA-wfc6-r584-vfw7: Cache poisoning in React Server Component responses\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eLow:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-vfv6-92ff-j949\"\u003eGHSA-vfv6-92ff-j949: Cache poisoning via collisions in React Server Component cache-busting\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-3g8h-86w9-wvmq\"\u003eGHSA-3g8h-86w9-wvmq: Middleware / Proxy redirects can be cache-poisoned\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: preserve HTTP access fallbacks during prerender recovery (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/92231\"\u003e#92231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix fallback route params case in app-page handler (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/91737\"\u003e#91737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix invalid HTML response for route-level RSC requests in deployment adapter (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/91541\"\u003e#91541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePatch setHeader for direct route handlers (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93101\"\u003e#93101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude deployment id in \u003ccode\u003ecacheHandlers\u003c/code\u003e keys (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93453\"\u003e#93453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix double-encoding of URL pathname parts in client param parsing (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93491\"\u003e#93491\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev16.2.5\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release contains security fixes and backported bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eSecurity Fixes\u003c/h3\u003e\n\u003cp\u003eThe following advisories have been addressed:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eHigh:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj\"\u003eGHSA-8h8q-6873-q5fj: Denial of Service with Server Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f\"\u003eGHSA-267c-6grr-h53f: Middleware / Proxy bypass in App Router applications via segment-prefetch routes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx\"\u003eGHSA-mg66-mrh9-m8jx: Denial of Service via connection exhaustion in applications using Cache Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv\"\u003eGHSA-492v-c6pp-mqqv: Middleware / Proxy bypass through dynamic route parameter injection\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r\"\u003eGHSA-c4j6-fc7j-m34r: Server-side request forgery in applications using WebSocket upgrades\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/vercel/next.js/commit/ee6e79b1792a4d401ddf2480f40a83549fe8e722\"\u003e\u003ccode\u003eee6e79b\u003c/code\u003e\u003c/a\u003e v16.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/afa053d9eb9c2a68c7eba43e84fe6bed8babcd45\"\u003e\u003ccode\u003eafa053d\u003c/code\u003e\u003c/a\u003e Turbopack: Match proxy matchers with webpack implementation (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93594\"\u003e#93594\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/97a154e5bbee0cb1ac3fb8aa4db66ac36e796e3d\"\u003e\u003ccode\u003e97a154e\u003c/code\u003e\u003c/a\u003e Turbopack: Fix middleware matcher suffix (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93590\"\u003e#93590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/83899bc89103d4df1479e065c7c1e09d4698a7b6\"\u003e\u003ccode\u003e83899bc\u003c/code\u003e\u003c/a\u003e [backport] Disable build caches for production/staging/force-preview deploys ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/7b222b90954d607fc28a34e9b360a9b1636bc206\"\u003e\u003ccode\u003e7b222b9\u003c/code\u003e\u003c/a\u003e [backport][test] Pin package manager to patch versions (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93595\"\u003e#93595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/a8dc24f1fe23d4a22d24fac734837f7c824138f7\"\u003e\u003ccode\u003ea8dc24f\u003c/code\u003e\u003c/a\u003e [backport] Turbopack: more strict vergen setup (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/93587\"\u003e#93587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/766148f9cd48c0e218acafcd0f15defc14871bf4\"\u003e\u003ccode\u003e766148f\u003c/code\u003e\u003c/a\u003e v16.2.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/0dd94836a8b43209fcfefa448c141683c22c1a27\"\u003e\u003ccode\u003e0dd9483\u003c/code\u003e\u003c/a\u003e fix: add explicit checks for RSC header (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/83\"\u003e#83\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/98\"\u003e#98\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/d166096c399c4fc4e09cd2d1bf26dca6579a855d\"\u003e\u003ccode\u003ed166096\u003c/code\u003e\u003c/a\u003e fix proxy matching for segment prefetch URLs (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/89\"\u003e#89\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/96\"\u003e#96\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/9d50c0b7190f59c470308578e12882788819f14c\"\u003e\u003ccode\u003e9d50c0b\u003c/code\u003e\u003c/a\u003e Strip next-resume header from incoming requests (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/92\"\u003e#92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/next.js/compare/v16.2.4...v16.2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for next since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.6.0 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `playwright` from 1.59.1 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003eplaywright's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption....\n\n_Description has been truncated_","html_url":"https://github.com/neonwatty/nav-map/pull/139","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/neonwatty%2Fnav-map/issues/139","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/139/packages"}},{"old_version":"26.1.0","new_version":"29.1.1","update_type":"major","path":null,"pr_created_at":"2026-05-28T14:16:30.000Z","version_change":"26.1.0 → 29.1.1","issue":{"uuid":"4541115891","node_id":"PR_kwDOSd1lHc7gRGDd","number":7,"state":"closed","title":"Bump the dev-tooling group with 6 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-28T20:51:26.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-28T14:16:30.000Z","updated_at":"2026-05-28T20:51:28.000Z","time_to_close":23696,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dev-tooling","update_count":6,"packages":[{"name":"@vitest/coverage-v8","old_version":"3.2.4","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"eslint","old_version":"9.39.4","new_version":"10.4.0","repository_url":"https://github.com/eslint/eslint"},{"name":"jsdom","old_version":"26.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"vite","old_version":"6.4.2","new_version":"8.0.14","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"3.2.4","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-tooling group with 6 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `3.2.4` | `4.1.7` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.4` | `10.4.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `26.1.0` | `29.1.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `6.4.2` | `8.0.14` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `3.2.4` | `4.1.7` |\n\nUpdates `@vitest/coverage-v8` from 3.2.4 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/coverage-v8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.5\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option  -  by \u003ca href=\"https://github.com/BartWaardenburg\"\u003e\u003ccode\u003e@​BartWaardenburg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10119\"\u003evitest-dev/vitest#10119\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7\"\u003e\u003c!-- raw HTML omitted --\u003e(0e0ff)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e--project negation excludes browser instances  -  by \u003ca href=\"https://github.com/felamaslen\"\u003e\u003ccode\u003e@​felamaslen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10131\"\u003evitest-dev/vitest#10131\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc084\"\u003e\u003c!-- raw HTML omitted --\u003e(9423d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProject color label on html reporter  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10142\"\u003evitest-dev/vitest#10142\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986\"\u003e\u003c!-- raw HTML omitted --\u003e(596f7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10163\"\u003evitest-dev/vitest#10163\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b\"\u003e\u003c!-- raw HTML omitted --\u003e(122c2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10157\"\u003evitest-dev/vitest#10157\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3\"\u003e\u003c!-- raw HTML omitted --\u003e(663b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedad\"\u003e\u003c!-- raw HTML omitted --\u003e(9787d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions \u0026quot;  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd\"\u003e\u003c!-- raw HTML omitted --\u003e(7dc6d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003east-collect\u003c/strong\u003e: Recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery  -  by \u003ca href=\"https://github.com/Yejneshwar\"\u003e\u003ccode\u003e@​Yejneshwar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10129\"\u003evitest-dev/vitest#10129\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab2\"\u003e\u003c!-- raw HTML omitted --\u003e(32546)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Descriptive error message when reports directory is removed during test run  -  by \u003ca href=\"https://github.com/DaveT1991\"\u003e\u003ccode\u003e@​DaveT1991\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10117\"\u003evitest-dev/vitest#10117\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1413382e1\"\u003e\u003c!-- raw HTML omitted --\u003e(14133)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e: Increase default snapshot max output length  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10150\"\u003evitest-dev/vitest#10150\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/21e66ff63\"\u003e\u003c!-- raw HTML omitted --\u003e(21e66)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e: Fix jsx/tsx syntax highlight  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10152\"\u003evitest-dev/vitest#10152\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b\"\u003e\u003c!-- raw HTML omitted --\u003e(f1b1f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eweb-worker\u003c/strong\u003e: Support MessagePort objects referenced inside postMessage data  -  by \u003ca href=\"https://github.com/whitphx\"\u003e\u003ccode\u003e@​whitphx\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9927\"\u003evitest-dev/vitest#9927\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10124\"\u003evitest-dev/vitest#10124\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7ad7d39af\"\u003e\u003c!-- raw HTML omitted --\u003e(7ad7d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e: Make test-specification options writable  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10154\"\u003evitest-dev/vitest#10154\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7\"\u003e\u003c!-- raw HTML omitted --\u003e(6abd5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.4\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDefault to text reporter \u003ccode\u003eskipFull\u003c/code\u003e if agent detected  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10018\"\u003evitest-dev/vitest#10018\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/53757804c\"\u003e\u003c!-- raw HTML omitted --\u003e(53757)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eExpose \u003ccode\u003eassertion\u003c/code\u003e as a public field  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10095\"\u003evitest-dev/vitest#10095\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a120e3ab8\"\u003e\u003c!-- raw HTML omitted --\u003e(a120e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport aria snapshot  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e, \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9668\"\u003evitest-dev/vitest#9668\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d4fbb5cc9\"\u003e\u003c!-- raw HTML omitted --\u003e(d4fbb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/ac04bac206f49d793e7277084f707aee718aa936\"\u003e\u003ccode\u003eac04bac\u003c/code\u003e\u003c/a\u003e chore: release v4.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/2dc0d62eaf08d8acb1f5042fdb8ac5b4a19fdc73\"\u003e\u003ccode\u003e2dc0d62\u003c/code\u003e\u003c/a\u003e chore: release v4.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/fc6f482f4c54bf6a766a0ff502b9843994af5bf5\"\u003e\u003ccode\u003efc6f482\u003c/code\u003e\u003c/a\u003e chore: release v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/1f2d318493363855b66a22caaf7c1c10579029d5\"\u003e\u003ccode\u003e1f2d318\u003c/code\u003e\u003c/a\u003e chore: release v4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/aaf9f18ae70e52b6e67aaf85f7f784d9dabd0acc\"\u003e\u003ccode\u003eaaf9f18\u003c/code\u003e\u003c/a\u003e fix(coverage): simplify provider types (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9931\"\u003e#9931\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/4150b913171bda3971a4a4c47c633c26d0c6ae45\"\u003e\u003ccode\u003e4150b91\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0c2c01361a95dd26d0d7fd7bc38bcca8dbc6e5d2\"\u003e\u003ccode\u003e0c2c013\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0-beta.6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​vitest/coverage-v8\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 9.39.4 to 10.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf\"\u003e\u003ccode\u003e1a45ec5\u003c/code\u003e\u003c/a\u003e feat: check sequence expressions in \u003ccode\u003efor-direction\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20701\"\u003e#20701\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b\"\u003e\u003ccode\u003e450040b\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to \u003ccode\u003eeslint/config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20735\"\u003e#20735\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c\"\u003e\u003ccode\u003e6799431\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-helpers\u003c/code\u003e to ^0.6.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20850\"\u003e#20850\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd\"\u003e\u003ccode\u003ef078fef\u003c/code\u003e\u003c/a\u003e fix: handle non-array deprecated rule replacements (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20825\"\u003e#20825\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f\"\u003e\u003ccode\u003e9cc7387\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5\"\u003e\u003ccode\u003e3d7b548\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb\"\u003e\u003ccode\u003e191ec3c\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6616856f28fa514a30f87b5539fc100d739a94bf\"\u003e\u003ccode\u003e6616856\u003c/code\u003e\u003c/a\u003e chore: upgrade knip to v6 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20875\"\u003e#20875\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d13b084a3ad02f926e9addaa35fc383759ea5554\"\u003e\u003ccode\u003ed13b084\u003c/code\u003e\u003c/a\u003e ci: ensure auto-created PRs run CI (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20860\"\u003e#20860\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e71c7af86dce9acc1d18cb12d2184309f6841594\"\u003e\u003ccode\u003ee71c7af\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20862\"\u003e#20862\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84393dea170f54191fd20c8268b52c81c0ccd99\"\u003e\u003ccode\u003ed84393d\u003c/code\u003e\u003c/a\u003e test: add unit tests for SuppressionsService.applySuppressions() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20863\"\u003e#20863\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/24db8cb8e6f07fba667121777a15b1785486be94\"\u003e\u003ccode\u003e24db8cb\u003c/code\u003e\u003c/a\u003e test: add tests for SuppressionsService.save() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20802\"\u003e#20802\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2ef0549cac4a9537e4c3a26b9f3edd4c99476bf6\"\u003e\u003ccode\u003e2ef0549\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20857\"\u003e#20857\u003c/a\u003e) (github-actions[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a4297918d264d229a06cd96051ef9b91c7b86732\"\u003e\u003ccode\u003ea429791\u003c/code\u003e\u003c/a\u003e ci: remove \u003ccode\u003eeslint-webpack-plugin\u003c/code\u003e types integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20668\"\u003e#20668\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9e37386aa7f2ce220b2ef74a6afbac5f6b3527c5\"\u003e\u003ccode\u003e9e37386\u003c/code\u003e\u003c/a\u003e chore: replace \u003ccode\u003erecast\u003c/code\u003e with range approach in code-sample-minimizer (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20682\"\u003e#20682\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0dd1f9ffc9a07704d46e2a4c8d4ccc0d0908b0c0\"\u003e\u003ccode\u003e0dd1f9f\u003c/code\u003e\u003c/a\u003e test: disable warning for \u003ccode\u003evm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20845\"\u003e#20845\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9da3c7bc92d9579f8db19ecb56e718538d09db2b\"\u003e\u003ccode\u003e9da3c7b\u003c/code\u003e\u003c/a\u003e refactor: remove deprecated \u003ccode\u003emeta.language\u003c/code\u003e and migrate \u003ccode\u003emeta.dialects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20716\"\u003e#20716\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2099ed12a0a74c3d7f0808514362af2499b4fe2b\"\u003e\u003ccode\u003e2099ed1\u003c/code\u003e\u003c/a\u003e refactor: add \u003ccode\u003emeta.defaultOptions\u003c/code\u003e to more rules, enable linting (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20800\"\u003e#20800\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f1dfbc9ca57196de7092e1888cc99427bd6fe06e\"\u003e\u003ccode\u003ef1dfbc9\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20836\"\u003e#20836\u003c/a\u003e) (github-actions[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c75941390c14728806cd4baef4f6072f6de78318\"\u003e\u003ccode\u003ec759413\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.3 to 6.0.5 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20843\"\u003e#20843\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b817d6fdc9ae2c35b528dc662b2eca8f40f64aa\"\u003e\u003ccode\u003e5b817d6\u003c/code\u003e\u003c/a\u003e test: add unit tests for lib/shared/ast-utils (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20838\"\u003e#20838\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1c13ae3934c198c494e5958fa3a68b33244ff06a\"\u003e\u003ccode\u003e1c13ae3\u003c/code\u003e\u003c/a\u003e test: add unit tests for lib/shared/severity (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20835\"\u003e#20835\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.3.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/379571a975f2b24d88037b9de2e72ec61d004130\"\u003e\u003ccode\u003e379571a\u003c/code\u003e\u003c/a\u003e feat: add suggestions for no-unused-private-class-members (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20773\"\u003e#20773\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b6ae5cf07b9b51802367539cb24b245b61eaa37c\"\u003e\u003ccode\u003eb6ae5cf\u003c/code\u003e\u003c/a\u003e fix: handle unavailable require cache (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20812\"\u003e#20812\u003c/a\u003e) (Simon Podlipsky)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6fb3685bcbe9a6f72fd7dfb9129686b6fb96b0bd\"\u003e\u003ccode\u003e6fb3685\u003c/code\u003e\u003c/a\u003e fix: rule suggestions cause continuation in class body (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20787\"\u003e#20787\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/32cc7ab4ec653ce89da92deb5c40a9f4fc707fe5\"\u003e\u003ccode\u003e32cc7ab\u003c/code\u003e\u003c/a\u003e docs: fix typos in docs and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20809\"\u003e#20809\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7f479376a2fa463d823ab762db6bb37ce8d2ee8f\"\u003e\u003ccode\u003e7f47937\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d32235ec19ceea211fa86452afa383ca05f5c2f9\"\u003e\u003ccode\u003ed32235e\u003c/code\u003e\u003c/a\u003e ci: use pnpm in \u003ccode\u003eeslint-flat-config-utils\u003c/code\u003e type integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20826\"\u003e#20826\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3ffb14ea517de750ed1181579ef844af342e4096\"\u003e\u003ccode\u003e3ffb14e\u003c/code\u003e\u003c/a\u003e chore: clean up typos in comments and JSDoc (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20821\"\u003e#20821\u003c/a\u003e) (Pixel998)\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/eslint/eslint/commit/452c4010c07dc2e36fe6ec6a8c48298878e86887\"\u003e\u003ccode\u003e452c401\u003c/code\u003e\u003c/a\u003e 10.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b6417e8b55c9525070d6e168b485ce6ff21688ed\"\u003e\u003ccode\u003eb6417e8\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6616856f28fa514a30f87b5539fc100d739a94bf\"\u003e\u003ccode\u003e6616856\u003c/code\u003e\u003c/a\u003e chore: upgrade knip to v6 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20875\"\u003e#20875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d13b084a3ad02f926e9addaa35fc383759ea5554\"\u003e\u003ccode\u003ed13b084\u003c/code\u003e\u003c/a\u003e ci: ensure auto-created PRs run CI (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20860\"\u003e#20860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e71c7af86dce9acc1d18cb12d2184309f6841594\"\u003e\u003ccode\u003ee71c7af\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20862\"\u003e#20862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84393dea170f54191fd20c8268b52c81c0ccd99\"\u003e\u003ccode\u003ed84393d\u003c/code\u003e\u003c/a\u003e test: add unit tests for SuppressionsService.applySuppressions() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20863\"\u003e#20863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v9.39.4...v10.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 26.1.0 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\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/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v26.1.0...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typescript` from 5.9.3 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/TypeScript/releases\"\u003etypescript's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTypeScript 6.0.3\u003c/h2\u003e\n\u003cp\u003eFor release notes, check out the \u003ca href=\"https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/\"\u003erelease announcement blog post\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.0%22\"\u003efixed issues query for TypeScript 6.0.0 (Beta)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.1%22\"\u003efixed issues query for TypeScript 6.0.1 (RC)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.2%22\"\u003efixed issues query for TypeScript 6.0.2 (Stable)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.3%22\"\u003efixed issues query for TypeScript 6.0.3 (Stable)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDownloads are available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/typescript\"\u003enpm\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTypeScript 6.0\u003c/h2\u003e\n\u003cp\u003eFor release notes, check out the \u003ca href=\"https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/\"\u003erelease announcement blog post\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.0%22\"\u003efixed issues query for TypeScript 6.0.0 (Beta)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.1%22\"\u003efixed issues query for TypeScript 6.0.1 (RC)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.2%22\"\u003efixed issues query for TypeScript 6.0.2 (Stable)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDownloads are available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/typescript\"\u003enpm\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTypeScript 6.0 Beta\u003c/h2\u003e\n\u003cp\u003eFor release notes, check out the \u003ca href=\"https://devblogs.microsoft.com/typescript/announcing-typescript-6-0-beta/\"\u003erelease announcement\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.0%22+is%3Aclosed+\"\u003efixed issues query for Typescript 6.0.0 (Beta)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDownloads are available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/typescript\"\u003enpm\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/microsoft/TypeScript/commit/050880ce59e30b356b686bd3144efe24f875ebc8\"\u003e\u003ccode\u003e050880c\u003c/code\u003e\u003c/a\u003e Bump version to 6.0.3 and LKG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/eeae9dd0f17aa494658e4ec079dc002e02dd625e\"\u003e\u003ccode\u003eeeae9dd\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63401\"\u003e#63401\u003c/a\u003e (Also check package name validity in...) into release-6.0 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/ad1c695fada682764bb510dd680e8f175ae54094\"\u003e\u003ccode\u003ead1c695\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63368\"\u003e#63368\u003c/a\u003e (Harden ATA package name filtering) into release-6.0 (\u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63372\"\u003e#63372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/0725fb4664a1d5ec94040b6d94db77dc1cc354e4\"\u003e\u003ccode\u003e0725fb4\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63310\"\u003e#63310\u003c/a\u003e (Mark class property initializers as...) into release-6.0 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/607a22a90d1a5a1b507ce01bb8cd7ec020f954e7\"\u003e\u003ccode\u003e607a22a\u003c/code\u003e\u003c/a\u003e Bump version to 6.0.2 and LKG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/9e72ab71b575e26795d0d9eac3d2d9957beed17c\"\u003e\u003ccode\u003e9e72ab7\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63239\"\u003e#63239\u003c/a\u003e (Fix missing lib files in reused pro...) into release-6.0 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/35ff23d4b0cc715691323ebe54f523c16fe6e3a5\"\u003e\u003ccode\u003e35ff23d\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63163\"\u003e#63163\u003c/a\u003e (Port anyFunctionType subtype fix an...) into release-6.0 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/e175b69138038953d4e85bf6529afe88d56d8fbe\"\u003e\u003ccode\u003ee175b69\u003c/code\u003e\u003c/a\u003e Bump version to 6.0.1-rc and LKG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/af4caac0e91e838c46b3fdc1c9afacad68800f89\"\u003e\u003ccode\u003eaf4caac\u003c/code\u003e\u003c/a\u003e Update LKG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/8efd7e8544d8b35c9b33bca44a3124aa2613bf09\"\u003e\u003ccode\u003e8efd7e8\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/main' into release-6.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/TypeScript/compare/v5.9.3...v6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite` from 6.4.2 to 8.0.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/releases\"\u003evite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.14\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.14/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.13\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.13/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.12\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.12/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.11\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.11/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.10\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.10/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.9\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.9/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.8\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.8/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.7\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.7/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.6\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.6/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.5\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.5/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.4\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.4/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ecreate-vite@8.0.3\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.3/packages/create-vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.3\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.3/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ecreate-vite@8.0.2\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.2/packages/create-vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.0.2\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.2/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003eplugin-legacy@8.0.2\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/plugin-legacy@8.0.2/packages/plugin-legacy/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ecreate-vite@8.0.1\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.1/packages/create-vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md\"\u003evite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.0.13...v8.0.14\"\u003e8.0.14\u003c/a\u003e (2026-05-21)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rolldown to 1.0.2 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22484\"\u003e#22484\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/96efc88570b6a6ddf1a910f106920cbac07b3cf0\"\u003e96efc88\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update all non-major dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22471\"\u003e#22471\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/98b81632139d51820f82036e58d6fbbf122b77b3\"\u003e98b8163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edev:\u003c/strong\u003e handle errors when sending messages to vite server (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22450\"\u003e#22450\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e8e9a34dcf2540139de558a10187630884d10217\"\u003ee8e9a34\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e handle trailing slash paths in transformIndexHtml (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22480\"\u003e#22480\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5d94d1bffdb2a15de9341194d89baec86ce1f693\"\u003e5d94d1b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e pass oxc jsx options to transformSync in dependency scan                                                            (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22342\"\u003e#22342\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/b3132dacea9c6e0cf526cd9f0f09d850f577c262\"\u003eb3132da\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22470\"\u003e#22470\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/7cb728eb629cc677661f1bc52a044ffc0b87fc7f\"\u003e7cb728e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove irrelevant commits from changelog (\u003ca href=\"https://github.com/vitejs/vite/commit/2c69495f250edf01132d4a20128de19dbe836086\"\u003e2c69495\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eglob:\u003c/strong\u003e do not rewrite import path for absolute base (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22310\"\u003e#22310\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/0ae2844ab6d6d1ccf78a2975b8132769fc35b302\"\u003e0ae2844\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e sass does not use main field (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22449\"\u003e#22449\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/ebf39a04329ddc6ba765e006a5d463680a952270\"\u003eebf39a0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.0.12...v8.0.13\"\u003e8.0.13\u003c/a\u003e (2026-05-14)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e add lazy bundling support (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/21406\"\u003e#21406\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/4f0949f3f13e4b2b34d32bf7b2b4de5f26bea192\"\u003e4f0949f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e improve the esbuild plugin converter to pass some properties of build result to \u003ccode\u003eonEnd\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22357\"\u003e#22357\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/47071ce53f21726cf39e999c4407c4828ecbe957\"\u003e47071ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate rolldown to 1.0.1 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22444\"\u003e#22444\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8c766a6c5ee014969c4e32f29cc265e8e2c96e18\"\u003e8c766a6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e copy public directory after building same environment with \u003ccode\u003ewrite=false\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22328\"\u003e#22328\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/158e8ae8efdf7075ab295727e36b5ff68da3243e\"\u003e158e8ae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e await sass/less/styl worker disposal on teardown (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22274\"\u003e#22274\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22275\"\u003e#22275\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/b7edcb7d0dd17ddfeef4ace78d610c099216dade\"\u003eb7edcb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e keep deprecated \u003ccode\u003ename\u003c/code\u003e/\u003ccode\u003eoriginalFileName\u003c/code\u003e in synthetic \u003ccode\u003eassetFileNames\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22439\"\u003e#22439\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8e59c97a44d923c4c06f67287a793c9aa5a4ebaa\"\u003e8e59c97\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake \u003ccode\u003eisBundled\u003c/code\u003e per environment (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22257\"\u003e#22257\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/a5763266170f8606836da5c6f987b4b2fd6ddc55\"\u003ea576326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003essr:\u003c/strong\u003e avoid rewriting labels that collide with imports (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22451\"\u003e#22451\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/d9b18e0387a253628d3d834288e79c5f7e85d566\"\u003ed9b18e0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eremove irrelevant commits from changelog (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22430\"\u003e#22430\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6ea383859aaf0ef8e673b458f164e84aeb6ff51d\"\u003e6ea3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate changelog (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22413\"\u003e#22413\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fcdc87cc6799857e2bab0f44f333a681694fff74\"\u003efcdc87c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.0.11...v8.0.12\"\u003e8.0.12\u003c/a\u003e (2026-05-11)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rolldown to 1.0.0 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22401\"\u003e#22401\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/cf0ff4154b26cffbf18541ade1a50818842731d3\"\u003ecf0ff41\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/vitejs/vite/commit/c917f1ef9d9c6ef131af96d89089d8ec680b18f2\"\u003e\u003ccode\u003ec917f1e\u003c/code\u003e\u003c/a\u003e release: v8.0.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/5d94d1bffdb2a15de9341194d89baec86ce1f693\"\u003e\u003ccode\u003e5d94d1b\u003c/code\u003e\u003c/a\u003e fix(html): handle trailing slash paths in transformIndexHtml (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22480\"\u003e#22480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/98b81632139d51820f82036e58d6fbbf122b77b3\"\u003e\u003ccode\u003e98b8163\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22471\"\u003e#22471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/96efc88570b6a6ddf1a910f106920cbac07b3cf0\"\u003e\u003ccode\u003e96efc88\u003c/code\u003e\u003c/a\u003e feat: update rolldown to 1.0.2 (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22484\"\u003e#22484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/ebf39a04329ddc6ba765e006a5d463680a952270\"\u003e\u003ccode\u003eebf39a0\u003c/code\u003e\u003c/a\u003e test(css): sass does not use main field (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22449\"\u003e#22449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/0ae2844ab6d6d1ccf78a2975b8132769fc35b302\"\u003e\u003ccode\u003e0ae2844\u003c/code\u003e\u003c/a\u003e refactor(glob): do not rewrite import path for absolute base (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22310\"\u003e#22310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/7cb728eb629cc677661f1bc52a044ffc0b87fc7f\"\u003e\u003ccode\u003e7cb728e\u003c/code\u003e\u003c/a\u003e chore(deps): update rolldown-related dependencies (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22470\"\u003e#22470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/b3132dacea9c6e0cf526cd9f0f09d850f577c262\"\u003e\u003ccode\u003eb3132da\u003c/code\u003e\u003c/a\u003e fix(optimizer): pass oxc jsx options to transformSync in dependency scan     ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/e8e9a34dcf2540139de558a10187630884d10217\"\u003e\u003ccode\u003ee8e9a34\u003c/code\u003e\u003c/a\u003e fix(dev): handle errors when sending messages to vite server (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22450\"\u003e#22450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/2c69495f250edf01132d4a20128de19dbe836086\"\u003e\u003ccode\u003e2c69495\u003c/code\u003e\u003c/a\u003e chore: remove irrelevant commits from changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitejs/vite/commits/v8.0.14/packages/vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 3.2.4 to 4.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003evitest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner\u003c/strong\u003e: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10384\"\u003evitest-dev/vitest#10384\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4f0f2a1ee\"\u003e\u003c!-- raw HTML omitted --\u003e(4f0f2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.5\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option  -  by \u003ca href=\"https://github.com/BartWaardenburg\"\u003e\u003ccode\u003e@​BartWaardenburg\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10119\"\u003evitest-dev/vitest#10119\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7\"\u003e\u003c!-- raw HTML omitted --\u003e(0e0ff)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e--project negation excludes browser instances  -  by \u003ca href=\"https://github.com/felamaslen\"\u003e\u003ccode\u003e@​felamaslen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10131\"\u003evitest-dev/vitest#10131\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc084\"\u003e\u003c!-- raw HTML omitted --\u003e(9423d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProject color label on html reporter  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10142\"\u003evitest-dev/vitest#10142\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986\"\u003e\u003c!-- raw HTML omitted --\u003e(596f7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10163\"\u003evitest-dev/vitest#10163\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b\"\u003e\u003c!-- raw HTML omitted --\u003e(122c2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10157\"\u003evitest-dev/vitest#10157\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3\"\u003e\u003c!-- raw HTML omitted --\u003e(663b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedad\"\u003e\u003c!-- raw HTML omitted --\u003e(9787d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions \u0026quot;  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd\"\u003e\u003c!-- raw HTML omitted --\u003e(7dc6d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003east-collect\u003c/strong\u003e: Recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery  -  by \u003ca href=\"https://github.com/Yejneshwar\"\u003e\u003ccode\u003e@​Yejneshwar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10129\"\u003evitest-dev/vitest#10129\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab2\"\u003e\u003c!-- raw HTML omitted --\u003e(32546)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Descriptive error message when reports directory is removed during test run  -  by \u003ca href=\"https://github.com/DaveT1991\"\u003e\u003ccode\u003e@​DaveT1991\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10117\"\u003evitest-dev/vitest#10117\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1413382e1\"\u003e\u003c!-- raw HTML omitted --\u003e(14133)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e: Increase default snapshot max output length  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10150\"\u003evitest-dev/vitest#10150\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/21e66ff63\"\u003e\u003c!-- raw HTML omitted --\u003e(21e66)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e: Fix jsx/tsx syntax highlight  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10152\"\u003evitest-dev/vitest#10152\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b\"\u003e\u003c!-- raw HTML omitted --\u003e(f1b1f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eweb-worker\u003c/strong\u003e: Support MessagePort objects referenced inside postMessage data  -  by \u003ca href=\"https://github.com/whitphx\"\u003e\u003ccode\u003e@​whitphx\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9927\"\u003evitest-dev/vitest#9927\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10124\"\u003evitest-dev/vitest#10124\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7ad7d39af\"\u003e\u003c!-- raw HTML omitted --\u003e(7ad7d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e: Make test-specification options writable  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10154\"\u003evitest-dev/vitest#10154\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7\"\u003e\u003c!-- raw HTML omitted --\u003e(6abd5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.4\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDefault to text reporter \u003ccode\u003eskipFull\u003c/code\u003e if agent detected  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10018\"\u003evitest-dev/vitest#10018\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/53757804c\"\u003e\u003c!-- raw HTML omitted --\u003e(53757)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eExpose \u003ccode\u003eassertion\u003c/code\u003e as a public field  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10095\"\u003evitest-dev/vitest#10095\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a120e3ab8\"\u003e\u003c!-- raw HTML omitted --\u003e(a120e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport aria snapshot  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e, \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9668\"\u003evitest-dev/vitest#9668\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d4fbb5cc9\"\u003e\u003c!-- raw HTML omitted --\u003e(d4fbb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a09d47236e19fd3151351080c667036ca6164dc4\"\u003e\u003ccode\u003ea09d472\u003c/code\u003e\u003c/a\u003e chore: release v4.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7e86d6e2bf581f074dc216805d10d371\"\u003e\u003ccode\u003e0e0ff41\u003c/code\u003e\u003c/a\u003e feat(coverage): istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10119\"\u003e#10119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3e6a60fc8a7ccd2d9941d1cbe929b606\"\u003e\u003ccode\u003e663b99f\u003c/code\u003e\u003c/a\u003e fix: alias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10157\"\u003e#10157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.7/packages/vitest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for vitest since your current version.\u003c/p\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/etherman-os/drberkay-pixel-hospital/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/etherman-os%2Fdrberkay-pixel-hospital/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}},{"old_version":"29.1.0","new_version":"29.1.1","update_type":"patch","path":null,"pr_created_at":"2026-05-28T01:08:47.000Z","version_change":"29.1.0 → 29.1.1","issue":{"uuid":"4536875790","node_id":"PR_kwDOQsoecM7gDTip","number":144,"state":"open","title":"chore(deps-dev): bump the development-dependencies group across 1 directory with 21 updates","user":"dependabot[bot]","labels":[],"assignees":["Alice39s"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-28T01:08:47.000Z","updated_at":"2026-05-28T01:08:49.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"development-dependencies","update_count":21,"packages":[{"name":"@types/node","old_version":"25.6.0","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"lefthook","old_version":"2.1.6","new_version":"2.1.8","repository_url":"https://github.com/evilmartians/lefthook"},{"name":"oxlint","old_version":"1.62.0","new_version":"1.67.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"semver","old_version":"7.7.4","new_version":"7.8.1","repository_url":"https://github.com/npm/node-semver"},{"name":"turbo","old_version":"2.9.6","new_version":"2.9.15","repository_url":"https://github.com/vercel/turborepo"},{"name":"@babel/core","old_version":"7.29.0","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/preset-env","old_version":"7.29.2","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/preset-react","old_version":"7.28.5","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/preset-typescript","old_version":"7.28.5","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@types/react","old_version":"19.2.14","new_version":"19.2.15","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"jsdom","old_version":"29.1.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vue/test-utils","old_version":"2.4.9","new_version":"2.4.10","repository_url":"https://github.com/vuejs/test-utils"},{"name":"@vitejs/plugin-react","old_version":"6.0.1","new_version":"6.0.2","repository_url":"https://github.com/vitejs/vite-plugin-react"},{"name":"eslint","old_version":"10.2.1","new_version":"10.4.0","repository_url":"https://github.com/eslint/eslint"},{"name":"globals","old_version":"17.5.0","new_version":"17.6.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"typescript-eslint","old_version":"8.59.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitejs/plugin-vue","old_version":"6.0.6","new_version":"6.0.7","repository_url":"https://github.com/vitejs/vite-plugin-vue"},{"name":"vue-tsc","old_version":"3.2.7","new_version":"3.3.2","repository_url":"https://github.com/vuejs/language-tools"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 20 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.0` | `25.9.1` |\n| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.6` | `2.1.8` |\n| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.62.0` | `1.67.0` |\n| [semver](https://github.com/npm/node-semver) | `7.7.4` | `7.8.1` |\n| [turbo](https://github.com/vercel/turborepo) | `2.9.6` | `2.9.15` |\n| [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `7.29.0` | `7.29.7` |\n| [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) | `7.29.2` | `7.29.7` |\n| [@babel/preset-react](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react) | `7.28.5` | `7.29.7` |\n| [@babel/preset-typescript](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-typescript) | `7.28.5` | `7.29.7` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.15` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.7` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.1.0` | `29.1.1` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.7` |\n| [@vue/test-utils](https://github.com/vuejs/test-utils) | `2.4.9` | `2.4.10` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [eslint](https://github.com/eslint/eslint) | `10.2.1` | `10.4.0` |\n| [globals](https://github.com/sindresorhus/globals) | `17.5.0` | `17.6.0` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.1` | `8.60.0` |\n| [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) | `6.0.6` | `6.0.7` |\n| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.2.7` | `3.3.2` |\n\n\nUpdates `@types/node` from 25.6.0 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lefthook` from 2.1.6 to 2.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/evilmartians/lefthook/releases\"\u003elefthook's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.8\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e488a5f99a5a496e5837f757f8ce3e6c6d1415792 fix: do not warn if local hooks path is equal to default hooks path (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1421\"\u003e#1421\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.7\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ef415a9d3fce1d4f6af62622cf96c72e04ecf7bd3 chore: go mod tidy\u003c/li\u003e\n\u003cli\u003ecf4ab9ea4580f5aeb0d4b61d4dd169533e5bb0c9 fix: always restore unstaged changes (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1416\"\u003e#1416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4c0e000d6fe9f35f42efefb9263b0b4cb5dfbd49 fix: apply stage_fixed only if it is safe (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1418\"\u003e#1418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e76aa843ef5ceb6970f61cd2ff28d16dd2ec82272 fix: linter, sacrifice optimization for readability\u003c/li\u003e\n\u003cli\u003e9d53c36ed9a26d3bf66e341a9650a0ecac9b6a37 fix: separate fallback push branch from pathspecs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1396\"\u003e#1396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e22c9f773cf93b59005bd244c5b00caab2947a755 fix: try to always restore unstaged changes (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1417\"\u003e#1417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e37d83986d8e6d6bf6792f57e22e7cbb1a9e28064 fix: use contrast colors (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1420\"\u003e#1420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eeb1064d0b8c6248627960bea1abf6891db5a21b1 refactor: add new logger without a global state (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1385\"\u003e#1385\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/evilmartians/lefthook/blob/master/CHANGELOG.md\"\u003elefthook's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.8 (2026-05-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: do not warn if local hooks path is equal to default hooks path (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1421\"\u003e#1421\u003c/a\u003e) by \u003ca href=\"\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.7 (2026-05-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: use contrast colors (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1420\"\u003e#1420\u003c/a\u003e) by \u003ca href=\"\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: apply stage_fixed only if it is safe (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1418\"\u003e#1418\u003c/a\u003e) by \u003ca href=\"\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: try to always restore unstaged changes (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1417\"\u003e#1417\u003c/a\u003e) by \u003ca href=\"\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: always restore unstaged changes (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1416\"\u003e#1416\u003c/a\u003e) by \u003ca href=\"\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: add new logger without a global state (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1385\"\u003e#1385\u003c/a\u003e) by \u003ca href=\"\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: linter, sacrifice optimization for readability by \u003ca href=\"\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: separate fallback push branch from pathspecs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1396\"\u003e#1396\u003c/a\u003e) by \u003ca href=\"\"\u003e\u003ccode\u003e@​lawrence3699\u003c/code\u003e\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/evilmartians/lefthook/commit/9e75b2138b4d31b156d3256c2b0617851377aaf2\"\u003e\u003ccode\u003e9e75b21\u003c/code\u003e\u003c/a\u003e 2.1.8: reduce warning for core.hooksPath if it matches the default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/488a5f99a5a496e5837f757f8ce3e6c6d1415792\"\u003e\u003ccode\u003e488a5f9\u003c/code\u003e\u003c/a\u003e fix: do not warn if local hooks path is equal to default hooks path (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1421\"\u003e#1421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/b5c8310e174489a3705dbbe240eea035058a9128\"\u003e\u003ccode\u003eb5c8310\u003c/code\u003e\u003c/a\u003e 2.1.7: restore unstaged changes when possible\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/37d83986d8e6d6bf6792f57e22e7cbb1a9e28064\"\u003e\u003ccode\u003e37d8398\u003c/code\u003e\u003c/a\u003e fix: use contrast colors (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1420\"\u003e#1420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/4c0e000d6fe9f35f42efefb9263b0b4cb5dfbd49\"\u003e\u003ccode\u003e4c0e000\u003c/code\u003e\u003c/a\u003e fix: apply stage_fixed only if it is safe (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1418\"\u003e#1418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/22c9f773cf93b59005bd244c5b00caab2947a755\"\u003e\u003ccode\u003e22c9f77\u003c/code\u003e\u003c/a\u003e fix: try to always restore unstaged changes (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1417\"\u003e#1417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/cf4ab9ea4580f5aeb0d4b61d4dd169533e5bb0c9\"\u003e\u003ccode\u003ecf4ab9e\u003c/code\u003e\u003c/a\u003e fix: always restore unstaged changes (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1416\"\u003e#1416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/f415a9d3fce1d4f6af62622cf96c72e04ecf7bd3\"\u003e\u003ccode\u003ef415a9d\u003c/code\u003e\u003c/a\u003e chore: go mod tidy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/eb1064d0b8c6248627960bea1abf6891db5a21b1\"\u003e\u003ccode\u003eeb1064d\u003c/code\u003e\u003c/a\u003e refactor: add new logger without a global state (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1385\"\u003e#1385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/76aa843ef5ceb6970f61cd2ff28d16dd2ec82272\"\u003e\u003ccode\u003e76aa843\u003c/code\u003e\u003c/a\u003e fix: linter, sacrifice optimization for readability\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/evilmartians/lefthook/compare/v2.1.6...v2.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oxlint` from 1.62.0 to 1.67.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oxc-project/oxc/releases\"\u003eoxlint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eoxlint v1.27.0 \u0026amp;\u0026amp; oxfmt v0.12.0\u003c/h2\u003e\n\u003ch1\u003eOxlint v1.27.0\u003c/h1\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e222a8f0 linter/plugins: Implement \u003ccode\u003eSourceCode#isSpaceBetween\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15498\"\u003e#15498\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e2f9735d linter/plugins: Implement \u003ccode\u003econtext.languageOptions\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15486\"\u003e#15486\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003ebc731ff linter/plugins: Stub out all \u003ccode\u003eContext\u003c/code\u003e APIs (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15479\"\u003e#15479\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e5822cb4 linter/plugins: Add \u003ccode\u003eextend\u003c/code\u003e method to \u003ccode\u003eFILE_CONTEXT\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15477\"\u003e#15477\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e7b1e6f3 apps: Add pure rust binaries and release to github (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15469\"\u003e#15469\u003c/a\u003e) (Boshen)\u003c/li\u003e\n\u003cli\u003e2a89b43 linter: Introduce debug assertions after fixes to assert validity (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15389\"\u003e#15389\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003ead3c45a editor: Add \u003ccode\u003eoxc.path.node\u003c/code\u003e option (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15040\"\u003e#15040\u003c/a\u003e) (Sysix)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e6f3cd77 linter/no-var: Incorrect warning for blocks (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15504\"\u003e#15504\u003c/a\u003e) (Hamir Mahal)\u003c/li\u003e\n\u003cli\u003e6957fb9 linter/plugins: Do not allow access to \u003ccode\u003eContext#id\u003c/code\u003e in \u003ccode\u003ecreateOnce\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15489\"\u003e#15489\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e7409630 linter/plugins: Allow access to \u003ccode\u003ecwd\u003c/code\u003e in \u003ccode\u003ecreateOnce\u003c/code\u003e in ESLint interop mode (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15488\"\u003e#15488\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e732205e parser: Reject \u003ccode\u003eusing\u003c/code\u003e / \u003ccode\u003eawait using\u003c/code\u003e in a switch \u003ccode\u003ecase\u003c/code\u003e / \u003ccode\u003edefault\u003c/code\u003e clause (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15225\"\u003e#15225\u003c/a\u003e) (sapphi-red)\u003c/li\u003e\n\u003cli\u003ea17ca32 linter/plugins: Replace \u003ccode\u003eContext\u003c/code\u003e class (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15448\"\u003e#15448\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003eecf2f7b language_server: Fail gracefully when tsgolint executable not found (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15436\"\u003e#15436\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e3c8d3a7 lang-server: Improve logging in failure case for tsgolint (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15299\"\u003e#15299\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003eef71410 linter: Use jsx if source type is JS in fix debug assertion (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15434\"\u003e#15434\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003ee32bbf6 linter/no-var: Handle TypeScript declare keyword in fixer (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15426\"\u003e#15426\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e6565dbe linter/switch-case-braces: Skip comments when searching for \u003ccode\u003e:\u003c/code\u003e token (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15425\"\u003e#15425\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e85bd19a linter/prefer-class-fields: Insert value after type annotation in fixer (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15423\"\u003e#15423\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003efde753e linter/plugins: Block access to \u003ccode\u003econtext.settings\u003c/code\u003e in \u003ccode\u003ecreateOnce\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15394\"\u003e#15394\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003eddd9f9f linter/forward-ref-uses-ref: Dont suggest removing wrapper in invalid positions (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15388\"\u003e#15388\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003edac2a9c linter/no-template-curly-in-string: Remove fixer (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15387\"\u003e#15387\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e989b8e3 linter/no-var: Only fix to \u003ccode\u003econst\u003c/code\u003e if the var has an initializer (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15385\"\u003e#15385\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003ecc403f5 linter/plugins: Return empty object for unimplemented parserServices (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15364\"\u003e#15364\u003c/a\u003e) (magic-akari)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e⚡ Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e25d577e language_server: Start tools in parallel (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15500\"\u003e#15500\u003c/a\u003e) (Sysix)\u003c/li\u003e\n\u003cli\u003e3c57291 linter/plugins: Optimize loops (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15449\"\u003e#15449\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e3166233 linter/plugins: Remove \u003ccode\u003eArc\u003c/code\u003es (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15431\"\u003e#15431\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e9de1322 linter/plugins: Lazily deserialize settings JSON (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15395\"\u003e#15395\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e3049ec2 linter/plugins: Optimize \u003ccode\u003edeepFreezeSettings\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15392\"\u003e#15392\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e444ebfd linter/plugins: Use single object for \u003ccode\u003eparserServices\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15378\"\u003e#15378\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e97d2104 linter: Update comment in lint.rs about default value for tsconfig path (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15530\"\u003e#15530\u003c/a\u003e) (Connor Shea)\u003c/li\u003e\n\u003cli\u003e2c6bd9e linter: Always refer as \u0026quot;ES2015\u0026quot; instead of \u0026quot;ES6\u0026quot; (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15411\"\u003e#15411\u003c/a\u003e) (sapphi-red)\u003c/li\u003e\n\u003cli\u003ea0c5203 linter/import/named: Update \u0026quot;ES7\u0026quot; comment in examples (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15410\"\u003e#15410\u003c/a\u003e) (sapphi-red)\u003c/li\u003e\n\u003cli\u003e3dc24b5 linter,minifier: Always refer as \u0026quot;ES Modules\u0026quot; instead of \u0026quot;ES6 Modules\u0026quot; (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15409\"\u003e#15409\u003c/a\u003e) (sapphi-red)\u003c/li\u003e\n\u003cli\u003e2ad77fb linter/no-this-before-super: Correct \u0026quot;Why is this bad?\u0026quot; section (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15408\"\u003e#15408\u003c/a\u003e) (sapphi-red)\u003c/li\u003e\n\u003cli\u003e57f0ce1 linter: Add backquotes where appropriate (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15407\"\u003e#15407\u003c/a\u003e) (sapphi-red)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eOxfmt v0.12.0\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md\"\u003eoxlint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.67.0] - 2026-05-26\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb84941e linter/vue: Implement no-expose-after-await rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22675\"\u003e#22675\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003e98b98c1 linter/vue: Implement no-computed-properties-in-data rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22674\"\u003e#22674\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003e2d4c919 oxlint: Support \u003ccode\u003evite-plus/resolveConfig\u003c/code\u003e for vite.config.ts (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22456\"\u003e#22456\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e2a60012 linter/vue: Implement require-render-return rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22613\"\u003e#22613\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003e9f227fd linter/vue: Implement no-deprecated-props-default-this rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/21892\"\u003e#21892\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003e87f065e linter/vue: Implement return-in-emits-validator rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/21935\"\u003e#21935\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003eea0380c linter/unicorn: Implement \u003ccode\u003eimport-style\u003c/code\u003e rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22173\"\u003e#22173\u003c/a\u003e) (Hao Chen)\u003c/li\u003e\n\u003cli\u003edde40fe linter/vue: Implement no-watch-after-await rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22006\"\u003e#22006\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003ea735eb0 linter/vue: Implement valid-next-tick rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22531\"\u003e#22531\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003e6dc615d linter/vue: Implement no-shared-component-data rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/21842\"\u003e#21842\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003ea656418 linter/vue: Implement valid-define-options rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22107\"\u003e#22107\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003ebb6f1b2 linter/vue: Implement require-slots-as-functions rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22244\"\u003e#22244\u003c/a\u003e) (bab)\u003c/li\u003e\n\u003cli\u003e5fa4774 linter/n: Implement \u003ccode\u003ecallback-return\u003c/code\u003e rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22470\"\u003e#22470\u003c/a\u003e) (Mikhail Baev)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.66.0] - 2026-05-18\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e0440b0f linter/eslint: Implement \u003ccode\u003eid-match\u003c/code\u003e rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22379\"\u003e#22379\u003c/a\u003e) (Vladislav Sayapin)\u003c/li\u003e\n\u003cli\u003e65bf119 linter: Implement react no-object-type-as-default-prop (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22481\"\u003e#22481\u003c/a\u003e) (uhyo)\u003c/li\u003e\n\u003cli\u003e2a6ddce linter/eslint: Implement \u003ccode\u003eno-implied-eval\u003c/code\u003e rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22391\"\u003e#22391\u003c/a\u003e) (Vladislav Sayapin)\u003c/li\u003e\n\u003cli\u003e625758a linter/vitest: Implement padding-around-after-all-blocks rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/21788\"\u003e#21788\u003c/a\u003e) (kapobajza)\u003c/li\u003e\n\u003cli\u003e37680b0 linter: Implement react no-unstable-nested-components (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22248\"\u003e#22248\u003c/a\u003e) (Jovi De Croock)\u003c/li\u003e\n\u003cli\u003ed8d9c74 linter: Implement import/newline-after-import rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/19142\"\u003e#19142\u003c/a\u003e) (Ryuya Yanagi)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.65.0] - 2026-05-15\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e5478fb5 linter/jsdoc: Implement \u003ccode\u003erequire-throws-description\u003c/code\u003e rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22386\"\u003e#22386\u003c/a\u003e) (Mikhail Baev)\u003c/li\u003e\n\u003cli\u003ec73225e linter/eslint: Implement \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22312\"\u003e#22312\u003c/a\u003e) (박천(Cheon Park))\u003c/li\u003e\n\u003cli\u003ede82b59 linter: Add support for \u003ccode\u003eeslint-plugin-jsx-a11y-x\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22356\"\u003e#22356\u003c/a\u003e) (mehm8128)\u003c/li\u003e\n\u003cli\u003ef44b6c8 linter: Fill schemas \u003ccode\u003eDummyRuleMap\u003c/code\u003e with built-in rules (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22288\"\u003e#22288\u003c/a\u003e) (Sysix)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.64.0] - 2026-05-11\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efbb8f22 linter: Support \u003ccode\u003eignores\u003c/code\u003e in overrides (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22148\"\u003e#22148\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e25b7017 linter: Undocument override \u003ccode\u003eignores\u003c/code\u003e option (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22213\"\u003e#22213\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.63.0] - 2026-05-05\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/oxc-project/oxc/commit/68b455d84f0b18bd6646cfe4f9babb12ec4fc448\"\u003e\u003ccode\u003e68b455d\u003c/code\u003e\u003c/a\u003e release(apps): oxlint v1.67.0 \u0026amp;\u0026amp; oxfmt v0.52.0 (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22735\"\u003e#22735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/b84941e69e2e630e998fe6b1e90b0506608f7caa\"\u003e\u003ccode\u003eb84941e\u003c/code\u003e\u003c/a\u003e feat(linter/vue): implement no-expose-after-await rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22675\"\u003e#22675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/98b98c11f7435bb67aad73e4db9d151fb7dcc85a\"\u003e\u003ccode\u003e98b98c1\u003c/code\u003e\u003c/a\u003e feat(linter/vue): implement no-computed-properties-in-data rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22674\"\u003e#22674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/2d4c9194bdba786c005f3a406f020d4e88e44522\"\u003e\u003ccode\u003e2d4c919\u003c/code\u003e\u003c/a\u003e feat(oxlint): Support \u003ccode\u003evite-plus/resolveConfig\u003c/code\u003e for vite.config.ts (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22456\"\u003e#22456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/2a600127f8e122d7963d42c49005592a1477d72f\"\u003e\u003ccode\u003e2a60012\u003c/code\u003e\u003c/a\u003e feat(linter/vue): implement require-render-return rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22613\"\u003e#22613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/9f227fdaf73fff694a0ac77847d6fbaca3d1d425\"\u003e\u003ccode\u003e9f227fd\u003c/code\u003e\u003c/a\u003e feat(linter/vue): implement no-deprecated-props-default-this rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/21892\"\u003e#21892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/87f065ebf7cde21d1229322f4c7ee58baca5648e\"\u003e\u003ccode\u003e87f065e\u003c/code\u003e\u003c/a\u003e feat(linter/vue): implement return-in-emits-validator rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/21935\"\u003e#21935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/ea0380c189b8f8f1017c3bea3b61b5a6b2922b57\"\u003e\u003ccode\u003eea0380c\u003c/code\u003e\u003c/a\u003e feat(linter/unicorn): implement \u003ccode\u003eimport-style\u003c/code\u003e rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22173\"\u003e#22173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/dde40fe432c9d1360c9a0a20ce2a1e7cfcf2f019\"\u003e\u003ccode\u003edde40fe\u003c/code\u003e\u003c/a\u003e feat(linter/vue): implement no-watch-after-await rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22006\"\u003e#22006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/a735eb01cb319c6433e3395745122234b718e37b\"\u003e\u003ccode\u003ea735eb0\u003c/code\u003e\u003c/a\u003e feat(linter/vue): implement valid-next-tick rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22531\"\u003e#22531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oxc-project/oxc/commits/oxlint_v1.67.0/npm/oxlint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `semver` from 7.7.4 to 7.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/npm/node-semver/releases\"\u003esemver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.8.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.8.0...v7.8.1\"\u003e7.8.1\u003c/a\u003e (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/17aa702d91166472b197a2ea768f085083bee2e4\"\u003e\u003ccode\u003e17aa702\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/869\"\u003e#869\u003c/a\u003e strip build metadata before comparator trimming (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/869\"\u003e#869\u003c/a\u003e) (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/5f3ca133e040210b6ea80c350a1d61d9da02e722\"\u003e\u003ccode\u003e5f3ca13\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/867\"\u003e#867\u003c/a\u003e handle prerelease bounds in subset (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/867\"\u003e#867\u003c/a\u003e) (\u003ca href=\"https://github.com/puneetdixit200\"\u003e\u003ccode\u003e@​puneetdixit200\u003c/code\u003e\u003c/a\u003e, Puneet Dixit)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.8.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.4...v7.8.0\"\u003e7.8.0\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/0d0a0a2582fb1486bc6cd255ba18819c441ed149\"\u003e\u003ccode\u003e0d0a0a2\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/855\"\u003e#855\u003c/a\u003e Add \u003ccode\u003etruncate\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/855\"\u003e#855\u003c/a\u003e) (\u003ca href=\"https://github.com/pjohnmeyer\"\u003e\u003ccode\u003e@​pjohnmeyer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/3905343045dc293c3694d5e46170b1bb1fb5cf58\"\u003e\u003ccode\u003e3905343\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/859\"\u003e#859\u003c/a\u003e Warn when defaulting to --inc=patch in CLI (\u003ca href=\"https://github.com/pjohnmeyer\"\u003e\u003ccode\u003e@​pjohnmeyer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c368af612e521767e960419e6388c5129c857984\"\u003e\u003ccode\u003ec368af6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/853\"\u003e#853\u003c/a\u003e fix typos in documentation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/853\"\u003e#853\u003c/a\u003e) (\u003ca href=\"https://github.com/ankitkumar572005\"\u003e\u003ccode\u003e@​ankitkumar572005\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/37776c31e2f3448fd852c975888e37b03efe9afe\"\u003e\u003ccode\u003e37776c3\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/846\"\u003e#846\u003c/a\u003e fix BNF grammar to distinguish prerelease from build identifiers (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/846\"\u003e#846\u003c/a\u003e) (\u003ca href=\"https://github.com/abhu85\"\u003e\u003ccode\u003e@​abhu85\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/claude\"\u003e\u003ccode\u003e@​claude\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/9542e09ebcd89e916777d35eba868061dad9ed7d\"\u003e\u003ccode\u003e9542e09\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/860\"\u003e#860\u003c/a\u003e template-oss-apply (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/937bc2cd8721db14745c9be123078c44e77a86ef\"\u003e\u003ccode\u003e937bc2c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/860\"\u003e#860\u003c/a\u003e \u003ccode\u003etemplate-oss-apply@5.0.0\u003c/code\u003e (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/6946fefa57bd5e191871a4738b28ca673e003527\"\u003e\u003ccode\u003e6946fef\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/852\"\u003e#852\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.29.0 to 4.30.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/852\"\u003e#852\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/npm-cli-bot\"\u003e\u003ccode\u003e@​npm-cli-bot\u003c/code\u003e\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/npm/node-semver/blob/main/CHANGELOG.md\"\u003esemver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.8.0...v7.8.1\"\u003e7.8.1\u003c/a\u003e (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/17aa702d91166472b197a2ea768f085083bee2e4\"\u003e\u003ccode\u003e17aa702\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/869\"\u003e#869\u003c/a\u003e strip build metadata before comparator trimming (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/869\"\u003e#869\u003c/a\u003e) (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/5f3ca133e040210b6ea80c350a1d61d9da02e722\"\u003e\u003ccode\u003e5f3ca13\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/867\"\u003e#867\u003c/a\u003e handle prerelease bounds in subset (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/867\"\u003e#867\u003c/a\u003e) (\u003ca href=\"https://github.com/puneetdixit200\"\u003e\u003ccode\u003e@​puneetdixit200\u003c/code\u003e\u003c/a\u003e, Puneet Dixit)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.4...v7.8.0\"\u003e7.8.0\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/0d0a0a2582fb1486bc6cd255ba18819c441ed149\"\u003e\u003ccode\u003e0d0a0a2\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/855\"\u003e#855\u003c/a\u003e Add \u003ccode\u003etruncate\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/855\"\u003e#855\u003c/a\u003e) (\u003ca href=\"https://github.com/pjohnmeyer\"\u003e\u003ccode\u003e@​pjohnmeyer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/3905343045dc293c3694d5e46170b1bb1fb5cf58\"\u003e\u003ccode\u003e3905343\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/859\"\u003e#859\u003c/a\u003e Warn when defaulting to --inc=patch in CLI (\u003ca href=\"https://github.com/pjohnmeyer\"\u003e\u003ccode\u003e@​pjohnmeyer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c368af612e521767e960419e6388c5129c857984\"\u003e\u003ccode\u003ec368af6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/853\"\u003e#853\u003c/a\u003e fix typos in documentation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/853\"\u003e#853\u003c/a\u003e) (\u003ca href=\"https://github.com/ankitkumar572005\"\u003e\u003ccode\u003e@​ankitkumar572005\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/37776c31e2f3448fd852c975888e37b03efe9afe\"\u003e\u003ccode\u003e37776c3\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/846\"\u003e#846\u003c/a\u003e fix BNF grammar to distinguish prerelease from build identifiers (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/846\"\u003e#846\u003c/a\u003e) (\u003ca href=\"https://github.com/abhu85\"\u003e\u003ccode\u003e@​abhu85\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/claude\"\u003e\u003ccode\u003e@​claude\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/9542e09ebcd89e916777d35eba868061dad9ed7d\"\u003e\u003ccode\u003e9542e09\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/860\"\u003e#860\u003c/a\u003e template-oss-apply (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/937bc2cd8721db14745c9be123078c44e77a86ef\"\u003e\u003ccode\u003e937bc2c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/860\"\u003e#860\u003c/a\u003e \u003ccode\u003etemplate-oss-apply@5.0.0\u003c/code\u003e (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/6946fefa57bd5e191871a4738b28ca673e003527\"\u003e\u003ccode\u003e6946fef\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/852\"\u003e#852\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.29.0 to 4.30.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/852\"\u003e#852\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/npm-cli-bot\"\u003e\u003ccode\u003e@​npm-cli-bot\u003c/code\u003e\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/npm/node-semver/commit/76416081a8413383cf6e24c82cafa438bd076d41\"\u003e\u003ccode\u003e7641608\u003c/code\u003e\u003c/a\u003e chore: release 7.8.1 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/868\"\u003e#868\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/17aa702d91166472b197a2ea768f085083bee2e4\"\u003e\u003ccode\u003e17aa702\u003c/code\u003e\u003c/a\u003e fix: strip build metadata before comparator trimming (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/869\"\u003e#869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/5f3ca133e040210b6ea80c350a1d61d9da02e722\"\u003e\u003ccode\u003e5f3ca13\u003c/code\u003e\u003c/a\u003e fix: handle prerelease bounds in subset (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/867\"\u003e#867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/efa4be6096c1f9b77d9d27d6132f6220c43b4e31\"\u003e\u003ccode\u003eefa4be6\u003c/code\u003e\u003c/a\u003e chore: release 7.8.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/847\"\u003e#847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/9542e09ebcd89e916777d35eba868061dad9ed7d\"\u003e\u003ccode\u003e9542e09\u003c/code\u003e\u003c/a\u003e chore: template-oss-apply\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/937bc2cd8721db14745c9be123078c44e77a86ef\"\u003e\u003ccode\u003e937bc2c\u003c/code\u003e\u003c/a\u003e chore: template-oss-apply@5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/3905343045dc293c3694d5e46170b1bb1fb5cf58\"\u003e\u003ccode\u003e3905343\u003c/code\u003e\u003c/a\u003e fix: Warn when defaulting to --inc=patch in CLI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/0d0a0a2582fb1486bc6cd255ba18819c441ed149\"\u003e\u003ccode\u003e0d0a0a2\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003etruncate\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/855\"\u003e#855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c368af612e521767e960419e6388c5129c857984\"\u003e\u003ccode\u003ec368af6\u003c/code\u003e\u003c/a\u003e docs: fix typos in documentation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/853\"\u003e#853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/6946fefa57bd5e191871a4738b28ca673e003527\"\u003e\u003ccode\u003e6946fef\u003c/code\u003e\u003c/a\u003e chore: bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.29.0 to 4.30.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/852\"\u003e#852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.4...v7.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo` from 2.9.6 to 2.9.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/turborepo/releases\"\u003eturbo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTurborepo v2.9.15\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erelease(turborepo): 2.9.14 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12805\"\u003evercel/turborepo#12805\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Prune package.json workspaces by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12808\"\u003evercel/turborepo#12808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Wait for process trees before task completion by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12809\"\u003evercel/turborepo#12809\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.1 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12810\"\u003evercel/turborepo#12810\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: Sign macOS release binaries by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12811\"\u003evercel/turborepo#12811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.2 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12812\"\u003evercel/turborepo#12812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Prevent cache archive symlink reads by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12813\"\u003evercel/turborepo#12813\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.15-canary.3 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12814\"\u003evercel/turborepo#12814\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid path-racy chmod during directory restore by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12815\"\u003evercel/turborepo#12815\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Prevent cache restore symlink race writes by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12817\"\u003evercel/turborepo#12817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Deny Rust panic extraction by default by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12818\"\u003evercel/turborepo#12818\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Make structured log symlink defense race-safe by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12821\"\u003evercel/turborepo#12821\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve Bun alias child packages by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12822\"\u003evercel/turborepo#12822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid UTF-8 panics at boundaries by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12823\"\u003evercel/turborepo#12823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Preserve non-UTF-8 Git path boundaries by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12826\"\u003evercel/turborepo#12826\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Create daemon dirs with private permissions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12827\"\u003evercel/turborepo#12827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Return Berry lockfile errors instead of panicking by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12828\"\u003evercel/turborepo#12828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Isolate Corepack state in integration tests by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12831\"\u003evercel/turborepo#12831\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: Use larger Windows runners for Rust tests by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12832\"\u003evercel/turborepo#12832\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Add \u003ccode\u003ewith-vite-module-federation\u003c/code\u003e example by \u003ca href=\"https://github.com/gioboa\"\u003e\u003ccode\u003e@​gioboa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12794\"\u003evercel/turborepo#12794\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Run Rust tests without partitioning by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12833\"\u003evercel/turborepo#12833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Remove \u003ccode\u003eTaskHashTracker\u003c/code\u003e-based \u003ccode\u003eexpect()\u003c/code\u003e calls by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12836\"\u003evercel/turborepo#12836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Deduplicate hash canonicalization by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12837\"\u003evercel/turborepo#12837\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Prevent Windows process drain hangs by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12838\"\u003evercel/turborepo#12838\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Refactor execsync to execfilesync for Shell command built from environment values by \u003ca href=\"https://github.com/bjormgyg\"\u003e\u003ccode\u003e@​bjormgyg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12829\"\u003evercel/turborepo#12829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Bound vt100 random quickcheck by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12839\"\u003evercel/turborepo#12839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Validate daemon discovery responses by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12840\"\u003evercel/turborepo#12840\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Store \u003ccode\u003ePackageGraph\u003c/code\u003e root invariants by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12841\"\u003evercel/turborepo#12841\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Avoid engine graph node expects by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12842\"\u003evercel/turborepo#12842\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Make Rust tests parallel-safe by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12843\"\u003evercel/turborepo#12843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid graph utility node lookup panics by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12844\"\u003evercel/turborepo#12844\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid graph walker \u003ccode\u003eexpect()\u003c/code\u003e calls by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12845\"\u003evercel/turborepo#12845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove fs panic extraction lints by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12846\"\u003evercel/turborepo#12846\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove fixed map panic extraction calls by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12847\"\u003evercel/turborepo#12847\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove devtools WebSocket panics by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12850\"\u003evercel/turborepo#12850\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove json rewrite panic lint allow by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12848\"\u003evercel/turborepo#12848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove turborepo-types panic lint allows by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12849\"\u003evercel/turborepo#12849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Remove turborepo-hash build expect by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12851\"\u003evercel/turborepo#12851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove napi panic lint allows by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12852\"\u003evercel/turborepo#12852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid globwatch expect calls by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12853\"\u003evercel/turborepo#12853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove LSP expect callsites by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12854\"\u003evercel/turborepo#12854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove scope panic lint allows by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12855\"\u003evercel/turborepo#12855\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove task hash panic lints by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12856\"\u003evercel/turborepo#12856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove frameworks panic lint allows by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12857\"\u003evercel/turborepo#12857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Remove microfrontends proxy expect lint allow by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12859\"\u003evercel/turborepo#12859\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/vercel/turborepo/commit/3e78ad23f8dff38c247bb412f73eb7e3698cab2c\"\u003e\u003ccode\u003e3e78ad2\u003c/code\u003e\u003c/a\u003e publish 2.9.15 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/076ff97383ad34f58650b39026c85e12cf116053\"\u003e\u003ccode\u003e076ff97\u003c/code\u003e\u003c/a\u003e fix: Harden OTEL endpoint validation (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12954\"\u003e#12954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/f96ccc4d6e83e4677e1f0771bd67d782828f1e6b\"\u003e\u003ccode\u003ef96ccc4\u003c/code\u003e\u003c/a\u003e fix: Respect root gitignore during prune (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12953\"\u003e#12953\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/ebebf4136baca436537c6519892387d500a146fc\"\u003e\u003ccode\u003eebebf41\u003c/code\u003e\u003c/a\u003e chore: Switch Geist font imports to npm geist package (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12952\"\u003e#12952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5fa3039542faa44b25b3dc4c004e0b611ad24d4c\"\u003e\u003ccode\u003e5fa3039\u003c/code\u003e\u003c/a\u003e chore(turbo-codemod): remove duplicate \u0026quot;in\u0026quot; in transforms path comment (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12948\"\u003e#12948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/8fc94f38380728356dda5a8d894e046df9f5b61a\"\u003e\u003ccode\u003e8fc94f3\u003c/code\u003e\u003c/a\u003e docs: Correct attribute presence claims in turborepo-otel (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12932\"\u003e#12932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/06e81ea0b7a8c7d33ec89f3241310ec6fa273da3\"\u003e\u003ccode\u003e06e81ea\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.9.15-canary.8 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12945\"\u003e#12945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/c7ad6f29ba4ea07470a0a9e4d2590a490b6f60f5\"\u003e\u003ccode\u003ec7ad6f2\u003c/code\u003e\u003c/a\u003e feat: Add heap allocation profiling (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12943\"\u003e#12943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/31123f47faed6147b2eb57e8f3557e89138008c7\"\u003e\u003ccode\u003e31123f4\u003c/code\u003e\u003c/a\u003e fix: Preserve pnpm injected peer package entries (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12940\"\u003e#12940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/6ed6fb04f2bde329c68384e1a7d14f84e34f8869\"\u003e\u003ccode\u003e6ed6fb0\u003c/code\u003e\u003c/a\u003e fix: Use build-scale OTel duration buckets (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12939\"\u003e#12939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.6...v2.9.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@babel/core` from 7.29.0 to 7.29.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e@​babel/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.29.7 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eRe-release all packages with npm provenance attestations\u003c/p\u003e\n\u003ch2\u003ev7.29.6 (2026-05-25)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18014\"\u003e#18014\u003c/a\u003e Catchup source map position in preserveFormat (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18001\"\u003e#18001\u003c/a\u003e [7.x packport]Improve input source map handling (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e, \u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17998\"\u003e#17998\u003c/a\u003e Preserve original identifier names from input sourcemaps (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/17992\"\u003e#17992\u003c/a\u003e) (\u003ca href=\"https://github.com/Andarist\"\u003e\u003ccode\u003e@​Andarist\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 3\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMateusz Burzyński (\u003ca href=\"https://github.com/Andarist\"\u003e\u003ccode\u003e@​Andarist\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNicolò Ribaudo (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.5 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:house:  Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@babel/*\u003c/code\u003e dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.4 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-plugin-transform-modules-systemjs\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17974\"\u003e#17974\u003c/a\u003e [7.x backport]fix(systemjs): improve module string name support (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.3 (2026-04-30)\u003c/h2\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17923\"\u003e#17923\u003c/a\u003e Support flow extends bound (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-decorators\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17931\"\u003e#17931\u003c/a\u003e fix(decorators): replace super within all removed static elements (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-register\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17915\"\u003e#17915\u003c/a\u003e Fix thread synchronization issues in \u003ccode\u003e@babel/register\u003c/code\u003e (\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-compat-data\u003c/code\u003e, \u003ccode\u003ebabel-plugin-bugfix-safari-rest-destructuring-rhs-array\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17788\"\u003e#17788\u003c/a\u003e Add bugfix plugin for Safari array rest destructuring bug (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:nail_care: Polish\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/4fba7541180bf5f58256d8e358b544e3831ad090\"\u003e\u003ccode\u003e4fba754\u003c/code\u003e\u003c/a\u003e v7.29.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/04ea6b27fdac8f40c3481aec2080ac9678779509\"\u003e\u003ccode\u003e04ea6b2\u003c/code\u003e\u003c/a\u003e v7.29.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/99f498a9b9fa0b900d603fbe8f6601bb3b9e42bb\"\u003e\u003ccode\u003e99f498a\u003c/code\u003e\u003c/a\u003e [7.x packport]Improve input source map handling (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/18001\"\u003e#18001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/feba0a3654c596bd369d1ef1231f5d56666d56dc\"\u003e\u003ccode\u003efeba0a3\u003c/code\u003e\u003c/a\u003e Preserve original identifier names from input sourcemaps (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/17992\"\u003e#17992\u003c/a\u003e) (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/17998\"\u003e#17998\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/babel/babel/commits/v7.29.7/packages/babel-core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@babel/preset-env` from 7.29.2 to 7.29.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e@​babel/preset-env's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.29.7 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eRe-release all packages with npm provenance attestations\u003c/p\u003e\n\u003ch2\u003ev7.29.6 (2026-05-25)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18014\"\u003e#18014\u003c/a\u003e Catchup source map position in preserveFormat (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18001\"\u003e#18001\u003c/a\u003e [7.x packport]Improve input source map handling (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e, \u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17998\"\u003e#17998\u003c/a\u003e Preserve original identifier names from input sourcemaps (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17992\"\u003e#17992\u003c/a\u003e) (\u003ca href=\"https://github.com/Andarist\"\u003e\u003ccode\u003e@​Andarist\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 3\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMateusz Burzyński (\u003ca href=\"https://github.com/Andarist\"\u003e\u003ccode\u003e@​Andarist\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNicolò Ribaudo (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.5 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:house:  Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@babel/*\u003c/code\u003e dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.4 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-plugin-transform-modules-systemjs\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17974\"\u003e#17974\u003c/a\u003e [7.x backport]fix(systemjs): improve module string name support (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.3 (2026-04-30)\u003c/h2\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17923\"\u003e#17923\u003c/a\u003e Support flow extends bound (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-decorators\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17931\"\u003e#17931\u003c/a\u003e fix(decorators): replace super within all removed static elements (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-register\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17915\"\u003e#17915\u003c/a\u003e Fix thread synchronization issues in \u003ccode\u003e@babel/register\u003c/code\u003e (\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-compat-data\u003c/code\u003e, \u003ccode\u003ebabel-plugin-bugfix-safari-rest-destructuring-rhs-array\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17788\"\u003e#17788\u003c/a\u003e Add bugfix plugin for Safari array rest destructuring bug (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:nail_care: Polish\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/4fba7541180bf5f58256d8e358b544e3831ad090\"\u003e\u003ccode\u003e4fba754\u003c/code\u003e\u003c/a\u003e v7.29.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/3cd910d838332b988ed83bdd2ddc22e849e7ea5d\"\u003e\u003ccode\u003e3cd910d\u003c/code\u003e\u003c/a\u003e v7.29.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/3d399f8c8c1e5308bb25e11947d90a111399ac0d\"\u003e\u003ccode\u003e3d399f8\u003c/code\u003e\u003c/a\u003e [7.x backport]docs(preset-env): update CONTRIBUTING.md (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17976\"\u003e#17976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/183db7bc040a68057489f8981d02962345a322ed\"\u003e\u003ccode\u003e183db7b\u003c/code\u003e\u003c/a\u003e v7.29.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/268f246f21e51b2204ba6dc5349055504cc7420d\"\u003e\u003ccode\u003e268f246\u003c/code\u003e\u003c/a\u003e Add bugfix plugin for Safari array rest destructuring bug (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17788\"\u003e#17788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/f8524d80799e136313e55da0468777a57d1bf6b6\"\u003e\u003ccode\u003ef8524d8\u003c/code\u003e\u003c/a\u003e Update compat data (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17686\"\u003e#17686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/babel/babel/commits/v7.29.7/packages/babel-preset-env\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@babel/preset-react` from 7.28.5 to 7.29.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e@​babel/preset-react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.29.7 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eRe-release all packages with npm provenance attestations\u003c/p\u003e\n\u003ch2\u003ev7.29.6 (2026-05-25)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18014\"\u003e#18014\u003c/a\u003e Catchup source map position in preserveFormat (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18001\"\u003e#18001\u003c/a\u003e [7.x packport]Improve input source map handling (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e, \u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17998\"\u003e#17998\u003c/a\u003e Preserve original identifier names from input sourcemaps (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react/issues/17992\"\u003e#17992\u003c/a\u003e) (\u003ca href=\"https://github.com/Andarist\"\u003e\u003ccode\u003e@​Andarist\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 3\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMateusz Burzyński (\u003ca href=\"https://github.com/Andarist\"\u003e\u003ccode\u003e@​Andarist\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNicolò Ribaudo (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.5 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:house:  Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@babel/*\u003c/code\u003e dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.4 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-plugin-transform-modules-systemjs\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17974\"\u003e#17974\u003c/a\u003e [7.x backport]fix(systemjs): improve module string name support (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.3 (2026-04-30)\u003c/h2\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17923\"\u003e#17923\u003c/a\u003e Support flow extends bound (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-decorators\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17931\"\u003e#17931\u003c/a\u003e fix(decorators): replace super within all removed static elements (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-register\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17915\"\u003e#17915\u003c/a\u003e Fix thread synchronization issues in \u003ccode\u003e@babel/register\u003c/code\u003e (\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-compat-data\u003c/code\u003e, \u003ccode\u003ebabel-plugin-bugfix-safari-rest-destructuring-rhs-array\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17788\"\u003e#17788\u003c/a\u003e Add bugfix plugin for Safari array rest destructuring bug (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:nail_care: Polish\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/4fba7541180bf5f58256d8e358b544e3831ad090\"\u003e\u003ccode\u003e4fba754\u003c/code\u003e\u003c/a\u003e v7.29.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/f3a22268bdc4fc6748cbc2be718a4d1090bdaf00\"\u003e\u003ccode\u003ef3a2226\u003c/code\u003e\u003c/a\u003e [babel 7] Delete Babel 8 fixtures (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react/issues/17729\"\u003e#17729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/babel/babel/commits/v7.29.7/packages/babel-preset-react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@babel/preset-typescript` from 7.28.5 to 7.29.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e@​babel/preset-typescript's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.29.7 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eRe-release all packages with npm provenance attestations\u003c/p\u003e\n\u003ch2\u003ev7.29.6 (2026-05-25)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18014\"\u003e#18014\u003c/a\u003e Catchup source map position in preserveFormat (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18001\"\u003e#18001\u003c/a\u003e [7.x packport]Improve input source map handling (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e, \u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17998\"\u003e#17998\u003c/a\u003e Preserve original identifier names from input sourcemaps (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-typescript/issues/17992\"\u003e#17992\u003c/a\u003e) (\u003ca href=\"https://github.com/Andarist\"\u003e\u003ccode\u003e@​Andarist\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 3\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMateusz Burzyński (\u003ca href=\"https://github.com/Andarist\"\u003e\u003ccode\u003e@​Andarist\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNicolò Ribaudo (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.5 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:house:  Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@babel/*\u003c/code\u003e dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.4 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-plugin-transform-modules-systemjs\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17974\"\u003e#17974\u003c/a\u003e [7.x backport]fix(systemjs): improve module string name support (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.3 (2026-04-30)\u003c/h2\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17923\"\u003e#17923\u003c/a\u003e Support flow extends bound (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-decorators\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17931\"\u003e#17931\u003c/a\u003e fix(decorators): replace super within all removed static elements (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-register\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17915\"\u003e#17915\u003c/a\u003e Fix thread synchronization issues in \u003ccode\u003e@babel/register\u003c/code\u003e (\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-compat-data\u003c/code\u003e, \u003ccode\u003ebabel-plugin-bugfix-safari-rest-destructuring-rhs-array\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17788\"\u003e#17788\u003c/a\u003e Add bugfix plugin for Safari array rest destructuring bug (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:nail_care: Polish\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/4fba7541180bf5f58256d8e358b544e3831ad090\"\u003e\u003ccode\u003e4fba754\u003c/code\u003e\u003c/a\u003e v7.29.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/f3a22268bdc4fc6748cbc2be718a4d1090bdaf00\"\u003e\u003ccode\u003ef3a2226\u003c/code\u003e\u003c/a\u003e [babel 7] Delete Babel 8 fixtures (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-typescript/issues/17729\"\u003e#17729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/babel/babel/commits/v7.29.7/packages/babel-preset-typescript\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/react` from 19.2.14 to 19.2.15\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react\"\u003ecompare view\u003c/a\u003e\u003c/li...\n\n_Description has been truncated_","html_url":"https://github.com/SanKyu-Lab/circle-flags-ui/pull/144","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SanKyu-Lab%2Fcircle-flags-ui/issues/144","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/144/packages"}}]}