{"id":1531,"name":"jsdom","ecosystem":"npm","repository_url":"https://github.com/jsdom/jsdom","issues_count":13903,"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":8084,"unique_repositories_count_past_30_days":744,"recent_issues":[{"uuid":"5743682939","node_id":"PR_kwDOKqiw4s8AAAABHGgugA","number":2112,"state":"open","title":"build(deps): bump jsdom from 30.0.1 to 30.1.2","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":9,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-07T10:51:32.000Z","updated_at":"2026-10-07T10:59:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"jsdom","old_version":"30.0.1","new_version":"30.1.2","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 30.0.1 to 30.1.2.\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\u003ev30.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated URLs to support Unicode v18.0.0 in internationalized domain names.\u003c/li\u003e\n\u003cli\u003eReduced package size and memory use for CSS property definitions. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (\u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an \u003ccode\u003einitial\u003c/code\u003e reset. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.\u003c/li\u003e\n\u003cli\u003eFixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.\u003c/li\u003e\n\u003cli\u003eFixed computed styles for \u003ccode\u003e:focus\u003c/code\u003e, \u003ccode\u003e:focus-visible\u003c/code\u003e, \u003ccode\u003e:focus-within\u003c/code\u003e, and selectors containing them after focus changes, including inside focus and blur listeners. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (\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 throwing for elements without inline-style support, including XML and MathML elements.\u003c/li\u003e\n\u003cli\u003eFixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after \u003ccode\u003ewindow.close()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed memory growth from long-lived \u003ccode\u003eMutationObserver\u003c/code\u003e instances retaining bookkeeping for garbage-collected nodes. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed retained \u003ccode\u003eselect.selectedOptions\u003c/code\u003e collections becoming stale after selection changes and form resets.\u003c/li\u003e\n\u003cli\u003eFixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.\u003c/li\u003e\n\u003cli\u003eFixed handling of deeply nested \u003ccode\u003ecolor-mix()\u003c/code\u003e expressions, including exceptions during color resolution. (\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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\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!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a23bfb72b5a3fc776db51ae1bccabf46af8a9e38\"\u003e\u003ccode\u003ea23bfb7\u003c/code\u003e\u003c/a\u003e 30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/64a75d240db0744cbfeff6f740b07c4da47cee99\"\u003e\u003ccode\u003e64a75d2\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/7bf9653bf12f8ed61255fddf065b1f27afbb6993\"\u003e\u003ccode\u003e7bf9653\u003c/code\u003e\u003c/a\u003e Invalidate styles after CSSOM and control state changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/fe9009c91a09dedd6519c65d8d5b266cce400fa2\"\u003e\u003ccode\u003efe9009c\u003c/code\u003e\u003c/a\u003e Update focused area handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a8d28b3ec0ae3f747a2a8bd2547517c358d00f9a\"\u003e\u003ccode\u003ea8d28b3\u003c/code\u003e\u003c/a\u003e Release windows retained by stylesheet parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/05a2c01549640ad820f6681e0549bf4aab316bbf\"\u003e\u003ccode\u003e05a2c01\u003c/code\u003e\u003c/a\u003e Deduplicate generated CSS property metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/1efa190736aa040ac1264e9009fa809d45d98c28\"\u003e\u003ccode\u003e1efa190\u003c/code\u003e\u003c/a\u003e Reduce generated CSS property data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a372e12fd6eeedadc16c11a12e7c155b8cba7c46\"\u003e\u003ccode\u003ea372e12\u003c/code\u003e\u003c/a\u003e Avoid Document named-property rebuilds after irrelevant tree mutations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b2cd235170228c83cafe6d0ff542419aa7fa6221\"\u003e\u003ccode\u003eb2cd235\u003c/code\u003e\u003c/a\u003e Update css-color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0542d2b8efe917ed37423d37f63488851613058d\"\u003e\u003ccode\u003e0542d2b\u003c/code\u003e\u003c/a\u003e Release idle MutationObserver bookkeeping\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.0.1...v30.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=30.0.1\u0026new-version=30.1.2)](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/complexdatacollective/network-canvas-monorepo/pull/2112","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/complexdatacollective%2Fnetwork-canvas-monorepo/issues/2112","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2112/packages"},{"uuid":"5743451407","node_id":"PR_kwDOJu6Jm88AAAABHGUvdw","number":1950,"state":"open","title":"chore(deps-dev): bump the dev-dependencies group across 4 directories with 1 update","user":"dependabot[bot]","labels":["npm","Dependabot"],"assignees":["bpapillon"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-07T10:32:47.000Z","updated_at":"2026-10-07T10:35:22.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"dev-dependencies","update_count":1,"packages":[{"name":"jsdom","old_version":"30.1.1","new_version":"30.1.2","repository_url":"https://github.com/jsdom/jsdom"},{"name":"jsdom","old_version":"30.1.1","new_version":"30.1.2","repository_url":"https://github.com/jsdom/jsdom"},{"name":"jsdom","old_version":"30.1.1","new_version":"30.1.2","repository_url":"https://github.com/jsdom/jsdom"},{"name":"jsdom","old_version":"30.1.1","new_version":"30.1.2","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 1 update in the /angular directory: [jsdom](https://github.com/jsdom/jsdom).\nBumps the dev-dependencies group with 1 update in the /components directory: [jsdom](https://github.com/jsdom/jsdom).\nBumps the dev-dependencies group with 1 update in the /js directory: [jsdom](https://github.com/jsdom/jsdom).\nBumps the dev-dependencies group with 1 update in the /react directory: [jsdom](https://github.com/jsdom/jsdom).\n\nUpdates `jsdom` from 30.1.1 to 30.1.2\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\u003ev30.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated URLs to support Unicode v18.0.0 in internationalized domain names.\u003c/li\u003e\n\u003cli\u003eReduced package size and memory use for CSS property definitions. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (\u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an \u003ccode\u003einitial\u003c/code\u003e reset. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.\u003c/li\u003e\n\u003cli\u003eFixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.\u003c/li\u003e\n\u003cli\u003eFixed computed styles for \u003ccode\u003e:focus\u003c/code\u003e, \u003ccode\u003e:focus-visible\u003c/code\u003e, \u003ccode\u003e:focus-within\u003c/code\u003e, and selectors containing them after focus changes, including inside focus and blur listeners. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (\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 throwing for elements without inline-style support, including XML and MathML elements.\u003c/li\u003e\n\u003cli\u003eFixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after \u003ccode\u003ewindow.close()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed memory growth from long-lived \u003ccode\u003eMutationObserver\u003c/code\u003e instances retaining bookkeeping for garbage-collected nodes. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed retained \u003ccode\u003eselect.selectedOptions\u003c/code\u003e collections becoming stale after selection changes and form resets.\u003c/li\u003e\n\u003cli\u003eFixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.\u003c/li\u003e\n\u003cli\u003eFixed handling of deeply nested \u003ccode\u003ecolor-mix()\u003c/code\u003e expressions, including exceptions during color resolution. (\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/a23bfb72b5a3fc776db51ae1bccabf46af8a9e38\"\u003e\u003ccode\u003ea23bfb7\u003c/code\u003e\u003c/a\u003e 30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/64a75d240db0744cbfeff6f740b07c4da47cee99\"\u003e\u003ccode\u003e64a75d2\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/7bf9653bf12f8ed61255fddf065b1f27afbb6993\"\u003e\u003ccode\u003e7bf9653\u003c/code\u003e\u003c/a\u003e Invalidate styles after CSSOM and control state changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/fe9009c91a09dedd6519c65d8d5b266cce400fa2\"\u003e\u003ccode\u003efe9009c\u003c/code\u003e\u003c/a\u003e Update focused area handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a8d28b3ec0ae3f747a2a8bd2547517c358d00f9a\"\u003e\u003ccode\u003ea8d28b3\u003c/code\u003e\u003c/a\u003e Release windows retained by stylesheet parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/05a2c01549640ad820f6681e0549bf4aab316bbf\"\u003e\u003ccode\u003e05a2c01\u003c/code\u003e\u003c/a\u003e Deduplicate generated CSS property metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/1efa190736aa040ac1264e9009fa809d45d98c28\"\u003e\u003ccode\u003e1efa190\u003c/code\u003e\u003c/a\u003e Reduce generated CSS property data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a372e12fd6eeedadc16c11a12e7c155b8cba7c46\"\u003e\u003ccode\u003ea372e12\u003c/code\u003e\u003c/a\u003e Avoid Document named-property rebuilds after irrelevant tree mutations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b2cd235170228c83cafe6d0ff542419aa7fa6221\"\u003e\u003ccode\u003eb2cd235\u003c/code\u003e\u003c/a\u003e Update css-color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0542d2b8efe917ed37423d37f63488851613058d\"\u003e\u003ccode\u003e0542d2b\u003c/code\u003e\u003c/a\u003e Release idle MutationObserver bookkeeping\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.1.1...v30.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.1.1 to 30.1.2\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\u003ev30.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated URLs to support Unicode v18.0.0 in internationalized domain names.\u003c/li\u003e\n\u003cli\u003eReduced package size and memory use for CSS property definitions. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (\u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an \u003ccode\u003einitial\u003c/code\u003e reset. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.\u003c/li\u003e\n\u003cli\u003eFixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.\u003c/li\u003e\n\u003cli\u003eFixed computed styles for \u003ccode\u003e:focus\u003c/code\u003e, \u003ccode\u003e:focus-visible\u003c/code\u003e, \u003ccode\u003e:focus-within\u003c/code\u003e, and selectors containing them after focus changes, including inside focus and blur listeners. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (\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 throwing for elements without inline-style support, including XML and MathML elements.\u003c/li\u003e\n\u003cli\u003eFixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after \u003ccode\u003ewindow.close()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed memory growth from long-lived \u003ccode\u003eMutationObserver\u003c/code\u003e instances retaining bookkeeping for garbage-collected nodes. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed retained \u003ccode\u003eselect.selectedOptions\u003c/code\u003e collections becoming stale after selection changes and form resets.\u003c/li\u003e\n\u003cli\u003eFixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.\u003c/li\u003e\n\u003cli\u003eFixed handling of deeply nested \u003ccode\u003ecolor-mix()\u003c/code\u003e expressions, including exceptions during color resolution. (\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/a23bfb72b5a3fc776db51ae1bccabf46af8a9e38\"\u003e\u003ccode\u003ea23bfb7\u003c/code\u003e\u003c/a\u003e 30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/64a75d240db0744cbfeff6f740b07c4da47cee99\"\u003e\u003ccode\u003e64a75d2\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/7bf9653bf12f8ed61255fddf065b1f27afbb6993\"\u003e\u003ccode\u003e7bf9653\u003c/code\u003e\u003c/a\u003e Invalidate styles after CSSOM and control state changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/fe9009c91a09dedd6519c65d8d5b266cce400fa2\"\u003e\u003ccode\u003efe9009c\u003c/code\u003e\u003c/a\u003e Update focused area handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a8d28b3ec0ae3f747a2a8bd2547517c358d00f9a\"\u003e\u003ccode\u003ea8d28b3\u003c/code\u003e\u003c/a\u003e Release windows retained by stylesheet parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/05a2c01549640ad820f6681e0549bf4aab316bbf\"\u003e\u003ccode\u003e05a2c01\u003c/code\u003e\u003c/a\u003e Deduplicate generated CSS property metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/1efa190736aa040ac1264e9009fa809d45d98c28\"\u003e\u003ccode\u003e1efa190\u003c/code\u003e\u003c/a\u003e Reduce generated CSS property data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a372e12fd6eeedadc16c11a12e7c155b8cba7c46\"\u003e\u003ccode\u003ea372e12\u003c/code\u003e\u003c/a\u003e Avoid Document named-property rebuilds after irrelevant tree mutations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b2cd235170228c83cafe6d0ff542419aa7fa6221\"\u003e\u003ccode\u003eb2cd235\u003c/code\u003e\u003c/a\u003e Update css-color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0542d2b8efe917ed37423d37f63488851613058d\"\u003e\u003ccode\u003e0542d2b\u003c/code\u003e\u003c/a\u003e Release idle MutationObserver bookkeeping\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.1.1...v30.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.1.1 to 30.1.2\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\u003ev30.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated URLs to support Unicode v18.0.0 in internationalized domain names.\u003c/li\u003e\n\u003cli\u003eReduced package size and memory use for CSS property definitions. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (\u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an \u003ccode\u003einitial\u003c/code\u003e reset. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.\u003c/li\u003e\n\u003cli\u003eFixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.\u003c/li\u003e\n\u003cli\u003eFixed computed styles for \u003ccode\u003e:focus\u003c/code\u003e, \u003ccode\u003e:focus-visible\u003c/code\u003e, \u003ccode\u003e:focus-within\u003c/code\u003e, and selectors containing them after focus changes, including inside focus and blur listeners. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (\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 throwing for elements without inline-style support, including XML and MathML elements.\u003c/li\u003e\n\u003cli\u003eFixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after \u003ccode\u003ewindow.close()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed memory growth from long-lived \u003ccode\u003eMutationObserver\u003c/code\u003e instances retaining bookkeeping for garbage-collected nodes. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed retained \u003ccode\u003eselect.selectedOptions\u003c/code\u003e collections becoming stale after selection changes and form resets.\u003c/li\u003e\n\u003cli\u003eFixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.\u003c/li\u003e\n\u003cli\u003eFixed handling of deeply nested \u003ccode\u003ecolor-mix()\u003c/code\u003e expressions, including exceptions during color resolution. (\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/a23bfb72b5a3fc776db51ae1bccabf46af8a9e38\"\u003e\u003ccode\u003ea23bfb7\u003c/code\u003e\u003c/a\u003e 30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/64a75d240db0744cbfeff6f740b07c4da47cee99\"\u003e\u003ccode\u003e64a75d2\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/7bf9653bf12f8ed61255fddf065b1f27afbb6993\"\u003e\u003ccode\u003e7bf9653\u003c/code\u003e\u003c/a\u003e Invalidate styles after CSSOM and control state changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/fe9009c91a09dedd6519c65d8d5b266cce400fa2\"\u003e\u003ccode\u003efe9009c\u003c/code\u003e\u003c/a\u003e Update focused area handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a8d28b3ec0ae3f747a2a8bd2547517c358d00f9a\"\u003e\u003ccode\u003ea8d28b3\u003c/code\u003e\u003c/a\u003e Release windows retained by stylesheet parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/05a2c01549640ad820f6681e0549bf4aab316bbf\"\u003e\u003ccode\u003e05a2c01\u003c/code\u003e\u003c/a\u003e Deduplicate generated CSS property metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/1efa190736aa040ac1264e9009fa809d45d98c28\"\u003e\u003ccode\u003e1efa190\u003c/code\u003e\u003c/a\u003e Reduce generated CSS property data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a372e12fd6eeedadc16c11a12e7c155b8cba7c46\"\u003e\u003ccode\u003ea372e12\u003c/code\u003e\u003c/a\u003e Avoid Document named-property rebuilds after irrelevant tree mutations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b2cd235170228c83cafe6d0ff542419aa7fa6221\"\u003e\u003ccode\u003eb2cd235\u003c/code\u003e\u003c/a\u003e Update css-color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0542d2b8efe917ed37423d37f63488851613058d\"\u003e\u003ccode\u003e0542d2b\u003c/code\u003e\u003c/a\u003e Release idle MutationObserver bookkeeping\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.1.1...v30.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.1.1 to 30.1.2\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\u003ev30.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated URLs to support Unicode v18.0.0 in internationalized domain names.\u003c/li\u003e\n\u003cli\u003eReduced package size and memory use for CSS property definitions. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (\u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an \u003ccode\u003einitial\u003c/code\u003e reset. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.\u003c/li\u003e\n\u003cli\u003eFixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.\u003c/li\u003e\n\u003cli\u003eFixed computed styles for \u003ccode\u003e:focus\u003c/code\u003e, \u003ccode\u003e:focus-visible\u003c/code\u003e, \u003ccode\u003e:focus-within\u003c/code\u003e, and selectors containing them after focus changes, including inside focus and blur listeners. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (\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 throwing for elements without inline-style support, including XML and MathML elements.\u003c/li\u003e\n\u003cli\u003eFixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after \u003ccode\u003ewindow.close()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed memory growth from long-lived \u003ccode\u003eMutationObserver\u003c/code\u003e instances retaining bookkeeping for garbage-collected nodes. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed retained \u003ccode\u003eselect.selectedOptions\u003c/code\u003e collections becoming stale after selection changes and form resets.\u003c/li\u003e\n\u003cli\u003eFixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.\u003c/li\u003e\n\u003cli\u003eFixed handling of deeply nested \u003ccode\u003ecolor-mix()\u003c/code\u003e expressions, including exceptions during color resolution. (\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/a23bfb72b5a3fc776db51ae1bccabf46af8a9e38\"\u003e\u003ccode\u003ea23bfb7\u003c/code\u003e\u003c/a\u003e 30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/64a75d240db0744cbfeff6f740b07c4da47cee99\"\u003e\u003ccode\u003e64a75d2\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/7bf9653bf12f8ed61255fddf065b1f27afbb6993\"\u003e\u003ccode\u003e7bf9653\u003c/code\u003e\u003c/a\u003e Invalidate styles after CSSOM and control state changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/fe9009c91a09dedd6519c65d8d5b266cce400fa2\"\u003e\u003ccode\u003efe9009c\u003c/code\u003e\u003c/a\u003e Update focused area handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a8d28b3ec0ae3f747a2a8bd2547517c358d00f9a\"\u003e\u003ccode\u003ea8d28b3\u003c/code\u003e\u003c/a\u003e Release windows retained by stylesheet parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/05a2c01549640ad820f6681e0549bf4aab316bbf\"\u003e\u003ccode\u003e05a2c01\u003c/code\u003e\u003c/a\u003e Deduplicate generated CSS property metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/1efa190736aa040ac1264e9009fa809d45d98c28\"\u003e\u003ccode\u003e1efa190\u003c/code\u003e\u003c/a\u003e Reduce generated CSS property data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a372e12fd6eeedadc16c11a12e7c155b8cba7c46\"\u003e\u003ccode\u003ea372e12\u003c/code\u003e\u003c/a\u003e Avoid Document named-property rebuilds after irrelevant tree mutations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b2cd235170228c83cafe6d0ff542419aa7fa6221\"\u003e\u003ccode\u003eb2cd235\u003c/code\u003e\u003c/a\u003e Update css-color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0542d2b8efe917ed37423d37f63488851613058d\"\u003e\u003ccode\u003e0542d2b\u003c/code\u003e\u003c/a\u003e Release idle MutationObserver bookkeeping\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.1.1...v30.1.2\"\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/SchematicHQ/schematic-js/pull/1950","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SchematicHQ%2Fschematic-js/issues/1950","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1950/packages"},{"uuid":"5742708560","node_id":"PR_kwDOO022288AAAABHFuFHA","number":1429,"state":"closed","title":"build(deps-dev): bump jsdom from 30.1.1 to 30.1.2","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-10-07T09:36:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-07T09:34:01.000Z","updated_at":"2026-10-07T09:36:48.000Z","time_to_close":165,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"jsdom","old_version":"30.1.1","new_version":"30.1.2","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 30.1.1 to 30.1.2.\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\u003ev30.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated URLs to support Unicode v18.0.0 in internationalized domain names.\u003c/li\u003e\n\u003cli\u003eReduced package size and memory use for CSS property definitions. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (\u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an \u003ccode\u003einitial\u003c/code\u003e reset. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.\u003c/li\u003e\n\u003cli\u003eFixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.\u003c/li\u003e\n\u003cli\u003eFixed computed styles for \u003ccode\u003e:focus\u003c/code\u003e, \u003ccode\u003e:focus-visible\u003c/code\u003e, \u003ccode\u003e:focus-within\u003c/code\u003e, and selectors containing them after focus changes, including inside focus and blur listeners. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (\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 throwing for elements without inline-style support, including XML and MathML elements.\u003c/li\u003e\n\u003cli\u003eFixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after \u003ccode\u003ewindow.close()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed memory growth from long-lived \u003ccode\u003eMutationObserver\u003c/code\u003e instances retaining bookkeeping for garbage-collected nodes. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed retained \u003ccode\u003eselect.selectedOptions\u003c/code\u003e collections becoming stale after selection changes and form resets.\u003c/li\u003e\n\u003cli\u003eFixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.\u003c/li\u003e\n\u003cli\u003eFixed handling of deeply nested \u003ccode\u003ecolor-mix()\u003c/code\u003e expressions, including exceptions during color resolution. (\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/a23bfb72b5a3fc776db51ae1bccabf46af8a9e38\"\u003e\u003ccode\u003ea23bfb7\u003c/code\u003e\u003c/a\u003e 30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/64a75d240db0744cbfeff6f740b07c4da47cee99\"\u003e\u003ccode\u003e64a75d2\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/7bf9653bf12f8ed61255fddf065b1f27afbb6993\"\u003e\u003ccode\u003e7bf9653\u003c/code\u003e\u003c/a\u003e Invalidate styles after CSSOM and control state changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/fe9009c91a09dedd6519c65d8d5b266cce400fa2\"\u003e\u003ccode\u003efe9009c\u003c/code\u003e\u003c/a\u003e Update focused area handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a8d28b3ec0ae3f747a2a8bd2547517c358d00f9a\"\u003e\u003ccode\u003ea8d28b3\u003c/code\u003e\u003c/a\u003e Release windows retained by stylesheet parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/05a2c01549640ad820f6681e0549bf4aab316bbf\"\u003e\u003ccode\u003e05a2c01\u003c/code\u003e\u003c/a\u003e Deduplicate generated CSS property metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/1efa190736aa040ac1264e9009fa809d45d98c28\"\u003e\u003ccode\u003e1efa190\u003c/code\u003e\u003c/a\u003e Reduce generated CSS property data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a372e12fd6eeedadc16c11a12e7c155b8cba7c46\"\u003e\u003ccode\u003ea372e12\u003c/code\u003e\u003c/a\u003e Avoid Document named-property rebuilds after irrelevant tree mutations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b2cd235170228c83cafe6d0ff542419aa7fa6221\"\u003e\u003ccode\u003eb2cd235\u003c/code\u003e\u003c/a\u003e Update css-color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0542d2b8efe917ed37423d37f63488851613058d\"\u003e\u003ccode\u003e0542d2b\u003c/code\u003e\u003c/a\u003e Release idle MutationObserver bookkeeping\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.1.1...v30.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=30.1.1\u0026new-version=30.1.2)](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/adoptium/adoptium.net/pull/1429","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/adoptium%2Fadoptium.net/issues/1429","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1429/packages"},{"uuid":"5741636364","node_id":"PR_kwDOPtgwas8AAAABHE23Gw","number":714,"state":"open","title":"chore(deps-dev): bump the development-dependencies group with 6 updates","user":"dependabot[bot]","labels":["area:dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-07T08:09:51.000Z","updated_at":"2026-10-07T08:10:40.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":6,"packages":[{"name":"@inquirer/prompts","old_version":"8.7.2","new_version":"8.7.3","repository_url":"https://github.com/SBoudrias/Inquirer.js"},{"name":"eslint","old_version":"10.11.0","new_version":"10.12.0","repository_url":"https://github.com/eslint/eslint"},{"name":"turbo","old_version":"2.11.6","new_version":"2.11.7","repository_url":"https://github.com/vercel/turborepo"},{"name":"devtools-protocol","old_version":"0.0.1709723","new_version":"0.0.1710668","repository_url":"https://github.com/ChromeDevTools/devtools-protocol"},{"name":"jsdom","old_version":"30.1.1","new_version":"30.1.2","repository_url":"https://github.com/jsdom/jsdom"},{"name":"appium-xcuitest-driver","old_version":"12.13.3","new_version":"12.15.0","repository_url":"https://github.com/appium/appium-xcuitest-driver"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 6 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@inquirer/prompts](https://github.com/SBoudrias/Inquirer.js) | `8.7.2` | `8.7.3` |\n| [eslint](https://github.com/eslint/eslint) | `10.11.0` | `10.12.0` |\n| [turbo](https://github.com/vercel/turborepo) | `2.11.6` | `2.11.7` |\n| [devtools-protocol](https://github.com/ChromeDevTools/devtools-protocol) | `0.0.1709723` | `0.0.1710668` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.1.1` | `30.1.2` |\n| [appium-xcuitest-driver](https://github.com/appium/appium-xcuitest-driver) | `12.13.3` | `12.15.0` |\n\nUpdates `@inquirer/prompts` from 8.7.2 to 8.7.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/SBoudrias/Inquirer.js/releases\"\u003e@​inquirer/prompts's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​inquirer/prompts\u003c/code\u003e\u003ca href=\"https://github.com/8\"\u003e\u003ccode\u003e@​8\u003c/code\u003e\u003c/a\u003e.7.3\u003c/h2\u003e\n\u003ch3\u003eWhat's new\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esearch()\u003c/code\u003e no longer submits a stale choice when Enter is pressed while an async search is still loading — the prompt waits for the fresh results, the query is preserved, and repeated Enter presses during validation no longer run the async validator more than once (\u003ccode\u003e@inquirer/search\u003c/code\u003e, \u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/pull/2291\"\u003e#2291\u003c/a\u003e, closes \u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/issues/2290\"\u003e#2290\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econfirm()\u003c/code\u003e now always accepts the single keystrokes \u003ccode\u003ey\u003c/code\u003e/\u003ccode\u003en\u003c/code\u003e even with localized keywords, and unrecognized input no longer silently falls back on the default answer (\u003ccode\u003e@inquirer/confirm\u003c/code\u003e, \u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/pull/2281\"\u003e#2281\u003c/a\u003e, closes \u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/issues/2279\"\u003e#2279\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eexpand()\u003c/code\u003e and \u003ccode\u003erawlist()\u003c/code\u003e now ignore surrounding whitespace in answers (\u003ccode\u003e@inquirer/expand\u003c/code\u003e, \u003ccode\u003e@inquirer/rawlist\u003c/code\u003e, \u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/pull/2280\"\u003e#2280\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAll package READMEs now document the Deno install command (\u003ccode\u003edeno add npm:@inquirer/prompts\u003c/code\u003e) alongside the npm/yarn/pnpm/bun ones (\u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/pull/2269\"\u003e#2269\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIncluded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/checkbox@^5.2.6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/confirm@^6.3.3\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/editor@^5.3.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/expand@^5.1.6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/input@^5.1.7\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/number@^4.2.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/password@^5.2.3\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/rawlist@^5.3.6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/search@^4.3.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/select@^5.2.6\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/SBoudrias/Inquirer.js/commit/a9436bd94d55a439df308f50e77a7cd0b2078e98\"\u003e\u003ccode\u003ea9436bd\u003c/code\u003e\u003c/a\u003e chore(release): bump \u003ccode\u003e@​inquirer/type\u003c/code\u003e range to ^4.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SBoudrias/Inquirer.js/commit/61be5dfa976ff5c28ebde6c8cfdad5cd3738a152\"\u003e\u003ccode\u003e61be5df\u003c/code\u003e\u003c/a\u003e chore: Publish new release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SBoudrias/Inquirer.js/commit/7dc77e281228214e19ccacbb52cbfcf58481d3cc\"\u003e\u003ccode\u003e7dc77e2\u003c/code\u003e\u003c/a\u003e fix(search): prevent submissions while the prompt is loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SBoudrias/Inquirer.js/commit/73b5eab2b8fafa9501724a2708135862a0f3e126\"\u003e\u003ccode\u003e73b5eab\u003c/code\u003e\u003c/a\u003e docs: document Deno installation (\u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/issues/2269\"\u003e#2269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SBoudrias/Inquirer.js/commit/79a092acb411703d70d1a463e1b1dd3b885ab43f\"\u003e\u003ccode\u003e79a092a\u003c/code\u003e\u003c/a\u003e ci: add Deno compatibility test suite (\u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/issues/2271\"\u003e#2271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SBoudrias/Inquirer.js/commit/148a96acb7f8e840e840e4a7de771a598d92d6db\"\u003e\u003ccode\u003e148a96a\u003c/code\u003e\u003c/a\u003e chore: enable vitest fsModuleCache to persist transforms across runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SBoudrias/Inquirer.js/commit/e928543051dbef7750cb271335d236ad5790031b\"\u003e\u003ccode\u003ee928543\u003c/code\u003e\u003c/a\u003e chore: bump yarn to 4.18.1 via corepack\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SBoudrias/Inquirer.js/commit/2348c7ba4bbbd1c2a848b9785b19bdf30e4daa36\"\u003e\u003ccode\u003e2348c7b\u003c/code\u003e\u003c/a\u003e fix(external-editor): use BSD/GNU-compatible truncate flag in test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SBoudrias/Inquirer.js/commit/3c1fdb3242bd31bcb025555eb1731ac742ead18f\"\u003e\u003ccode\u003e3c1fdb3\u003c/code\u003e\u003c/a\u003e fix(confirm): always accept y/n and reject unrecognized input (\u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/issues/2281\"\u003e#2281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SBoudrias/Inquirer.js/commit/eae8b3e2622b4f3c790968a2694ccddcabac2872\"\u003e\u003ccode\u003eeae8b3e\u003c/code\u003e\u003c/a\u003e fix(expand, rawlist): ignore surrounding whitespace in answers (\u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/issues/2280\"\u003e#2280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/SBoudrias/Inquirer.js/compare/@inquirer/prompts@8.7.2...@inquirer/prompts@8.7.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.11.0 to 10.12.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.12.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4618052eed6bb3ef420cf0db0490bbda2fd835a5\"\u003e\u003ccode\u003e4618052\u003c/code\u003e\u003c/a\u003e feat: handle astral letters in \u003ccode\u003enew-cap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21357\"\u003e#21357\u003c/a\u003e) (sary)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4ec5168d6d6888e3f7b163eb82963d40e45a75fa\"\u003e\u003ccode\u003e4ec5168\u003c/code\u003e\u003c/a\u003e feat: allow \u003ccode\u003eSourceCode#getText()\u003c/code\u003e to accept tokens and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21340\"\u003e#21340\u003c/a\u003e) (electrohyun)\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/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e) (Daniel Pinto)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/efc4d6bdc4c4d1dfba8bdab6a8f44f27a1b1d00a\"\u003e\u003ccode\u003eefc4d6b\u003c/code\u003e\u003c/a\u003e fix: astral letters in \u003ccode\u003econsistent-return\u003c/code\u003e, \u003ccode\u003eno-eval\u003c/code\u003e, \u003ccode\u003eno-invalid-this\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21360\"\u003e#21360\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/93de066d4125f8df013d40305e8009f4634a5cba\"\u003e\u003ccode\u003e93de066\u003c/code\u003e\u003c/a\u003e fix: prefer-exponentiation-operator autofix for async function base (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21322\"\u003e#21322\u003c/a\u003e) (Vladimir Babin)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/02e34ffba6adbed72365177c7caee71d950834e5\"\u003e\u003ccode\u003e02e34ff\u003c/code\u003e\u003c/a\u003e fix: add missing space after \u003ccode\u003eelse\u003c/code\u003e in \u003ccode\u003ecurly\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21355\"\u003e#21355\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b14b8bc213ccfc19d3edcfa9ce6af62622661160\"\u003e\u003ccode\u003eb14b8bc\u003c/code\u003e\u003c/a\u003e fix: correct \u003ccode\u003eid-length\u003c/code\u003e message for long private names (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21348\"\u003e#21348\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/69aac01d898837a934c9e735e0b7881cc1df09e8\"\u003e\u003ccode\u003e69aac01\u003c/code\u003e\u003c/a\u003e fix: support \u003ccode\u003eTSFunctionType\u003c/code\u003e in \u003ccode\u003egetFunctionHeadLoc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21335\"\u003e#21335\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/686630eb34ec1cddf399a4e6eaeebb080116a532\"\u003e\u003ccode\u003e686630e\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eno-loss-of-precision\u003c/code\u003e false positive with \u003ccode\u003e0.e5\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21337\"\u003e#21337\u003c/a\u003e) (sethamus)\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/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\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/5370d7ee35a6523873f798e87f3ccc73779d5d21\"\u003e\u003ccode\u003e5370d7e\u003c/code\u003e\u003c/a\u003e docs: clarify \u003ccode\u003eone-var\u003c/code\u003e \u003ccode\u003eseparateRequires\u003c/code\u003e matches any \u003ccode\u003erequire()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21192\"\u003e#21192\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8816c1ddfcfa31318ad17cddcfb68acffa30940f\"\u003e\u003ccode\u003e8816c1d\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/3d2e7cedb7409d8a2c5f2c2fafb14fa22790e40e\"\u003e\u003ccode\u003e3d2e7ce\u003c/code\u003e\u003c/a\u003e docs: fix typo in no-unused-expressions documentation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21346\"\u003e#21346\u003c/a\u003e) (bytedoe)\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/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e) (James Ross)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/29585ceba7ad35368d1b763bd1e80d899f28842c\"\u003e\u003ccode\u003e29585ce\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-expect-type to ^0.7.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21359\"\u003e#21359\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39d79ba9650542ac66d585d1899304abd630c07d\"\u003e\u003ccode\u003e39d79ba\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21354\"\u003e#21354\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/182a6e993a8a5dbdad5a628b69ad7382d48bf24f\"\u003e\u003ccode\u003e182a6e9\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21352\"\u003e#21352\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f995127230dad258069c29b7f51971681bd53f00\"\u003e\u003ccode\u003ef995127\u003c/code\u003e\u003c/a\u003e chore: remove CLAUDE.md in favor of AGENTS.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21339\"\u003e#21339\u003c/a\u003e) (Jarren)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b95fb6cb335f82a0ccabb0944ac3b89c703bd947\"\u003e\u003ccode\u003eb95fb6c\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21347\"\u003e#21347\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3782dd458fdfbe492e600d9a54b295a9721ed815\"\u003e\u003ccode\u003e3782dd4\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21342\"\u003e#21342\u003c/a\u003e) (ESLint Bot)\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/eslint/eslint/commit/a438ec39512c3381f4785a1f3058982ce9845970\"\u003e\u003ccode\u003ea438ec3\u003c/code\u003e\u003c/a\u003e 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/32a73f144198510e23c40c5ca6808e2c09b7e5e5\"\u003e\u003ccode\u003e32a73f1\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.11.0...v10.12.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.11.6 to 2.11.7\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.11.7\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\u003echore: Release Turborepo 2.11.6 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/14352\"\u003evercel/turborepo#14352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Pass SDKROOT through to repository tasks 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/14353\"\u003evercel/turborepo#14353\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update with-vite-module-federation example by \u003ca href=\"https://github.com/vercel-gh-bot-5\"\u003e\u003ccode\u003e@​vercel-gh-bot-5\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14349\"\u003evercel/turborepo#14349\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Ignore Vercel OIDC token rotation in .env.local cache inputs 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/14356\"\u003evercel/turborepo#14356\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.11.6...v2.11.7\"\u003ehttps://github.com/vercel/turborepo/compare/v2.11.6...v2.11.7\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/vercel/turborepo/commit/547747fb39719ebdc405074b8c378a6341aaabfc\"\u003e\u003ccode\u003e547747f\u003c/code\u003e\u003c/a\u003e publish 2.11.7 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/3ce82f57d27f37877f09fc1200c2fda64b9f3596\"\u003e\u003ccode\u003e3ce82f5\u003c/code\u003e\u003c/a\u003e fix: Ignore Vercel OIDC token rotation in .env.local cache inputs (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14356\"\u003e#14356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/8cc3cce30705a88ac9020d1adc2bf06f391fdf2d\"\u003e\u003ccode\u003e8cc3cce\u003c/code\u003e\u003c/a\u003e chore: Update with-vite-module-federation example (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14349\"\u003e#14349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/41387de0cdd241314f84c5ee9eef4728197c4fda\"\u003e\u003ccode\u003e41387de\u003c/code\u003e\u003c/a\u003e fix: Pass SDKROOT through to repository tasks (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14353\"\u003e#14353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/3a2072cad9eadc0f21a5eff2a93abbb40ed2b572\"\u003e\u003ccode\u003e3a2072c\u003c/code\u003e\u003c/a\u003e chore: Release Turborepo 2.11.6 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14352\"\u003e#14352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.11.6...v2.11.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `devtools-protocol` from 0.0.1709723 to 0.0.1710668\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ChromeDevTools/devtools-protocol/commit/d209a9a38897d2935a078a0bf00ca821811d21ed\"\u003e\u003ccode\u003ed209a9a\u003c/code\u003e\u003c/a\u003e Roll protocol to r1710668\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ChromeDevTools/devtools-protocol/compare/v0.0.1709723...v0.0.1710668\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.1.1 to 30.1.2\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\u003ev30.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated URLs to support Unicode v18.0.0 in internationalized domain names.\u003c/li\u003e\n\u003cli\u003eReduced package size and memory use for CSS property definitions. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (\u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an \u003ccode\u003einitial\u003c/code\u003e reset. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.\u003c/li\u003e\n\u003cli\u003eFixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.\u003c/li\u003e\n\u003cli\u003eFixed computed styles for \u003ccode\u003e:focus\u003c/code\u003e, \u003ccode\u003e:focus-visible\u003c/code\u003e, \u003ccode\u003e:focus-within\u003c/code\u003e, and selectors containing them after focus changes, including inside focus and blur listeners. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (\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 throwing for elements without inline-style support, including XML and MathML elements.\u003c/li\u003e\n\u003cli\u003eFixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after \u003ccode\u003ewindow.close()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed memory growth from long-lived \u003ccode\u003eMutationObserver\u003c/code\u003e instances retaining bookkeeping for garbage-collected nodes. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed retained \u003ccode\u003eselect.selectedOptions\u003c/code\u003e collections becoming stale after selection changes and form resets.\u003c/li\u003e\n\u003cli\u003eFixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.\u003c/li\u003e\n\u003cli\u003eFixed handling of deeply nested \u003ccode\u003ecolor-mix()\u003c/code\u003e expressions, including exceptions during color resolution. (\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/a23bfb72b5a3fc776db51ae1bccabf46af8a9e38\"\u003e\u003ccode\u003ea23bfb7\u003c/code\u003e\u003c/a\u003e 30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/64a75d240db0744cbfeff6f740b07c4da47cee99\"\u003e\u003ccode\u003e64a75d2\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/7bf9653bf12f8ed61255fddf065b1f27afbb6993\"\u003e\u003ccode\u003e7bf9653\u003c/code\u003e\u003c/a\u003e Invalidate styles after CSSOM and control state changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/fe9009c91a09dedd6519c65d8d5b266cce400fa2\"\u003e\u003ccode\u003efe9009c\u003c/code\u003e\u003c/a\u003e Update focused area handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a8d28b3ec0ae3f747a2a8bd2547517c358d00f9a\"\u003e\u003ccode\u003ea8d28b3\u003c/code\u003e\u003c/a\u003e Release windows retained by stylesheet parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/05a2c01549640ad820f6681e0549bf4aab316bbf\"\u003e\u003ccode\u003e05a2c01\u003c/code\u003e\u003c/a\u003e Deduplicate generated CSS property metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/1efa190736aa040ac1264e9009fa809d45d98c28\"\u003e\u003ccode\u003e1efa190\u003c/code\u003e\u003c/a\u003e Reduce generated CSS property data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a372e12fd6eeedadc16c11a12e7c155b8cba7c46\"\u003e\u003ccode\u003ea372e12\u003c/code\u003e\u003c/a\u003e Avoid Document named-property rebuilds after irrelevant tree mutations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b2cd235170228c83cafe6d0ff542419aa7fa6221\"\u003e\u003ccode\u003eb2cd235\u003c/code\u003e\u003c/a\u003e Update css-color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0542d2b8efe917ed37423d37f63488851613058d\"\u003e\u003ccode\u003e0542d2b\u003c/code\u003e\u003c/a\u003e Release idle MutationObserver bookkeeping\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.1.1...v30.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `appium-xcuitest-driver` from 12.13.3 to 12.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/appium/appium-xcuitest-driver/releases\"\u003eappium-xcuitest-driver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.15.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/compare/v12.14.1...v12.15.0\"\u003e12.15.0\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport launching WDA on Duo (\u003ca href=\"https://redirect.github.com/appium/appium-xcuitest-driver/issues/3000\"\u003e#3000\u003c/a\u003e) (\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/a097de0798995ffff1ee40882bab6a0e6eb430dd\"\u003ea097de0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.14.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/compare/v12.14.0...v12.14.1\"\u003e12.14.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emerge tunnel and legacy device discovery (\u003ca href=\"https://redirect.github.com/appium/appium-xcuitest-driver/issues/2991\"\u003e#2991\u003c/a\u003e) (\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/77b451fe482cf383b802ffde5068ee01f50e1cfd\"\u003e77b451f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.14.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/compare/v12.13.3...v12.14.0\"\u003e12.14.0\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport simulatorPasteboardAutomaticSync and connect hardware preference for Device Hub (\u003ca href=\"https://redirect.github.com/appium/appium-xcuitest-driver/issues/2999\"\u003e#2999\u003c/a\u003e) (\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/3cda6b203eaa9e497bc998748506ba75bc9e51f3\"\u003e3cda6b2\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/appium/appium-xcuitest-driver/blob/master/CHANGELOG.md\"\u003eappium-xcuitest-driver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/compare/v12.14.1...v12.15.0\"\u003e12.15.0\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport launching WDA on Duo (\u003ca href=\"https://redirect.github.com/appium/appium-xcuitest-driver/issues/3000\"\u003e#3000\u003c/a\u003e) (\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/a097de0798995ffff1ee40882bab6a0e6eb430dd\"\u003ea097de0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/compare/v12.14.0...v12.14.1\"\u003e12.14.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emerge tunnel and legacy device discovery (\u003ca href=\"https://redirect.github.com/appium/appium-xcuitest-driver/issues/2991\"\u003e#2991\u003c/a\u003e) (\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/77b451fe482cf383b802ffde5068ee01f50e1cfd\"\u003e77b451f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/compare/v12.13.3...v12.14.0\"\u003e12.14.0\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport simulatorPasteboardAutomaticSync and connect hardware preference for Device Hub (\u003ca href=\"https://redirect.github.com/appium/appium-xcuitest-driver/issues/2999\"\u003e#2999\u003c/a\u003e) (\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/3cda6b203eaa9e497bc998748506ba75bc9e51f3\"\u003e3cda6b2\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/appium/appium-xcuitest-driver/commit/b908435bed80f9720e14034e244326db20c35d6a\"\u003e\u003ccode\u003eb908435\u003c/code\u003e\u003c/a\u003e chore(release): 12.15.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/a097de0798995ffff1ee40882bab6a0e6eb430dd\"\u003e\u003ccode\u003ea097de0\u003c/code\u003e\u003c/a\u003e feat: support launching WDA on Duo (\u003ca href=\"https://redirect.github.com/appium/appium-xcuitest-driver/issues/3000\"\u003e#3000\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/062e265d86f5f2487a81224002a6a794251e975b\"\u003e\u003ccode\u003e062e265\u003c/code\u003e\u003c/a\u003e chore(release): 12.14.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/77b451fe482cf383b802ffde5068ee01f50e1cfd\"\u003e\u003ccode\u003e77b451f\u003c/code\u003e\u003c/a\u003e fix: merge tunnel and legacy device discovery (\u003ca href=\"https://redirect.github.com/appium/appium-xcuitest-driver/issues/2991\"\u003e#2991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/8f81ec346ee2a19dbd163c056adcde7aa8f95fc4\"\u003e\u003ccode\u003e8f81ec3\u003c/code\u003e\u003c/a\u003e chore(release): 12.14.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/3cda6b203eaa9e497bc998748506ba75bc9e51f3\"\u003e\u003ccode\u003e3cda6b2\u003c/code\u003e\u003c/a\u003e feat: support simulatorPasteboardAutomaticSync and connect hardware preferenc...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/appium/appium-xcuitest-driver/compare/v12.13.3...v12.15.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/webdriverio/desktop-mobile/pull/714","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/webdriverio%2Fdesktop-mobile/issues/714","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/714/packages"},{"uuid":"5739450542","node_id":"PR_kwDOSmjk9M8AAAABHDIAww","number":97,"state":"open","title":"chore(deps): bump the minor-and-patch group with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-07T04:38:06.000Z","updated_at":"2026-10-07T04:38:55.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":12,"packages":[{"name":"@astrojs/starlight","old_version":"0.42.2","new_version":"0.42.5","repository_url":"https://github.com/withastro/starlight"},{"name":"@bundu/ui","old_version":"0.1.1","new_version":"0.2.0","repository_url":"https://github.com/mzizi-dev/packages-npm"},{"name":"astro","old_version":"7.3.3","new_version":"7.3.5","repository_url":"https://github.com/withastro/astro"},{"name":"sharp","old_version":"0.35.4","new_version":"0.35.5","repository_url":"https://github.com/lovell/sharp"},{"name":"@cloudflare/workers-types","old_version":"5.20260920.1","new_version":"5.20261004.1","repository_url":"https://github.com/cloudflare/workerd"},{"name":"wrangler","old_version":"4.135.0","new_version":"4.147.0","repository_url":"https://github.com/cloudflare/workers-sdk"},{"name":"@sveltejs/vite-plugin-svelte","old_version":"7.3.0","new_version":"7.3.1","repository_url":"https://github.com/sveltejs/vite-plugin-svelte"},{"name":"jsdom","old_version":"30.1.0","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"publint","old_version":"0.3.24","new_version":"0.3.25","repository_url":"https://github.com/publint/publint"},{"name":"vite","old_version":"8.3.0","new_version":"8.3.2","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"5.0.2","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@cloudflare/vite-plugin","old_version":"1.56.0","new_version":"1.62.5","repository_url":"https://github.com/cloudflare/workers-sdk"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 12 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@astrojs/starlight](https://github.com/withastro/starlight/tree/HEAD/packages/starlight) | `0.42.2` | `0.42.5` |\n| [@bundu/ui](https://github.com/mzizi-dev/packages-npm/tree/HEAD/packages/bundu-ui) | `0.1.1` | `0.2.0` |\n| [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) | `7.3.3` | `7.3.5` |\n| [sharp](https://github.com/lovell/sharp) | `0.35.4` | `0.35.5` |\n| [@cloudflare/workers-types](https://github.com/cloudflare/workerd) | `5.20260920.1` | `5.20261004.1` |\n| [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) | `4.135.0` | `4.147.0` |\n| [@sveltejs/vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte) | `7.3.0` | `7.3.1` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.1.0` | `30.1.1` |\n| [publint](https://github.com/publint/publint/tree/HEAD/packages/publint) | `0.3.24` | `0.3.25` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.3.0` | `8.3.2` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.2` | `5.0.3` |\n| [@cloudflare/vite-plugin](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vite-plugin-cloudflare) | `1.56.0` | `1.62.5` |\n\nUpdates `@astrojs/starlight` from 0.42.2 to 0.42.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/withastro/starlight/releases\"\u003e@​astrojs/starlight's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​astrojs/starlight\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.42.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/withastro/starlight/pull/4227\"\u003e#4227\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/5ba7a70ad491ed8b5fc7033558dcc5428112cf97\"\u003e\u003ccode\u003e5ba7a70\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/I90rche\"\u003e\u003ccode\u003e@​I90rche\u003c/code\u003e\u003c/a\u003e! - Adds Macedonian language support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​astrojs/starlight\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.42.4\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/withastro/starlight/pull/4149\"\u003e#4149\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/fa10e87376f49f76a693e8d2b292aef65b959e37\"\u003e\u003ccode\u003efa10e87\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ematipico\"\u003e\u003ccode\u003e@​ematipico\u003c/code\u003e\u003c/a\u003e! - Optimizes rendering of large nested sidebars\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/starlight/pull/4215\"\u003e#4215\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/f791de65e6e14e9011586004d79f78fcef3a427e\"\u003e\u003ccode\u003ef791de6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/HiDeoo\"\u003e\u003ccode\u003e@​HiDeoo\u003c/code\u003e\u003c/a\u003e! - Adds a new \u003ccode\u003eseti:coffee\u003c/code\u003e icon for CoffeeScript files in the \u003ccode\u003e\u0026lt;FileTree\u0026gt;\u003c/code\u003e component.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/starlight/pull/4215\"\u003e#4215\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/f791de65e6e14e9011586004d79f78fcef3a427e\"\u003e\u003ccode\u003ef791de6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/HiDeoo\"\u003e\u003ccode\u003e@​HiDeoo\u003c/code\u003e\u003c/a\u003e! - Fixes \u003ccode\u003e\u0026lt;FileTree\u0026gt;\u003c/code\u003e icons for \u003ccode\u003e.ejs\u003c/code\u003e and \u003ccode\u003enpm-debug.log\u003c/code\u003e files displaying the default file icon.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​astrojs/starlight\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.42.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/withastro/starlight/pull/4211\"\u003e#4211\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/33e21ec86274070df1725580c1e8134e34062c15\"\u003e\u003ccode\u003e33e21ec\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/HiDeoo\"\u003e\u003ccode\u003e@​HiDeoo\u003c/code\u003e\u003c/a\u003e! - Fixes a potential page freeze due to table of contents highlighting when a \u003ca href=\"https://starlight.astro.build/reference/overrides/#pagetitle\"\u003e\u003ccode\u003e\u0026lt;PageTitle\u0026gt;\u003c/code\u003e component\u003c/a\u003e override does not render a heading with the required \u003ccode\u003eid=\u0026quot;_top\u0026quot;\u003c/code\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/withastro/starlight/blob/main/packages/starlight/CHANGELOG.md\"\u003e@​astrojs/starlight's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.42.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/withastro/starlight/pull/4227\"\u003e#4227\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/5ba7a70ad491ed8b5fc7033558dcc5428112cf97\"\u003e\u003ccode\u003e5ba7a70\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/I90rche\"\u003e\u003ccode\u003e@​I90rche\u003c/code\u003e\u003c/a\u003e! - Adds Macedonian language support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.42.4\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/withastro/starlight/pull/4149\"\u003e#4149\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/fa10e87376f49f76a693e8d2b292aef65b959e37\"\u003e\u003ccode\u003efa10e87\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ematipico\"\u003e\u003ccode\u003e@​ematipico\u003c/code\u003e\u003c/a\u003e! - Optimizes rendering of large nested sidebars\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/starlight/pull/4215\"\u003e#4215\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/f791de65e6e14e9011586004d79f78fcef3a427e\"\u003e\u003ccode\u003ef791de6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/HiDeoo\"\u003e\u003ccode\u003e@​HiDeoo\u003c/code\u003e\u003c/a\u003e! - Adds a new \u003ccode\u003eseti:coffee\u003c/code\u003e icon for CoffeeScript files in the \u003ccode\u003e\u0026lt;FileTree\u0026gt;\u003c/code\u003e component.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/starlight/pull/4215\"\u003e#4215\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/f791de65e6e14e9011586004d79f78fcef3a427e\"\u003e\u003ccode\u003ef791de6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/HiDeoo\"\u003e\u003ccode\u003e@​HiDeoo\u003c/code\u003e\u003c/a\u003e! - Fixes \u003ccode\u003e\u0026lt;FileTree\u0026gt;\u003c/code\u003e icons for \u003ccode\u003e.ejs\u003c/code\u003e and \u003ccode\u003enpm-debug.log\u003c/code\u003e files displaying the default file icon.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.42.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/withastro/starlight/pull/4211\"\u003e#4211\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/33e21ec86274070df1725580c1e8134e34062c15\"\u003e\u003ccode\u003e33e21ec\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/HiDeoo\"\u003e\u003ccode\u003e@​HiDeoo\u003c/code\u003e\u003c/a\u003e! - Fixes a potential page freeze due to table of contents highlighting when a \u003ca href=\"https://starlight.astro.build/reference/overrides/#pagetitle\"\u003e\u003ccode\u003e\u0026lt;PageTitle\u0026gt;\u003c/code\u003e component\u003c/a\u003e override does not render a heading with the required \u003ccode\u003eid=\u0026quot;_top\u0026quot;\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/withastro/starlight/commit/b8b654ccf618d876552f8d72d3fbe75f996aaf43\"\u003e\u003ccode\u003eb8b654c\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4233\"\u003e#4233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/starlight/commit/5ba7a70ad491ed8b5fc7033558dcc5428112cf97\"\u003e\u003ccode\u003e5ba7a70\u003c/code\u003e\u003c/a\u003e i18n(mk): Add Macedonian UI translations (\u003ca href=\"https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4227\"\u003e#4227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/starlight/commit/3ec633b8c50d3e1a6d67cae7dc4c50f80101ea41\"\u003e\u003ccode\u003e3ec633b\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4217\"\u003e#4217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/starlight/commit/f791de65e6e14e9011586004d79f78fcef3a427e\"\u003e\u003ccode\u003ef791de6\u003c/code\u003e\u003c/a\u003e Fix file icons generator (\u003ca href=\"https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4215\"\u003e#4215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/starlight/commit/fa10e87376f49f76a693e8d2b292aef65b959e37\"\u003e\u003ccode\u003efa10e87\u003c/code\u003e\u003c/a\u003e perf: avoid repeated sidebar subtree scans (\u003ca href=\"https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4149\"\u003e#4149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/starlight/commit/fafea30324b17b52c489bc37dffbc78c8cd28e2f\"\u003e\u003ccode\u003efafea30\u003c/code\u003e\u003c/a\u003e Add benchmark for sidebar sublist processing (\u003ca href=\"https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4216\"\u003e#4216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/starlight/commit/b0d3b8e721b8612ab498aea678e760c099bda5a3\"\u003e\u003ccode\u003eb0d3b8e\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4212\"\u003e#4212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/starlight/commit/33e21ec86274070df1725580c1e8134e34062c15\"\u003e\u003ccode\u003e33e21ec\u003c/code\u003e\u003c/a\u003e Fix toc highlighting potential page freeze (\u003ca href=\"https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4211\"\u003e#4211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/withastro/starlight/commits/@astrojs/starlight@0.42.5/packages/starlight\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@bundu/ui` from 0.1.1 to 0.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mzizi-dev/packages-npm/blob/main/CHANGELOG.md\"\u003e@​bundu/ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[\u003ccode\u003e@​bundu/ui\u003c/code\u003e 0.2.0, \u003ccode\u003e@​nyuchi/ui\u003c/code\u003e 0.2.0] - 2026-09-30\u003c/h2\u003e\n\u003cp\u003ePublished to npm from the \u003ccode\u003ev0.2.0\u003c/code\u003e tag. \u003ccode\u003e@nyuchi/ui\u003c/code\u003e 0.2.0 is \u003cstrong\u003eBreaking\u003c/strong\u003e: the Svelte 5\nlibrary replaces the Astro components published as 0.1.2.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e@bundu/ui\u003c/code\u003e — \u003ccode\u003eHero\u003c/code\u003e media slot and split layout.\u003c/strong\u003e All of these are optional, and\nwith none of them \u003ccode\u003eHero\u003c/code\u003e renders byte-identical markup to 0.1.1.\n\u003cul\u003e\n\u003cli\u003eA named \u003ccode\u003emedia\u003c/code\u003e slot renders a demo, screenshot or live widget. It sits beside the\ntext column under \u003ccode\u003elayout=\u0026quot;split\u0026quot;\u003c/code\u003e, or below it under the default \u003ccode\u003elayout=\u0026quot;stack\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elayout=\u0026quot;split\u0026quot;\u003c/code\u003e puts text and media side by side from the \u003ccode\u003elg\u003c/code\u003e breakpoint and\nstacks them, text first, below it.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebadge\u003c/code\u003e renders a short status pill above the headline.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003evariant=\u0026quot;showcase\u0026quot;\u003c/code\u003e gives a richer, token-only background.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emediaLabel\u003c/code\u003e gives the media region an accessible name.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBoth — \u003ccode\u003estyles/color-scheme.css\u003c/code\u003e, an opt-in file that follows the OS colour\nscheme.\u003c/strong\u003e It repeats \u003ccode\u003etokens.css\u003c/code\u003e's dark block under\n\u003ccode\u003e@media (prefers-color-scheme: dark)\u003c/code\u003e for sites with no theme script, and an explicit\n\u003ccode\u003edata-theme=\u0026quot;light\u0026quot;\u003c/code\u003e or \u003ccode\u003e.light\u003c/code\u003e still wins. Its selector is \u003ccode\u003e:root:where(…)\u003c/code\u003e, so a\nbrand overlay imported after it keeps its \u003ccode\u003e--primary\u003c/code\u003e. It is generated like every\nother token file, bringing the count to 20, and exported as\n\u003ccode\u003e./styles/color-scheme.css\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e@bundu/ui\u003c/code\u003e — \u003ccode\u003eIcon\u003c/code\u003e glyphs \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003ecode\u003c/code\u003e and \u003ccode\u003eterminal\u003c/code\u003e.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e@bundu/ui\u003c/code\u003e — \u003ccode\u003eTabsContent\u003c/code\u003e \u003ccode\u003eforceMount\u003c/code\u003e.\u003c/strong\u003e It renders an inactive panel's content\n(still \u003ccode\u003ehidden\u003c/code\u003e), so a statically rendered tab set, with no hydration, carries every\npanel in its HTML. The default is unchanged.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e@bundu/ui\u003c/code\u003e — \u003ccode\u003e.gradient-showcase\u003c/code\u003e utility\u003c/strong\u003e in \u003ccode\u003estyles/globals.css\u003c/code\u003e. It lays soft\nwashes of the brand \u003ccode\u003e--primary\u003c/code\u003e and cobalt over \u003ccode\u003e--background\u003c/code\u003e, with no hex and no\nimage.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBoth — the type scale, reading widths and named spacing in \u003ccode\u003estyles/theme.css\u003c/code\u003e.\u003c/strong\u003e\nThis adds \u003ccode\u003e--text-display\u003c/code\u003e … \u003ccode\u003e--text-caption\u003c/code\u003e with their line-height, tracking and\nweight, \u003ccode\u003e--container-narrow\u003c/code\u003e / \u003ccode\u003e--container-prose\u003c/code\u003e, and \u003ccode\u003e--spacing-xxs\u003c/code\u003e …\n\u003ccode\u003e--spacing-2xl-plus\u003c/code\u003e. These values are read from each package's \u003ccode\u003etailwind-preset.mjs\u003c/code\u003e,\nso the Tailwind v4 path and the v3 preset share one definition. Without them, the\nAstro components' \u003ccode\u003etext-display\u003c/code\u003e, \u003ccode\u003etext-body-lg\u003c/code\u003e and \u003ccode\u003eeyebrow\u003c/code\u003e classes had no value\nunder the v4-only setup the README recommends.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBoth — all 21 Mzizi colour families\u003c/strong\u003e in \u003ccode\u003estyles/tokens.css\u003c/code\u003e, under one \u003ccode\u003e--color-*\u003c/code\u003e\nnamespace: 7 minerals, 7 heritage tones and 7 experimental tones. It also carries the\nnine-step surface ladder (\u003ccode\u003e--pitch\u003c/code\u003e … \u003ccode\u003e--wash\u003c/code\u003e, plus \u003ccode\u003e--surface-muted\u003c/code\u003e) and the\nconnectivity status trio (\u003ccode\u003e--syncing\u003c/code\u003e, \u003ccode\u003e--offline\u003c/code\u003e, \u003ccode\u003e--neutral\u003c/code\u003e). That is 113 custom\nproperties, up from 62. (\u003ca href=\"https://github.com/mzizi-dev/packages-npm/tree/HEAD/packages/bundu-ui/issues/9\"\u003e#9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBoth — \u003ccode\u003estyles/theme.css\u003c/code\u003e\u003c/strong\u003e, a native Tailwind v4 \u003ccode\u003e@theme\u003c/code\u003e entrypoint, so no\n\u003ccode\u003etailwind.config.mjs\u003c/code\u003e is needed. (\u003ca href=\"https://github.com/mzizi-dev/packages-npm/tree/HEAD/packages/bundu-ui/issues/9\"\u003e#9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBoth — \u003ccode\u003etokens.json\u003c/code\u003e.\u003c/strong\u003e It holds the same values in machine-readable form, including\nevery custom property resolved to a literal hex per mode, for Expo and Satori. (\u003ca href=\"https://github.com/mzizi-dev/packages-npm/tree/HEAD/packages/bundu-ui/issues/9\"\u003e#9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBoth — \u003ccode\u003ebrand-shamwari.css\u003c/code\u003e (sodalite) and \u003ccode\u003ebrand-mzizi.css\u003c/code\u003e (hematite).\u003c/strong\u003e Mzizi's\nbrand mineral is hematite by owner decision (2026-09-30), recorded in canon as\n\u003ca href=\"https://redirect.github.com/mzizi-dev/mzizi-registry/issues/378\"\u003emzizi-dev/mzizi-registry#378\u003c/a\u003e. (\u003ca href=\"https://github.com/mzizi-dev/packages-npm/tree/HEAD/packages/bundu-ui/issues/9\"\u003e#9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBoth — \u003ccode\u003etailwind-palette.mjs\u003c/code\u003e\u003c/strong\u003e, the generated colour map shared by the v3 preset\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mzizi-dev/packages-npm/commits/HEAD/packages/bundu-ui\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `astro` from 7.3.3 to 7.3.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/withastro/astro/releases\"\u003eastro's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eastro@7.3.5\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/withastro/astro/pull/17736\"\u003e#17736\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/2b8b2e80169da0ab19055166438291c46fcfe320\"\u003e\u003ccode\u003e2b8b2e8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ematipico\"\u003e\u003ccode\u003e@​ematipico\u003c/code\u003e\u003c/a\u003e! - Adds a new container function called \u003ccode\u003erenderComponent()\u003c/code\u003e, which renders Astro components with inlined styles and scripts.\u003c/p\u003e\n\u003cp\u003eUsers must import the component with the new \u003ccode\u003e?container\u003c/code\u003e query string:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { experimental_AstroContainer } from \u0026quot;astro/container\u0026quot;;\nimport TodoList from \u0026quot;../components/TodoList.astro?container\u0026quot;;\n\u003cp\u003econst container = await experimental_AstroContainer.create();\u003c/p\u003e\n\u003cp\u003econst _string = container.renderComponent(TodoList);\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eastro@7.3.4\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/withastro/astro/pull/18063\"\u003e#18063\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/40896acb744988d9d3c2015e810c57de26390b3f\"\u003e\u003ccode\u003e40896ac\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/adamchal\"\u003e\u003ccode\u003e@​adamchal\u003c/code\u003e\u003c/a\u003e! - Fixes incremental builds repeatedly rendering unchanged pages when modules or compiled CSS reference bundled assets.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18053\"\u003e#18053\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/cf5d72f286c3c1185b7d39692b8ca8e789c16e02\"\u003e\u003ccode\u003ecf5d72f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Princesseuh\"\u003e\u003ccode\u003e@​Princesseuh\u003c/code\u003e\u003c/a\u003e! - Improves the \u003ccode\u003eastro check\u003c/code\u003e error shown for TypeScript 7. The command now explains that TypeScript 7 is not currently supported and provides instructions for experimentally type-checking Astro files with TypeScript 7.1 and \u003ccode\u003e@astrojs/ts-content-mapper\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18086\"\u003e#18086\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/795a7e44640e7ad513a590a362dc0d3259de7771\"\u003e\u003ccode\u003e795a7e4\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ump45nose\"\u003e\u003ccode\u003e@​ump45nose\u003c/code\u003e\u003c/a\u003e! - Fix double-escaped ampersands in Markdown image \u003ccode\u003ealt\u003c/code\u003e and \u003ccode\u003etitle\u003c/code\u003e attributes. The \u003ccode\u003e__ASTRO_IMAGE_\u003c/code\u003e round-trip now decodes the numeric (\u003ccode\u003e\u0026amp;#x26;\u003c/code\u003e) and named (\u003ccode\u003e\u0026amp;amp;\u003c/code\u003e) character references the Markdown processors emit, so an \u003ccode\u003e\u0026amp;\u003c/code\u003e in an alt or title is escaped exactly once in the final HTML instead of twice.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18074\"\u003e#18074\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/042980585a75a12f3b0d63377483af98ef80e0f9\"\u003e\u003ccode\u003e0429805\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/SurefireStudios\"\u003e\u003ccode\u003e@​SurefireStudios\u003c/code\u003e\u003c/a\u003e! - Fix three error names that did not match their documented reference. \u003ccode\u003eMissingLocale\u003c/code\u003e, \u003ccode\u003eMissingIndexForInternationalization\u003c/code\u003e and \u003ccode\u003eNoManifestAvailable\u003c/code\u003e reported names ending in \u003ccode\u003eError\u003c/code\u003e in the dev overlay, while their error reference pages are published under the unsuffixed names, so the name shown to users could not be found in the docs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18007\"\u003e#18007\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/22458379f5f258ac1df225f5af644b98b1b8237b\"\u003e\u003ccode\u003e2245837\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/L4XB\"\u003e\u003ccode\u003e@​L4XB\u003c/code\u003e\u003c/a\u003e! - Fixes the dev server re-evaluating the whole server module graph on every request. The \u003ccode\u003eastro:head-metadata\u003c/code\u003e plugin invalidated its component metadata virtual module from its own \u003ccode\u003etransform\u003c/code\u003e hook, so each evaluation of that module scheduled the next one. Adapters that run requests outside Vite's module runner, such as \u003ccode\u003e@astrojs/cloudflare\u003c/code\u003e, paid for a full re-evaluation of the server graph on every request for the lifetime of the process.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18096\"\u003e#18096\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/43657c4612f04cecf6e34d288eed1811c6508b74\"\u003e\u003ccode\u003e43657c4\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Fixes domain-based i18n routing to respect \u003ccode\u003esecurity.allowedDomains\u003c/code\u003e when selecting a locale from request host headers\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18043\"\u003e#18043\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/8a53a8b70f964e7bc127d6991cc9aca21e87750f\"\u003e\u003ccode\u003e8a53a8b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/astro-factory\"\u003e\u003ccode\u003e@​astro-factory\u003c/code\u003e\u003c/a\u003e! - Fixes \u003ccode\u003eimage.responsiveStyles\u003c/code\u003e emitting invalid \u003ccode\u003eobject-position\u003c/code\u003e CSS values for same-axis keyword pairs (\u003ccode\u003etop bottom\u003c/code\u003e, \u003ccode\u003eleft right\u003c/code\u003e, etc.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18029\"\u003e#18029\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/c08252d6803d4af2890b4bd1c69e4b4fc49e2d04\"\u003e\u003ccode\u003ec08252d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Runs \u003ccode\u003eastro dev\u003c/code\u003e and \u003ccode\u003eastro preview\u003c/code\u003e in the foreground when an AI agent is detected on Windows, allowing the agent to manage the process lifetime. Pass \u003ccode\u003e--background\u003c/code\u003e explicitly to request an Astro-managed background process. Agent-inferred backgrounding remains enabled on other platforms.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/withastro/astro/commit/3fd16eeb5cd096a6ceb8cc3e70b89ed30d6fcd4d\"\u003e\u003ccode\u003e3fd16ee\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/withastro/astro/commit/8358d59cba754480c7d830c473837a0d7100ac7e\"\u003e\u003ccode\u003e8358d59\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​astrojs/markdown-satteri\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.4.2\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/withastro/astro/blob/main/packages/astro/CHANGELOG.md\"\u003eastro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.3.5\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/withastro/astro/pull/17736\"\u003e#17736\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/2b8b2e80169da0ab19055166438291c46fcfe320\"\u003e\u003ccode\u003e2b8b2e8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ematipico\"\u003e\u003ccode\u003e@​ematipico\u003c/code\u003e\u003c/a\u003e! - Adds a new container function called \u003ccode\u003erenderComponent()\u003c/code\u003e, which renders Astro components with inlined styles and scripts.\u003c/p\u003e\n\u003cp\u003eUsers must import the component with the new \u003ccode\u003e?container\u003c/code\u003e query string:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { experimental_AstroContainer } from \u0026quot;astro/container\u0026quot;;\nimport TodoList from \u0026quot;../components/TodoList.astro?container\u0026quot;;\n\u003cp\u003econst container = await experimental_AstroContainer.create();\u003c/p\u003e\n\u003cp\u003econst _string = container.renderComponent(TodoList);\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3.4\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/withastro/astro/pull/18063\"\u003e#18063\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/40896acb744988d9d3c2015e810c57de26390b3f\"\u003e\u003ccode\u003e40896ac\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/adamchal\"\u003e\u003ccode\u003e@​adamchal\u003c/code\u003e\u003c/a\u003e! - Fixes incremental builds repeatedly rendering unchanged pages when modules or compiled CSS reference bundled assets.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18053\"\u003e#18053\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/cf5d72f286c3c1185b7d39692b8ca8e789c16e02\"\u003e\u003ccode\u003ecf5d72f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Princesseuh\"\u003e\u003ccode\u003e@​Princesseuh\u003c/code\u003e\u003c/a\u003e! - Improves the \u003ccode\u003eastro check\u003c/code\u003e error shown for TypeScript 7. The command now explains that TypeScript 7 is not currently supported and provides instructions for experimentally type-checking Astro files with TypeScript 7.1 and \u003ccode\u003e@astrojs/ts-content-mapper\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18086\"\u003e#18086\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/795a7e44640e7ad513a590a362dc0d3259de7771\"\u003e\u003ccode\u003e795a7e4\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ump45nose\"\u003e\u003ccode\u003e@​ump45nose\u003c/code\u003e\u003c/a\u003e! - Fix double-escaped ampersands in Markdown image \u003ccode\u003ealt\u003c/code\u003e and \u003ccode\u003etitle\u003c/code\u003e attributes. The \u003ccode\u003e__ASTRO_IMAGE_\u003c/code\u003e round-trip now decodes the numeric (\u003ccode\u003e\u0026amp;#x26;\u003c/code\u003e) and named (\u003ccode\u003e\u0026amp;amp;\u003c/code\u003e) character references the Markdown processors emit, so an \u003ccode\u003e\u0026amp;\u003c/code\u003e in an alt or title is escaped exactly once in the final HTML instead of twice.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18074\"\u003e#18074\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/042980585a75a12f3b0d63377483af98ef80e0f9\"\u003e\u003ccode\u003e0429805\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/SurefireStudios\"\u003e\u003ccode\u003e@​SurefireStudios\u003c/code\u003e\u003c/a\u003e! - Fix three error names that did not match their documented reference. \u003ccode\u003eMissingLocale\u003c/code\u003e, \u003ccode\u003eMissingIndexForInternationalization\u003c/code\u003e and \u003ccode\u003eNoManifestAvailable\u003c/code\u003e reported names ending in \u003ccode\u003eError\u003c/code\u003e in the dev overlay, while their error reference pages are published under the unsuffixed names, so the name shown to users could not be found in the docs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18007\"\u003e#18007\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/22458379f5f258ac1df225f5af644b98b1b8237b\"\u003e\u003ccode\u003e2245837\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/L4XB\"\u003e\u003ccode\u003e@​L4XB\u003c/code\u003e\u003c/a\u003e! - Fixes the dev server re-evaluating the whole server module graph on every request. The \u003ccode\u003eastro:head-metadata\u003c/code\u003e plugin invalidated its component metadata virtual module from its own \u003ccode\u003etransform\u003c/code\u003e hook, so each evaluation of that module scheduled the next one. Adapters that run requests outside Vite's module runner, such as \u003ccode\u003e@astrojs/cloudflare\u003c/code\u003e, paid for a full re-evaluation of the server graph on every request for the lifetime of the process.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18096\"\u003e#18096\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/43657c4612f04cecf6e34d288eed1811c6508b74\"\u003e\u003ccode\u003e43657c4\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Fixes domain-based i18n routing to respect \u003ccode\u003esecurity.allowedDomains\u003c/code\u003e when selecting a locale from request host headers\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18043\"\u003e#18043\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/8a53a8b70f964e7bc127d6991cc9aca21e87750f\"\u003e\u003ccode\u003e8a53a8b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/astro-factory\"\u003e\u003ccode\u003e@​astro-factory\u003c/code\u003e\u003c/a\u003e! - Fixes \u003ccode\u003eimage.responsiveStyles\u003c/code\u003e emitting invalid \u003ccode\u003eobject-position\u003c/code\u003e CSS values for same-axis keyword pairs (\u003ccode\u003etop bottom\u003c/code\u003e, \u003ccode\u003eleft right\u003c/code\u003e, etc.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18029\"\u003e#18029\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/c08252d6803d4af2890b4bd1c69e4b4fc49e2d04\"\u003e\u003ccode\u003ec08252d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Runs \u003ccode\u003eastro dev\u003c/code\u003e and \u003ccode\u003eastro preview\u003c/code\u003e in the foreground when an AI agent is detected on Windows, allowing the agent to manage the process lifetime. Pass \u003ccode\u003e--background\u003c/code\u003e explicitly to request an Astro-managed background process. Agent-inferred backgrounding remains enabled on other platforms.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/withastro/astro/commit/3fd16eeb5cd096a6ceb8cc3e70b89ed30d6fcd4d\"\u003e\u003ccode\u003e3fd16ee\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/withastro/astro/commit/8358d59cba754480c7d830c473837a0d7100ac7e\"\u003e\u003ccode\u003e8358d59\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​astrojs/markdown-satteri\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/c2e01642af5f3919e4951b277a01d2de0ba1322f\"\u003e\u003ccode\u003ec2e0164\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/18113\"\u003e#18113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/2b8b2e80169da0ab19055166438291c46fcfe320\"\u003e\u003ccode\u003e2b8b2e8\u003c/code\u003e\u003c/a\u003e feat: add render component (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/17736\"\u003e#17736\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/790c6f720efd9de362e7a2b6319ac2d721062bda\"\u003e\u003ccode\u003e790c6f7\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/18035\"\u003e#18035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/9d17bf1af7eb5d6c753e590dcb36b882647f859a\"\u003e\u003ccode\u003e9d17bf1\u003c/code\u003e\u003c/a\u003e Update dependency obug to v3 (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/18100\"\u003e#18100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/43657c4612f04cecf6e34d288eed1811c6508b74\"\u003e\u003ccode\u003e43657c4\u003c/code\u003e\u003c/a\u003e Fix i18n domain host validation (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/18096\"\u003e#18096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/00393ff0819d615acea30341f2c850dbafacb826\"\u003e\u003ccode\u003e00393ff\u003c/code\u003e\u003c/a\u003e Update dependency vitest [SECURITY] (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/18026\"\u003e#18026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/40896acb744988d9d3c2015e810c57de26390b3f\"\u003e\u003ccode\u003e40896ac\u003c/code\u003e\u003c/a\u003e fix(incremental): resolve asset placeholders in modules or compiled CSS (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/18063\"\u003e#18063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/042980585a75a12f3b0d63377483af98ef80e0f9\"\u003e\u003ccode\u003e0429805\u003c/code\u003e\u003c/a\u003e fix(errors): align three error names with their documented reference (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/18074\"\u003e#18074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/3eab954d213e3dd040db7925b56e7ab5a02f4532\"\u003e\u003ccode\u003e3eab954\u003c/code\u003e\u003c/a\u003e [ci] format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/795a7e44640e7ad513a590a362dc0d3259de7771\"\u003e\u003ccode\u003e795a7e4\u003c/code\u003e\u003c/a\u003e Fix double-escaped ampersands in Markdown image alt and title attributes (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/18\"\u003e#18\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/withastro/astro/commits/astro@7.3.5/packages/astro\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sharp` from 0.35.4 to 0.35.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lovell/sharp/releases\"\u003esharp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.35.5\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/lovell/sharp-libvips/releases/tag/v1.3.4\"\u003ehttps://github.com/lovell/sharp-libvips/releases/tag/v1.3.4\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd upper bounds check on length of \u003ccode\u003elinear\u003c/code\u003e and GIF \u003ccode\u003edelay\u003c/code\u003e arrays.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove error handing when WebAssembly fallback also fails.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/pull/4593\"\u003e#4593\u003c/a\u003e\n\u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTypeScript: Allow multi-frame options for JXL output.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/pull/4602\"\u003e#4602\u003c/a\u003e\n\u003ca href=\"https://github.com/ramin-010\"\u003e\u003ccode\u003e@​ramin-010\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTypeScript: Remove non-existent named export.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/issues/4604\"\u003e#4604\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIncrease accepted dimensions when extending an image.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/issues/4605\"\u003e#4605\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove gain map support for \u003ccode\u003eextract\u003c/code\u003e and \u003ccode\u003erotate\u003c/code\u003e operations.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/issues/4606\"\u003e#4606\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTests: Ensure composite tests pass on big endian platforms.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/issues/4609\"\u003e#4609\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.35.5-rc.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/lovell/sharp-libvips/releases/tag/v1.3.4-rc.1\"\u003ehttps://github.com/lovell/sharp-libvips/releases/tag/v1.3.4-rc.1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd upper bounds check on length of \u003ccode\u003elinear\u003c/code\u003e and GIF \u003ccode\u003edelay\u003c/code\u003e arrays.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove error handing when WebAssembly fallback also fails.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/pull/4593\"\u003e#4593\u003c/a\u003e\n\u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTypeScript: Allow multi-frame options for JXL output.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/pull/4602\"\u003e#4602\u003c/a\u003e\n\u003ca href=\"https://github.com/ramin-010\"\u003e\u003ccode\u003e@​ramin-010\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTypeScript: Remove non-existent named export.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/issues/4604\"\u003e#4604\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIncrease accepted dimensions when extending an image.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/issues/4605\"\u003e#4605\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove gain map support for \u003ccode\u003eextract\u003c/code\u003e operation.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/issues/4606\"\u003e#4606\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/51a990faa26ade5586a4934ac9673c98d8893326\"\u003e\u003ccode\u003e51a990f\u003c/code\u003e\u003c/a\u003e Release v0.35.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/96de105d9d36ab04c76c2b78b97255171630d236\"\u003e\u003ccode\u003e96de105\u003c/code\u003e\u003c/a\u003e Upgrade to sharp-libvips v1.3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/3a61390260e0aa017046af9ad107abd62f3c98c0\"\u003e\u003ccode\u003e3a61390\u003c/code\u003e\u003c/a\u003e CI: Configure Dependabot with all package.json locations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/4940c500a63a9193b1ad5d3804a2d241ca36995b\"\u003e\u003ccode\u003e4940c50\u003c/code\u003e\u003c/a\u003e Improve gain map support for rotate/flip/flop ops\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/20654aa60eaa85a37369ef69a7ca6506b65f8c85\"\u003e\u003ccode\u003e20654aa\u003c/code\u003e\u003c/a\u003e Prerelease v0.35.5-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/ef4f9348a97053ceddacd23dcb6e39cce5a1fc7d\"\u003e\u003ccode\u003eef4f934\u003c/code\u003e\u003c/a\u003e CI: Upgrade to Ubuntu 26.04\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/358df954c5f58487392e1a9af743e112e8998d67\"\u003e\u003ccode\u003e358df95\u003c/code\u003e\u003c/a\u003e Upgrade to libvips v8.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/49f4903d34eddcd68b79872c511c198f124885a3\"\u003e\u003ccode\u003e49f4903\u003c/code\u003e\u003c/a\u003e Improve gain map support for rotate-then-extract \u003ca href=\"https://redirect.github.com/lovell/sharp/issues/4606\"\u003e#4606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/0e2e55eb3a44da5d602adedd6b51a03e652e3b20\"\u003e\u003ccode\u003e0e2e55e\u003c/code\u003e\u003c/a\u003e Silence a couple of compiler/static analysis warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/cef3b8c467c21f7e84bd51d5e53f2d115669f8d8\"\u003e\u003ccode\u003ecef3b8c\u003c/code\u003e\u003c/a\u003e Improve gain map support for extract operation \u003ca href=\"https://redirect.github.com/lovell/sharp/issues/4606\"\u003e#4606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lovell/sharp/compare/v0.35.4...v0.35.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@cloudflare/workers-types` from 5.20260920.1 to 5.20261004.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/cloudflare/workerd/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `wrangler` from 4.135.0 to 4.147.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cloudflare/workers-sdk/releases\"\u003ewrangler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ewrangler@4.147.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/15928\"\u003e#15928\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7f57b1c60002ae3f077dd9c1e8cc482371065ef4\"\u003e\u003ccode\u003e7f57b1c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ichernetsky-cf\"\u003e\u003ccode\u003e@​ichernetsky-cf\u003c/code\u003e\u003c/a\u003e! - Allow \u003ccode\u003e\u0026quot;us\u0026quot;\u003c/code\u003e as a jurisdiction for Container applications\u003c/p\u003e\n\u003cp\u003eContainer placement constraints now accept \u003ccode\u003econstraints.jurisdiction: \u0026quot;us\u0026quot;\u003c/code\u003e in Wrangler and typed Cloudflare configuration. This makes the US jurisdiction available alongside \u003ccode\u003e\u0026quot;eu\u0026quot;\u003c/code\u003e and \u003ccode\u003e\u0026quot;fedramp\u0026quot;\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/15974\"\u003e#15974\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7f700ef52c47127c67f20137a03c051d26a0c8e5\"\u003e\u003ccode\u003e7f700ef\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/martinezjandrew\"\u003e\u003ccode\u003e@​martinezjandrew\u003c/code\u003e\u003c/a\u003e! - Fix \u003ccode\u003ewrangler containers list\u003c/code\u003e to report live instances\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eLIVE INSTANCES\u003c/code\u003e column now reports each application's active runtime instances instead of its configured instance count, matching the Cloudflare dashboard. JSON output continues to expose the configured count through the existing \u003ccode\u003einstances\u003c/code\u003e field.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/15980\"\u003e#15980\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/90e6a1be8c67c0687a6a0ce51c9d101c9ad363e0\"\u003e\u003ccode\u003e90e6a1b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/martinezjandrew\"\u003e\u003ccode\u003e@​martinezjandrew\u003c/code\u003e\u003c/a\u003e! - Accept Durable Object application IDs in Containers commands\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ewrangler containers instances\u003c/code\u003e and \u003ccode\u003ewrangler containers delete\u003c/code\u003e now accept the 32-character hexadecimal application IDs returned for Durable Object-backed applications, in addition to legacy dashed UUIDs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/15871\"\u003e#15871\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/6a4b0fefa20ef2ffc52acdcf1cb194210d1b4c4b\"\u003e\u003ccode\u003e6a4b0fe\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/tw4\"\u003e\u003ccode\u003e@​tw4\u003c/code\u003e\u003c/a\u003e! - Retry transient API failures in \u003ccode\u003ewrangler workflows instances list\u003c/code\u003e and \u003ccode\u003ewrangler workflows instances describe\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, a single temporary 5xx response or dropped connection made these read-only commands exit with an error, even though the next request would have succeeded. They now use Wrangler's existing bounded API retry handling. The read that resolves \u003ccode\u003e--id latest\u003c/code\u003e is retried too, which also benefits the other \u003ccode\u003ewrangler workflows instances\u003c/code\u003e commands that accept \u003ccode\u003elatest\u003c/code\u003e; the mutating requests they make afterwards are not retried. Persistent failures are still reported after the retries are exhausted, and under \u003ccode\u003e--json\u003c/code\u003e any retry notices are written to stderr so stdout stays valid JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"mailto:miniflare@5.20261001.0-alpha\"\u003eminiflare@5.20261001.0-alpha\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ewrangler@4.146.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/15777\"\u003e#15777\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/464a582442ad6872edf1d52107b1a7b68b5e606f\"\u003e\u003ccode\u003e464a582\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Naapperas\"\u003e\u003ccode\u003e@​Naapperas\u003c/code\u003e\u003c/a\u003e! - Support the new Workflows \u003ccode\u003ecreateBatch()\u003c/code\u003e API in local development\u003c/p\u003e\n\u003cp\u003eLocal Workflows bindings now accept object-form batches that create instances from a count or a list of instance options. The result includes handles for created instances and indexed per-instance errors, matching the runtime API while preserving the deprecated array form.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/15639\"\u003e#15639\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/aee2842bd1852b3187202f7746da5fd59ed36d44\"\u003e\u003ccode\u003eaee2842\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/hugo-vicente11\"\u003e\u003ccode\u003e@​hugo-vicente11\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003e--allowed-mail\u003c/code\u003e to the experimental \u003ccode\u003ewrangler tunnel quick-start\u003c/code\u003e command\u003c/p\u003e\n\u003cp\u003eThe option forwards exact email addresses, comma-separated lists, and wildcard domains to \u003ccode\u003ecloudflared\u003c/code\u003e. It can be specified more than once to combine multiple recipient rules.\u003c/p\u003e\n\u003cp\u003eEmail-protected tunnels require \u003ccode\u003ecloudflared\u003c/code\u003e 2026.9.2 or later. Wrangler checks the selected binary before starting the tunnel and reports an upgrade error when it is incompatible.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/15992\"\u003e#15992\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b8e7cc3af4137d1dd4fe4ec6684d0f09d5f9c708\"\u003e\u003ccode\u003eb8e7cc3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/zebp\"\u003e\u003ccode\u003e@​zebp\u003c/code\u003e\u003c/a\u003e! - Mark \u003ccode\u003ewrangler artifacts\u003c/code\u003e commands as open beta\u003c/p\u003e\n\u003cp\u003eArtifacts has entered open beta, so the \u003ccode\u003ewrangler artifacts\u003c/code\u003e commands no longer display a \u0026quot;private beta\u0026quot; label in help output and warnings.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/15984\"\u003e#15984\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/9d7b08eb2e418f66c71780a5e4ed9882bf55a580\"\u003e\u003ccode\u003e9d7b08e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e! - Update dependencies of \u0026quot;miniflare\u0026quot;, \u0026quot;wrangler\u0026quot;\u003c/p\u003e\n\u003cp\u003eThe following dependency versions have been updated:\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003eFrom\u003c/th\u003e\n\u003cth\u003eTo\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003e@​cloudflare/workers-types\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e^5.20260930.2\u003c/td\u003e\n\u003ctd\u003e^5.20261001.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/cloudflare/workers-sdk/commit/64c1337155a6bc7224b5d47f58ca521d8b8ee3fe\"\u003e\u003ccode\u003e64c1337\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/15996\"\u003e#15996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/6a4b0fefa20ef2ffc52acdcf1cb194210d1b4c4b\"\u003e\u003ccode\u003e6a4b0fe\u003c/code\u003e\u003c/a\u003e [wrangler] Retry transient failures in workflows instances list and describe ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7f700ef52c47127c67f20137a03c051d26a0c8e5\"\u003e\u003ccode\u003e7f700ef\u003c/code\u003e\u003c/a\u003e CC-8799: report active instead of configured instances in containers list (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/90e6a1be8c67c0687a6a0ce51c9d101c9ad363e0\"\u003e\u003ccode\u003e90e6a1b\u003c/code\u003e\u003c/a\u003e CC-8800: accept durable object app ids in container commands (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/15980\"\u003e#15980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b4954c17b93a8da7223c7fa5b128a27812f18b86\"\u003e\u003ccode\u003eb4954c1\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/15983\"\u003e#15983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b8e7cc3af4137d1dd4fe4ec6684d0f09d5f9c708\"\u003e\u003ccode\u003eb8e7cc3\u003c/code\u003e\u003c/a\u003e [wrangler] Mark Artifacts commands as open beta (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/15992\"\u003e#15992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/aee2842bd1852b3187202f7746da5fd59ed36d44\"\u003e\u003ccode\u003eaee2842\u003c/code\u003e\u003c/a\u003e [wrangler] Support email-protected Quick Tunnels (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/15639\"\u003e#15639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/efd67e69e8ca2951dbb5426923428a6193a38648\"\u003e\u003ccode\u003eefd67e6\u003c/code\u003e\u003c/a\u003e [wrangler] Keep colons in \u003ccode\u003ewrangler tail --header\u003c/code\u003e filter values (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/15959\"\u003e#15959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/89061a40fb20157acf6c947034a74ece357992f0\"\u003e\u003ccode\u003e89061a4\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/15957\"\u003e#15957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/4a5ab6c861e7b811c025b5257af452f703df828d\"\u003e\u003ccode\u003e4a5ab6c\u003c/code\u003e\u003c/a\u003e Preserve existing secret bindings during Worker deployments (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/15964\"\u003e#15964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cloudflare/workers-sdk/commits/wrangler@4.147.0/packages/wrangler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@sveltejs/vite-plugin-svelte` from 7.3.0 to 7.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sveltejs/vite-plugin-svelte/releases\"\u003e@​sveltejs/vite-plugin-svelte's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​sveltejs/vite-plugin-svelte\u003c/code\u003e\u003ca href=\"https://github.com/7\"\u003e\u003ccode\u003e@​7\u003c/code\u003e\u003c/a\u003e.3.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: inject the inspector into the client under Vite+ on pnpm, where the realpathed client module has no \u003ccode\u003evite/\u003c/code\u003e segment before \u003ccode\u003edist/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sveltejs/vite-plugin-svelte/pull/1373\"\u003e#1373\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/sveltejs/vite-plugin-svelte/blob/main/packages/vite-plugin-svelte/CHANGELOG.md\"\u003e@​sveltejs/vite-plugin-svelte's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.3.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: inject the inspector into the client under Vite+ on pnpm, where the realpathed client module has no \u003ccode\u003evite/\u003c/code\u003e segment before \u003ccode\u003edist/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sveltejs/vite-plugin-svelte/pull/1373\"\u003e#1373\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/sveltejs/vite-plugin-svelte/commit/54c6efe5436efb1047d9101ed5b404eaa9b0b411\"\u003e\u003ccode\u003e54c6efe\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/1398\"\u003e#1398\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/vite-plugin-svelte/commit/8d032b286f0e2374173258b9f1cbabc309fe0d3e\"\u003e\u003ccode\u003e8d032b2\u003c/code\u003e\u003c/a\u003e fix(inspector): activate under Vite+ on pnpm by matching the realpathed clien...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sveltejs/vite-plugin-svelte/commits/@sveltejs/vite-plugin-svelte@7.3.1/packages/vite-plugin-svelte\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.1.0 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.1.0...v30.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `publint` from 0.3.24 to 0.3.25\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/publint/publint/releases\"\u003epublint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epublint@0.3.25\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/publint/publint/pull/260\"\u003e#260\u003c/a\u003e \u003ca href=\"https://github.com/publint/publint/commit/54aebea9b7817af07abfce8a4dc3efa5601d6a16\"\u003e\u003ccode\u003e54aebea\u003c/code\u003e\u003c/a\u003e - Fix \u003ccode\u003eFILE_INVALID_JSX_EXTENSION\u003c/code\u003e not detecting the \u003ccode\u003e.ctsx\u003c/code\u003e extension\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/publint/publint/pull/265\"\u003e#265\u003c/a\u003e \u003ca href=\"https://github.com/publint/publint/commit/78604f3fc5d7c006346ed9e16e7b158077ae54ae\"\u003e\u003ccode\u003e78604f3\u003c/code\u003e\u003c/a\u003e - Skip file existence check for \u003ccode\u003ebrowser\u003c/code\u003e field values that point at another package\u003c/p\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/publint/publint/blob/master/packages/publint/CHANGELOG.md\"\u003epublint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.25\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/publint/publint/pull/260\"\u003e#260\u003c/a\u003e \u003ca href=\"https://github.com/publint/publint/commit/54aebea9b7817af07abfce8a4dc3efa5601d6a16\"\u003e\u003ccode\u003e54aebea\u003c/code\u003e\u003c/a\u003e - Fix \u003ccode\u003eFILE_INVALID_JSX_EXTENSION\u003c/code\u003e not detecting the \u003ccode\u003e.ctsx\u003c/code\u003e extension\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/publint/publint/pull/265\"\u003e#265\u003c/a\u003e \u003ca href=\"https://github.com/publint/publint/commit/78604f3fc5d7c006346ed9e16e7b158077ae54ae\"\u003e\u003ccode\u003e78604f3\u003c/code\u003e\u003c/a\u003e - Skip file existence check for \u003ccode\u003ebrowser\u003c/code\u003e field values that point at another package\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/publint/publint/commit/b994a0309546495255242d0d047293d3d2f08a13\"\u003e\u003ccode\u003eb994a03\u003c/code\u003e\u003c/a\u003e Release packages (\u003ca href=\"https://github.com/publint/publint/tree/HEAD/packages/publint/issues/261\"\u003e#261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/publint/publint/commit/247be998df37ab193d6c556c313215d65a4f4285\"\u003e\u003ccode\u003e247be99\u003c/code\u003e\u003c/a\u003e Update dependencies (\u003ca href=\"https://github.com/publint/publint/tree/HEAD/packages/publint/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/publint/publint/commit/78604f3fc5d7c006346ed9e16e7b158077ae54ae\"\u003e\u003ccode\u003e78604f3\u003c/code\u003e\u003c/a\u003e Skip file check for \u003ccode\u003ebrowser\u003c/code\u003e field values that point at another package (\u003ca href=\"https://github.com/publint/publint/tree/HEAD/packages/publint/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/publint/publint/commit/54aebea9b7817af07abfce8a4dc3efa5601d6a16\"\u003e\u003ccode\u003e54aebea\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eFILE_INVALID_JSX_EXTENSION\u003c/code\u003e not detecting the \u003ccode\u003e.ctsx\u003c/code\u003e extension (\u003ca href=\"https://github.com/publint/publint/tree/HEAD/packages/publint/issues/260\"\u003e#260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/publint/publint/commits/publint@0.3.25/packages/publint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite` from 8.3.0 to 8.3.2\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.3.2\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e preload CSS correctly when \u003ccode\u003erenderBuiltUrl\u003c/code\u003e returns URLs with queries (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23611\"\u003e#23611\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/64e0a215c24f0522b27b91f93cfd93e317b94481\"\u003e64e0a21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e serve lazy chunk sourcemaps (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23026\"\u003e#23026\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/eb7aa9a8816a1e926d5d9b4cbe7e796b61314ce2\"\u003eeb7aa9a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e serve the rolldown runtime from the installed rolldown (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23568\"\u003e#23568\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/bc598a6a8a6b7d6e157e9f19c16911cff8d2360c\"\u003ebc598a6\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/issues/23601\"\u003e#23601\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/9944fa6033873f13ae88f59e023ab642c50fee2b\"\u003e9944fa6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23602\"\u003e#23602\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/88c17415af221b3a13e778f4f2c0e907c8287baf\"\u003e88c1741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e resolve percent-encoded srcset urls (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23609\"\u003e#23609\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/53f1ce7bfe38426861f6da572ef0e3359f6a80cd\"\u003e53f1ce7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elimit size of object and array printing via \u003ccode\u003eforwardConsole\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23565\"\u003e#23565\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e64a5877dd3e552843a545749ccc257568917d28\"\u003ee64a587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emerge \u003ccode\u003ebuild.rolldownOptions.output.minify\u003c/code\u003e correctly (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23536\"\u003e#23536\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/bba3bb8beedd185948956e02667d450672632d79\"\u003ebba3bb8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimize-deps:\u003c/strong\u003e avoid \u0026quot;unsupported\u0026quot; warnings for browser:false mappings (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23590\"\u003e#23590\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5e4b9ca3dcb24b51f58a765fd2d852614bbf3574\"\u003e5e4b9ca\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e preserve excluded optional peer require fallbacks (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23600\"\u003e#23600\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/a2bd6fa897c35c8a691671a7d70061c1cdd5c688\"\u003ea2bd6fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epass queries to \u003ccode\u003erenderBuiltUrl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23586\"\u003e#23586\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/744269e5b2a155074910ddd275aecf2b83938496\"\u003e744269e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e handle file watcher errors without crashing (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23503\"\u003e#23503\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6894f5cbceac589536a0efb476d881a47f5ab1c5\"\u003e6894f5c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e release previous environments after initialization (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23499\"\u003e#23499\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5a3a010eea4c9ebbdcc080819f93068d4e035bd4\"\u003e5a3a010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003essr:\u003c/strong\u003e encode whitespace in module runner sourceURL (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23513\"\u003e#23513\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/bbc88129c967a8b8eedebd93acc82bee63b86b2a\"\u003ebbc8812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eworker:\u003c/strong\u003e align worker urls in client and server when using terser (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23614\"\u003e#23614\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/24bd3316f3b2503d04a49361e365532bdb335e19\"\u003e24bd331\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid encoding intermediate source maps (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23461\"\u003e#23461\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/89574f6d940a7273a53c5122a4477285801a696a\"\u003e89574f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e avoid quadratic link scan in the preload helper (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23510\"\u003e#23510\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/cf5c0288d526824aead1b24e977400f13c527927\"\u003ecf5c028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eonly register time middleware when debug logging is enabled (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23621\"\u003e#23621\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/94d0080345e23d63d4cd02df2f7fa2afae775c26\"\u003e94d0080\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix dead og-image PNG links in vite6/vite7 changelog entries (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23594\"\u003e#23594\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/1929b4cc5f38ad53781e3b07b8bdaa32cf18da07\"\u003e1929b4c\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 vitest monorepo to v5 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23604\"\u003e#23604\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/24339f4339d64fd8b5bc37654ac14ccff5aee584\"\u003e24339f4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003euse \u003ccode\u003etinyexec\u003c/code\u003e instead of \u003ccode\u003ecross-spawn\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23583\"\u003e#23583\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/db915e5c0edbe1359dcf0cea340c9571dc7f4ad9\"\u003edb915e5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e accept a rolldown dev runtime with no helper imports (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23606\"\u003e#23606\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/634745dcc5648912bc32cb4de72ed8dd2230efa0\"\u003e634745d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.3.1\u003c/h2\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/23482\"\u003e#23482\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/3c752c8932bc0599465ba4a6d8f44aaf1e934c3d\"\u003e3c752c8\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/issues/23537\"\u003e#23537\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e8990c4d6101dfaca2654ed8ab4d0574ee920248\"\u003ee8990c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23483\"\u003e#23483\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/9aecbbfa5fb5da4b9981c099cb9746a9fd210806\"\u003e9aecbbf\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ehandle \u003ccode\u003eserver.ws: false\u003c/code\u003e in mergeConfig (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23511\"\u003e#23511\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/f68c0d5a28c96555431413e3e2cbe644337b087f\"\u003ef68c0d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emerge \u003ccode\u003ebuild.rolldownOptions.output.comments\u003c/code\u003e correctly (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23514\"\u003e#23514\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/4aba8d8720e82e4c5b694a4b7877755a3f84fc57\"\u003e4aba8d8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e don't skip imports whose binding starts with type (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23540\"\u003e#23540\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/39330f489a0ae08923557f0ce10a307d6662a3f5\"\u003e39330f4\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/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.3.1...v8.3.2\"\u003e8.3.2\u003c/a\u003e (2026-10-01)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e preload CSS correctly when \u003ccode\u003erenderBuiltUrl\u003c/code\u003e returns URLs with queries (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23611\"\u003e#23611\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/64e0a215c24f0522b27b91f93cfd93e317b94481\"\u003e64e0a21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e serve lazy chunk sourcemaps (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23026\"\u003e#23026\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/eb7aa9a8816a1e926d5d9b4cbe7e796b61314ce2\"\u003eeb7aa9a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e serve the rolldown runtime from the installed rolldown (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23568\"\u003e#23568\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/bc598a6a8a6b7d6e157e9f19c16911cff8d2360c\"\u003ebc598a6\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/issues/23601\"\u003e#23601\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/9944fa6033873f13ae88f59e023ab642c50fee2b\"\u003e9944fa6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23602\"\u003e#23602\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/88c17415af221b3a13e778f4f2c0e907c8287baf\"\u003e88c1741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e resolve percent-encoded srcset urls (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23609\"\u003e#23609\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/53f1ce7bfe38426861f6da572ef0e3359f6a80cd\"\u003e53f1ce7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elimit size of object and array printing via \u003ccode\u003eforwardConsole\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23565\"\u003e#23565\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e64a5877dd3e552843a545749ccc257568917d28\"\u003ee64a587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emerge \u003ccode\u003ebuild.rolldownOptions.output.minify\u003c/code\u003e correctly (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23536\"\u003e#23536\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/bba3bb8beedd185948956e02667d450672632d79\"\u003ebba3bb8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimize-deps:\u003c/strong\u003e avoid \u0026quot;unsupported\u0026quot; warnings for browser:false mappings (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23590\"\u003e#23590\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5e4b9ca3dcb24b51f58a765fd2d852614bbf3574\"\u003e5e4b9ca\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e preserve excluded optional peer require fallbacks (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23600\"\u003e#23600\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/a2bd6fa897c35c8a691671a7d70061c1cdd5c688\"\u003ea2bd6fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epass queries to \u003ccode\u003erenderBuiltUrl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23586\"\u003e#23586\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/744269e5b2a155074910ddd275aecf2b83938496\"\u003e744269e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e handle file watcher errors without crashing (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23503\"\u003e#23503\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6894f5cbceac589536a0efb476d881a47f5ab1c5\"\u003e6894f5c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e release previous environments after initialization (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23499\"\u003e#23499\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5a3a010eea4c9ebbdcc080819f93068d4e035bd4\"\u003e5a3a010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003essr:\u003c/strong\u003e encode whitespace in module runner sourceURL (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23513\"\u003e#23513\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/bbc88129c967a8b8eedebd93acc82bee63b86b2a\"\u003ebbc8812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eworker:\u003c/strong\u003e align worker urls in client and server when using terser (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23614\"\u003e#23614\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/24bd3316f3b2503d04a49361e365532bdb335e19\"\u003e24bd331\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid encoding intermediate source maps (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23461\"\u003e#23461\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/89574f6d940a7273a53c5122a4477285801a696a\"\u003e89574f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e avoid quadratic link scan in the preload helper (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23510\"\u003e#23510\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/...\n\n_Description has been truncated_","html_url":"https://github.com/nyuchi/nyuchi-docs/pull/97","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nyuchi%2Fnyuchi-docs/issues/97","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/97/packages"},{"uuid":"5738898174","node_id":"PR_kwDOU9ywJs8AAAABHCsF9w","number":2,"state":"closed","title":"chore(deps-dev): Bump the development-dependencies group with 7 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-10-07T03:57:10.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-07T03:29:13.000Z","updated_at":"2026-10-07T03:57:19.000Z","time_to_close":1677,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): Bump","group_name":"development-dependencies","update_count":7,"packages":[{"name":"@biomejs/biome","old_version":"2.3.4","new_version":"2.5.15","repository_url":"https://github.com/biomejs/biome"},{"name":"@types/node","old_version":"22.20.5","new_version":"26.6.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"4.1.11","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"jsdom","old_version":"29.1.1","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"typescript","old_version":"5.9.3","new_version":"7.0.2","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"ultracite","old_version":"6.3.2","new_version":"7.12.2","repository_url":"https://github.com/haydenbleasel/ultracite"},{"name":"vitest","old_version":"4.1.11","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) | `2.3.4` | `2.5.15` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.20.5` | `26.6.4` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.11` | `5.0.3` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.1.1` | `30.1.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `7.0.2` |\n| [ultracite](https://github.com/haydenbleasel/ultracite) | `6.3.2` | `7.12.2` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.11` | `5.0.3` |\n\nUpdates `@biomejs/biome` from 2.3.4 to 2.5.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.5.15\u003c/h2\u003e\n\u003ch2\u003e2.5.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/10634\"\u003e#10634\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/b436ba00de298d5002a3d3bb1fae1d2a882f6d58\"\u003e\u003ccode\u003eb436ba0\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/subaru-hello\"\u003e\u003ccode\u003e@​subaru-hello\u003c/code\u003e\u003c/a\u003e! - Added the new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-react-object-type-as-default-prop/\"\u003e\u003ccode\u003enoReactObjectTypeAsDefaultProp\u003c/code\u003e\u003c/a\u003e, which disallows array, object, and function values as default props in React components.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule.\u003c/p\u003e\n\u003cpre lang=\"jsx\"\u003e\u003ccode\u003efunction Component({ items = [] }) {\n  return items;\n}\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/11956\"\u003e#11956\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/faa8b374da7e196c937258c5442b4f773b4ba574\"\u003e\u003ccode\u003efaa8b37\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/no-svelte-export-let/\"\u003e\u003ccode\u003enoSvelteExportLet\u003c/code\u003e\u003c/a\u003e, which disallows declaring Svelte component props with the legacy \u003ccode\u003eexport let\u003c/code\u003e syntax. Use the \u003ccode\u003e$props()\u003c/code\u003e rune instead.\u003c/p\u003e\n\u003cpre lang=\"svelte\"\u003e\u003ccode\u003e\u0026lt;script\u0026gt;\n  export let name;\n\u0026lt;/script\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/10816\"\u003e#10816\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1b9479e4c85dd11af68ec14cbe43a5000edce86e\"\u003e\u003ccode\u003e1b9479e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Th3S4mur41\"\u003e\u003ccode\u003e@​Th3S4mur41\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-logical-properties\"\u003e\u003ccode\u003euseLogicalProperties\u003c/code\u003e\u003c/a\u003e that enforces the use of logical properties in CSS, promoting better internationalization and accessibility practices. The rule supports a \u003ccode\u003edirection\u003c/code\u003e option with \u003ccode\u003e\u0026quot;ltr\u0026quot;\u003c/code\u003e as the default and \u003ccode\u003e\u0026quot;rtl\u0026quot;\u003c/code\u003e as the alternative.\nThis is a first rule covering parts of \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/9034\"\u003e#9034\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"json\"\u003e\u003ccode\u003e{\n  \u0026quot;linter\u0026quot;: {\n    \u0026quot;rules\u0026quot;: {\n      \u0026quot;nursery\u0026quot;: {\n        \u0026quot;useLogicalProperties\u0026quot;: {\n          \u0026quot;level\u0026quot;: \u0026quot;warn\u0026quot;,\n          \u0026quot;options\u0026quot;: {\n            \u0026quot;direction\u0026quot;: \u0026quot;rtl\u0026quot;\n          }\n        }\n      }\n    }\n  }\n}\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/11960\"\u003e#11960\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1fdb5c2609fbb64bd3442099f88c40b814405931\"\u003e\u003ccode\u003e1fdb5c2\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-svelte-kit-rune-imports/\"\u003e\u003ccode\u003euseSvelteKitRuneImports\u003c/code\u003e\u003c/a\u003e, which reports imports from the deprecated \u003ccode\u003e$app/stores\u003c/code\u003e module and suggests \u003ccode\u003e$app/state\u003c/code\u003e instead.\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { page } from \u0026quot;$app/stores\u0026quot;;\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.5.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/10634\"\u003e#10634\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/b436ba00de298d5002a3d3bb1fae1d2a882f6d58\"\u003e\u003ccode\u003eb436ba0\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/subaru-hello\"\u003e\u003ccode\u003e@​subaru-hello\u003c/code\u003e\u003c/a\u003e! - Added the new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-react-object-type-as-default-prop/\"\u003e\u003ccode\u003enoReactObjectTypeAsDefaultProp\u003c/code\u003e\u003c/a\u003e, which disallows array, object, and function values as default props in React components.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule.\u003c/p\u003e\n\u003cpre lang=\"jsx\"\u003e\u003ccode\u003efunction Component({ items = [] }) {\n  return items;\n}\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/11956\"\u003e#11956\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/faa8b374da7e196c937258c5442b4f773b4ba574\"\u003e\u003ccode\u003efaa8b37\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/no-svelte-export-let/\"\u003e\u003ccode\u003enoSvelteExportLet\u003c/code\u003e\u003c/a\u003e, which disallows declaring Svelte component props with the legacy \u003ccode\u003eexport let\u003c/code\u003e syntax. Use the \u003ccode\u003e$props()\u003c/code\u003e rune instead.\u003c/p\u003e\n\u003cpre lang=\"svelte\"\u003e\u003ccode\u003e\u0026lt;script\u0026gt;\n  export let name;\n\u0026lt;/script\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/10816\"\u003e#10816\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1b9479e4c85dd11af68ec14cbe43a5000edce86e\"\u003e\u003ccode\u003e1b9479e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Th3S4mur41\"\u003e\u003ccode\u003e@​Th3S4mur41\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-logical-properties\"\u003e\u003ccode\u003euseLogicalProperties\u003c/code\u003e\u003c/a\u003e that enforces the use of logical properties in CSS, promoting better internationalization and accessibility practices. The rule supports a \u003ccode\u003edirection\u003c/code\u003e option with \u003ccode\u003e\u0026quot;ltr\u0026quot;\u003c/code\u003e as the default and \u003ccode\u003e\u0026quot;rtl\u0026quot;\u003c/code\u003e as the alternative.\nThis is a first rule covering parts of \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/9034\"\u003e#9034\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"json\"\u003e\u003ccode\u003e{\n  \u0026quot;linter\u0026quot;: {\n    \u0026quot;rules\u0026quot;: {\n      \u0026quot;nursery\u0026quot;: {\n        \u0026quot;useLogicalProperties\u0026quot;: {\n          \u0026quot;level\u0026quot;: \u0026quot;warn\u0026quot;,\n          \u0026quot;options\u0026quot;: {\n            \u0026quot;direction\u0026quot;: \u0026quot;rtl\u0026quot;\n          }\n        }\n      }\n    }\n  }\n}\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/11960\"\u003e#11960\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1fdb5c2609fbb64bd3442099f88c40b814405931\"\u003e\u003ccode\u003e1fdb5c2\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-svelte-kit-rune-imports/\"\u003e\u003ccode\u003euseSvelteKitRuneImports\u003c/code\u003e\u003c/a\u003e, which reports imports from the deprecated \u003ccode\u003e$app/stores\u003c/code\u003e module and suggests \u003ccode\u003e$app/state\u003c/code\u003e instead.\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { page } from \u0026quot;$app/stores\u0026quot;;\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/11723\"\u003e#11723\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/3b429d182588aa19d35190a935e4dcdc5b693e5e\"\u003e\u003ccode\u003e3b429d1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/m1handr\"\u003e\u003ccode\u003e@​m1handr\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/11656\"\u003e#11656\u003c/a\u003e: \u003ca href=\"https://biomejs.dev/linter/rules/no-astro-set-html-directive/\"\u003e\u003ccode\u003enoAstroSetHtmlDirective\u003c/code\u003e\u003c/a\u003e now correctly reports \u003ccode\u003eset:html\u003c/code\u003e directives inside Astro template expressions.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/0b4c11f553a7e702f9851af139662e1de45dc131\"\u003e\u003ccode\u003e0b4c11f\u003c/code\u003e\u003c/a\u003e ci: release (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/11815\"\u003e#11815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/ad5b362fd17e488f50934306534cc2742b0cf84e\"\u003e\u003ccode\u003ead5b362\u003c/code\u003e\u003c/a\u003e feat: adds \u003ccode\u003enoAstroConflictingSetDirectives\u003c/code\u003e rule for .astro (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/11494\"\u003e#11494\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/034366def492f84afb28903db62034411ed427d2\"\u003e\u003ccode\u003e034366d\u003c/code\u003e\u003c/a\u003e chore: update codspeed logo in readme (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/12019\"\u003e#12019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/717db8c25737bacd0456c17bef9dda66f3c082c5\"\u003e\u003ccode\u003e717db8c\u003c/code\u003e\u003c/a\u003e feat(lint): add noMisplacedListElements (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/11917\"\u003e#11917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/089bde07e3849bd88ac24bf604ab0231672371b0\"\u003e\u003ccode\u003e089bde0\u003c/code\u003e\u003c/a\u003e feat(lint/js): add useStrictBooleanExpressions (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/11750\"\u003e#11750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/1fdb5c2609fbb64bd3442099f88c40b814405931\"\u003e\u003ccode\u003e1fdb5c2\u003c/code\u003e\u003c/a\u003e feat(lint/js/svelte): add useSvelteKitRuneImports lint rule (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/11960\"\u003e#11960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/faa8b374da7e196c937258c5442b4f773b4ba574\"\u003e\u003ccode\u003efaa8b37\u003c/code\u003e\u003c/a\u003e feat(lint/js/svelte): add noSvelteExportLet (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/11956\"\u003e#11956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/b2b4400a5d9c141fb622c75affd5c2beffc2fced\"\u003e\u003ccode\u003eb2b4400\u003c/code\u003e\u003c/a\u003e chore: update sponsors (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/11973\"\u003e#11973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/ff4c4dd922c360fdc9386495d617e63821cc43ee\"\u003e\u003ccode\u003eff4c4dd\u003c/code\u003e\u003c/a\u003e feat(lint/js): add noMeaninglessVoidOperator (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/11732\"\u003e#11732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/1b9479e4c85dd11af68ec14cbe43a5000edce86e\"\u003e\u003ccode\u003e1b9479e\u003c/code\u003e\u003c/a\u003e feat(lint): add useLogicalProperties rule (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10816\"\u003e#10816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/biomejs/biome/commits/@biomejs/biome@2.5.15/packages/@biomejs/biome\"\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@​biomejs/biome\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 22.20.5 to 26.6.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 `@vitest/coverage-v8` from 4.1.11 to 5.0.3\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\u003ev5.0.3\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIsolate \u003ccode\u003eresult.status\u003c/code\u003e between \u003ccode\u003erepeats\u003c/code\u003e runs  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11218\"\u003evitest-dev/vitest#11218\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5dbebe9e3\"\u003e\u003c!-- raw HTML omitted --\u003e(5dbeb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't print an interceptor warning in browser mode  -  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/11377\"\u003evitest-dev/vitest#11377\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/15cc006aa\"\u003e\u003c!-- raw HTML omitted --\u003e(15cc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't retry when \u003ccode\u003etest.fails\u003c/code\u003e expectedly failed  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11219\"\u003evitest-dev/vitest#11219\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b24585f08\"\u003e\u003c!-- raw HTML omitted --\u003e(b2458)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eScope cache key generators to projects  -  by \u003ca href=\"https://github.com/ecoyoung\"\u003e\u003ccode\u003e@​ecoyoung\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11281\"\u003evitest-dev/vitest#11281\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11301\"\u003evitest-dev/vitest#11301\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/92ba7fc1d\"\u003e\u003c!-- raw HTML omitted --\u003e(92ba7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDelay server \u003ccode\u003elisten\u003c/code\u003e until tests start running  -  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/11366\"\u003evitest-dev/vitest#11366\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d8ed3e9b\"\u003e\u003c!-- raw HTML omitted --\u003e(7d8ed)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck mock path boundaries  -  by \u003ca href=\"https://github.com/saryn17\"\u003e\u003ccode\u003e@​saryn17\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eRyosei Sato\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/11361\"\u003evitest-dev/vitest#11361\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11362\"\u003evitest-dev/vitest#11362\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1c3888bce\"\u003e\u003c!-- raw HTML omitted --\u003e(1c388)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep config of browser-consumed environments  -  by \u003ca href=\"https://github.com/kasperpeulen\"\u003e\u003ccode\u003e@​kasperpeulen\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11378\"\u003evitest-dev/vitest#11378\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/aafc0996f\"\u003e\u003c!-- raw HTML omitted --\u003e(aafc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore page crash while cancelling  -  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/11386\"\u003evitest-dev/vitest#11386\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c36748fa\"\u003e\u003c!-- raw HTML omitted --\u003e(7c367)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etoMatchScreenshot\u003c/code\u003e uses wrong reference on retried tests  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11393\"\u003evitest-dev/vitest#11393\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c22aba992\"\u003e\u003c!-- raw HTML omitted --\u003e(c22ab)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecache\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eRevalidate imports of cached modules  -  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/11381\"\u003evitest-dev/vitest#11381\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/38f98855f\"\u003e\u003c!-- raw HTML omitted --\u003e(38f98)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePin \u003ccode\u003ewhy-is-node-running\u003c/code\u003e to \u003ccode\u003e3.2.1\u003c/code\u003e to avoid users running into \u003ccode\u003eERR_PNPM_TRUST_DOWNGRADE\u003c/code\u003e  -  by \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/11403\"\u003evitest-dev/vitest#11403\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f6c9a4977\"\u003e\u003c!-- raw HTML omitted --\u003e(f6c9a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePass current equality testers to \u003ccode\u003eexpect.extend\u003c/code\u003e asymmetric matchers  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11401\"\u003evitest-dev/vitest#11401\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e794a96b\"\u003e\u003c!-- raw HTML omitted --\u003e(3e794)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ejsdom\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport Blob on jsdom 30.1  -  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/11379\"\u003evitest-dev/vitest#11379\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6c49b7197\"\u003e\u003c!-- raw HTML omitted --\u003e(6c49b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epool\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePreserve unique pool ids when \u003ccode\u003egroupOrder\u003c/code\u003e is set  -  by \u003ca href=\"https://github.com/mtorp\"\u003e\u003ccode\u003e@​mtorp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11392\"\u003evitest-dev/vitest#11392\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/50312ebb4\"\u003e\u003c!-- raw HTML omitted --\u003e(50312)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSplit-pane handle overlapping iframe  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11221\"\u003evitest-dev/vitest#11221\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f91db0dfd\"\u003e\u003c!-- raw HTML omitted --\u003e(f91db)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evitest\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eRemove root temp dir on close  -  by \u003ca href=\"https://github.com/abhinav-phi\"\u003e\u003ccode\u003e@​abhinav-phi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11248\"\u003evitest-dev/vitest#11248\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c7119cf7\"\u003e\u003c!-- raw HTML omitted --\u003e(7c711)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evm\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDo not optimize deps from index.html  -  by \u003ca href=\"https://github.com/ezefernandezyf\"\u003e\u003ccode\u003e@​ezefernandezyf\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11329\"\u003evitest-dev/vitest#11329\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11360\"\u003evitest-dev/vitest#11360\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/caf2887de\"\u003e\u003c!-- raw HTML omitted --\u003e(caf28)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't reuse scripts across vite environments  -  by \u003ca href=\"https://github.com/MO2k4\"\u003e\u003ccode\u003e@​MO2k4\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eMartin Oehlert\u003c/strong\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11395\"\u003evitest-dev/vitest#11395\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/346d3896b\"\u003e\u003c!-- raw HTML omitted --\u003e(346d3)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v5.0.2...v5.0.3\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev5.0.2\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBind \u003ccode\u003eprocess\u003c/code\u003e in case global is overwritten  -  by \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/11343\"\u003evitest-dev/vitest#11343\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0b79231ad\"\u003e\u003c!-- raw HTML omitted --\u003e(0b792)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edetect-async-leaks\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eIgnore \u003ccode\u003eprocess.stdio\u003c/code\u003e handles  -  by \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/11333\"\u003evitest-dev/vitest#11333\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0fd6b9790\"\u003e\u003c!-- raw HTML omitted --\u003e(0fd6b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003etoMatchObject\u003c/code\u003e with asymmetric matchers  -  by \u003ca href=\"https://github.com/ShreeBohara\"\u003e\u003ccode\u003e@​ShreeBohara\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 5\u003c/strong\u003e, \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-5)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11100\"\u003evitest-dev/vitest#11100\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/42523289e\"\u003e\u003c!-- raw HTML omitted --\u003e(42523)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ejsdom\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eRequest\u003c/code\u003e with \u003ccode\u003eBlob\u003c/code\u003e body on jsdom 28+  -  by \u003ca href=\"https://github.com/harshit-d3v\"\u003e\u003ccode\u003e@​harshit-d3v\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11295\"\u003evitest-dev/vitest#11295\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d1c3ecc93\"\u003e\u003c!-- raw HTML omitted --\u003e(d1c3e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporter\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eagent\u003c/code\u003e to respect \u003ccode\u003e--silent\u003c/code\u003e  -  by \u003ca href=\"https://github.com/Raj4478\"\u003e\u003ccode\u003e@​Raj4478\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/11271\"\u003evitest-dev/vitest#11271\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5b95efb6d\"\u003e\u003c!-- raw HTML omitted --\u003e(5b95e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporters\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eHandle concurrent \u003ccode\u003ecreateReport\u003c/code\u003e calls  -  by \u003ca href=\"https://github.com/7rulnik\"\u003e\u003ccode\u003e@​7rulnik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11278\"\u003evitest-dev/vitest#11278\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e8e556ff7\"\u003e\u003c!-- raw HTML omitted --\u003e(e8e55)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ehanging-process\u003c/code\u003e to use ESM entrypoint  -  by \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/11316\"\u003evitest-dev/vitest#11316\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4e91e5668\"\u003e\u003c!-- raw HTML omitted --\u003e(4e91e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003espy\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix stack overflow when spying \u003ccode\u003eSet.prototype.add\u003c/code\u003e  -  by \u003ca href=\"https://github.com/fengmk2\"\u003e\u003ccode\u003e@​fengmk2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11299\"\u003evitest-dev/vitest#11299\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a0a939653\"\u003e\u003c!-- raw HTML omitted --\u003e(a0a93)\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/33cadea62e8763c455c7fca38d9ab1dda87c5f75\"\u003e\u003ccode\u003e33cadea\u003c/code\u003e\u003c/a\u003e chore: release v5.0.3 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11409\"\u003e#11409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a029e76a9e72ebdd468452ee1bb788bbe5dc635e\"\u003e\u003ccode\u003ea029e76\u003c/code\u003e\u003c/a\u003e chore: migrate to oxc (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11367\"\u003e#11367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/428e2e5043c64635b6b157358bde2fdeaa7b6b3a\"\u003e\u003ccode\u003e428e2e5\u003c/code\u003e\u003c/a\u003e chore: release v5.0.2 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11357\"\u003e#11357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/03630a5995d10455fa136be53bfb2b2409381106\"\u003e\u003ccode\u003e03630a5\u003c/code\u003e\u003c/a\u003e chore: release v5.0.1 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11275\"\u003e#11275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/f441c6fab25e579c5b7dd3dd50538416f415fbae\"\u003e\u003ccode\u003ef441c6f\u003c/code\u003e\u003c/a\u003e chore: release v5.0.0 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11130\"\u003e#11130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/c4473e48ee046938a9ab6784fe2735257c2c0f72\"\u003e\u003ccode\u003ec4473e4\u003c/code\u003e\u003c/a\u003e fix(coverage): prevent crash on \u003ccode\u003e/@fs/\u003c/code\u003e prepended virtual files (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11119\"\u003e#11119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/897f51fd2493046c52ec9539b7d02fe3763bd63e\"\u003e\u003ccode\u003e897f51f\u003c/code\u003e\u003c/a\u003e chore: release v5.0.0-rc.4 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11107\"\u003e#11107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7db80dc27e5948010c00160ed0b86570baad6ce8\"\u003e\u003ccode\u003e7db80dc\u003c/code\u003e\u003c/a\u003e chore: release v5.0.0-rc.3 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11089\"\u003e#11089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/5f6a5e84a5e8cef301e15ac2e8f8e9837b002ec6\"\u003e\u003ccode\u003e5f6a5e8\u003c/code\u003e\u003c/a\u003e feat(coverage): switch to \u003ccode\u003e@vitest/istanbuljs\u003c/code\u003e packages (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11053\"\u003e#11053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/c6174a6cf2847b23075ee35ba5151c2184a70594\"\u003e\u003ccode\u003ec6174a6\u003c/code\u003e\u003c/a\u003e fix(coverage): v8 to ignore Vite SSR's generated import bindings (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11023\"\u003e#11023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v5.0.3/packages/coverage-v8\"\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.1 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v29.1.1...v30.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typescript` from 5.9.3 to 7.0.2\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 7.0.2\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/\"\u003ehttps://devblogs.microsoft.com/typescript/announcing-typescript-7-0/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis tag was originally released at: \u003ca href=\"https://github.com/microsoft/typescript-go/releases/tag/typescript%2Fv7.0.2\"\u003ehttps://github.com/microsoft/typescript-go/releases/tag/typescript%2Fv7.0.2\u003c/a\u003e\u003c/p\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.1 RC\u003c/h2\u003e\n\u003cp\u003eFor release notes, check out the \u003ca href=\"https://devblogs.microsoft.com/typescript/announcing-typescript-6-0-rc/\"\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\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/1e4744d68260a7cb91b62b12edc3f6a2187faaf1\"\u003e\u003ccode\u003e1e4744d\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into ts7-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/a5a219c3b5da0db4fa0ecf6c0b1f588c9af9c669\"\u003e\u003ccode\u003ea5a219c\u003c/code\u003e\u003c/a\u003e\u003ccode\u003emicrosoft/typescript-go#4558\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/ecfe30dce91368d52c9a49b6095bb0b673a238f8\"\u003e\u003ccode\u003eecfe30d\u003c/code\u003e\u003c/a\u003e Update status localization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/5de25b5f8fec2ca35eadaed041f1f06d2e214895\"\u003e\u003ccode\u003e5de25b5\u003c/code\u003e\u003c/a\u003e Hide executable name in TypeScript status\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/d7ce74a75da2b80e8201506a1599c06549432b93\"\u003e\u003ccode\u003ed7ce74a\u003c/code\u003e\u003c/a\u003e Show bundled TypeScript version for packaged servers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/29be66a607707f90d7a53103a4469bb3015a4d54\"\u003e\u003ccode\u003e29be66a\u003c/code\u003e\u003c/a\u003e Correct TS 7 release version to 7.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/ed2bd1bfa4aac5211ce4bc58fcd1313c7eddc8ff\"\u003e\u003ccode\u003eed2bd1b\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into ts7-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/887307575c58ea640dbeba3b4e8fdb6347cd3044\"\u003e\u003ccode\u003e8873075\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 3 updates (microsoft/ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/9427131ae2d4e230a90ee8a09daac4e75da3e311\"\u003e\u003ccode\u003e9427131\u003c/code\u003e\u003c/a\u003e Set up stable / nightly extension split, other prep (microsoft/typescript-go#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/d4eaca5460a1f5f02a829e62706794b0a6fb903e\"\u003e\u003ccode\u003ed4eaca5\u003c/code\u003e\u003c/a\u003e\u003ccode\u003emicrosoft/typescript-go#4549\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/TypeScript/compare/v5.9.3...v7.0.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/~microsoft1es\"\u003emicrosoft1es\u003c/a\u003e, a new releaser for typescript since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ultracite` from 6.3.2 to 7.12.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/haydenbleasel/ultracite/releases\"\u003eultracite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eultracite@7.12.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e0f192a7: \u003ccode\u003eultracite init\u003c/code\u003e no longer wipes an existing Biome config it can't read. Previously a \u003ccode\u003ebiome.json\u003c/code\u003e or \u003ccode\u003ebiome.jsonc\u003c/code\u003e with a syntax error, or a nested monorepo config with \u003ccode\u003e\u0026quot;extends\u0026quot;: \u0026quot;//\u0026quot;\u003c/code\u003e, was treated as empty and replaced with just the Ultracite \u003ccode\u003eextends\u003c/code\u003e, losing every other setting. Now:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA config with a syntax error is left unchanged, with a warning asking you to fix it and re-run \u003ccode\u003einit\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eA nested config that extends the root config (\u003ccode\u003e\u0026quot;extends\u0026quot;: \u0026quot;//\u0026quot;\u003c/code\u003e) is left unchanged, since the Ultracite presets belong in the root config.\u003c/li\u003e\n\u003cli\u003eA string \u003ccode\u003eextends\u003c/code\u003e is turned into a list that also includes the Ultracite presets.\u003c/li\u003e\n\u003cli\u003eUpdates edit the file in place, so comments and formatting in \u003ccode\u003ebiome.jsonc\u003c/code\u003e are preserved.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003eultracite doctor\u003c/code\u003e and the \u003ccode\u003echeck\u003c/code\u003e/\u003ccode\u003efix\u003c/code\u003e resolution check now follow a nested config that extends \u003ccode\u003e\u0026quot;//\u0026quot;\u003c/code\u003e to the root config, instead of warning that the nested config doesn't extend \u003ccode\u003eultracite/biome/core\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ec68ba48: \u003ccode\u003eultracite check\u003c/code\u003e and \u003ccode\u003eultracite fix\u003c/code\u003e handle their arguments and missing tools more reliably:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003echeck\u003c/code\u003e now treats explicit files the way \u003ccode\u003efix\u003c/code\u003e does. Oxlint only gets files it can lint, Prettier runs with \u003ccode\u003e--ignore-unknown\u003c/code\u003e, and oxfmt with \u003ccode\u003e--no-error-on-unmatched-pattern\u003c/code\u003e. Before, \u003ccode\u003eultracite check README.md\u003c/code\u003e or \u003ccode\u003eultracite check Dockerfile src/index.ts\u003c/code\u003e failed even though nothing was wrong.\u003c/li\u003e\n\u003cli\u003eLinter flags that take a value keep it, even when the value looks like a file: \u003ccode\u003e--tsconfig tsconfig.json\u003c/code\u003e, \u003ccode\u003e-c .oxlintrc.json\u003c/code\u003e, \u003ccode\u003e--config-path biome.json\u003c/code\u003e, \u003ccode\u003e--only lint/suspicious/noDebugger\u003c/code\u003e, \u003ccode\u003e--since origin/main\u003c/code\u003e and similar. Before, the value was treated as a lint target, so \u003ccode\u003eultracite fix --tsconfig tsconfig.json\u003c/code\u003e skipped Oxlint entirely and only formatted \u003ccode\u003etsconfig.json\u003c/code\u003e. Ultracite's own \u003ccode\u003e--claude\u003c/code\u003e, \u003ccode\u003e--codex\u003c/code\u003e, \u003ccode\u003e--hook\u003c/code\u003e and \u003ccode\u003e--unsafe\u003c/code\u003e never take a value, so the next argument is always a target.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eultracite fix --unsafe\u003c/code\u003e with the ESLint toolchain no longer fails with ESLint's \u0026quot;Invalid option '--unsafe'\u0026quot;. ESLint has no unsafe fixes, so the flag is dropped with a warning.\u003c/li\u003e\n\u003cli\u003eA linter that isn't installed is reported with a plain message instead of a stack trace. The other tools still run first. Stylelint is optional in the ESLint toolchain, as \u003ccode\u003eultracite doctor\u003c/code\u003e already said, so a project without it now skips CSS linting with a warning instead of failing. \u0026quot;No linter configuration found\u0026quot; is also printed without a stack trace.\u003c/li\u003e\n\u003cli\u003eLinters installed in the project's \u003ccode\u003enode_modules/.bin\u003c/code\u003e are found even when Ultracite isn't run through a package manager script, \u003ccode\u003enpx\u003c/code\u003e or \u003ccode\u003ebunx\u003c/code\u003e, for example \u003ccode\u003e./node_modules/.bin/ultracite check\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ef61f393: \u003ccode\u003eultracite init\u003c/code\u003e now looks for existing ESLint, Prettier and Stylelint configs in the same order the tools do, so when a project has more than one, init updates the one the tool actually loads. For example, Prettier reads \u003ccode\u003e.prettierrc.json\u003c/code\u003e before \u003ccode\u003eprettier.config.mjs\u003c/code\u003e, and ESLint reads \u003ccode\u003eeslint.config.js\u003c/code\u003e before \u003ccode\u003eeslint.config.mjs\u003c/code\u003e. Before, init could update a config the tool ignored and leave the active one in place. Stylelint's \u003ccode\u003e.stylelintrc.ts\u003c/code\u003e and \u003ccode\u003estylelint.config.ts\u003c/code\u003e are now recognised too.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e242cd2a: \u003ccode\u003eultracite init\u003c/code\u003e now updates an existing \u003ccode\u003e.vscode/settings.json\u003c/code\u003e or \u003ccode\u003e.zed/settings.json\u003c/code\u003e in place, so your comments and formatting are kept. Before, the file was re-serialised as plain JSON, which stripped every comment. A settings file with a syntax error is now left unchanged with a warning. Before, it was rewritten with whatever part the parser could recover, which dropped the rest.\u003c/p\u003e\n\u003cp\u003eFor the ESLint toolchain, init now also installs the Prettier VS Code extension (\u003ccode\u003eesbenp.prettier-vscode\u003c/code\u003e), since the settings it writes make Prettier the default formatter. Before, only the ESLint extension was installed, so format-on-save did nothing until you added Prettier yourself.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ec273393: \u003ccode\u003eultracite init\u003c/code\u003e now checks every flag value before it changes anything in the project. An unknown value for \u003ccode\u003e--linter\u003c/code\u003e, \u003ccode\u003e--pm\u003c/code\u003e, \u003ccode\u003e--frameworks\u003c/code\u003e, \u003ccode\u003e--editors\u003c/code\u003e, \u003ccode\u003e--agents\u003c/code\u003e, \u003ccode\u003e--hooks\u003c/code\u003e, \u003ccode\u003e--integrations\u003c/code\u003e or \u003ccode\u003e--js-plugins\u003c/code\u003e stops init with a message listing the valid values. Previously a misspelled \u003ccode\u003e--linter\u003c/code\u003e (for example \u003ccode\u003e--linter Biome\u003c/code\u003e) deleted every existing Biome, ESLint, Prettier, Stylelint, Oxlint and oxfmt config file and then crashed.\u003c/p\u003e\n\u003cp\u003eWhen \u003ccode\u003e--linter\u003c/code\u003e is not passed and init runs without prompts (because of \u003ccode\u003e--quiet\u003c/code\u003e, \u003ccode\u003eCI\u003c/code\u003e, or flags such as \u003ccode\u003e--agents\u003c/code\u003e or \u003ccode\u003e--pm\u003c/code\u003e), it now keeps the linter the project is already set up with and only falls back to Oxlint when there is none. Running \u003ccode\u003eultracite init --agents universal\u003c/code\u003e on a Biome project no longer migrates it to Oxlint. The interactive linter prompt also preselects the detected linter.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e3cb2e71: Clearer wording in the CLI:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eultracite init --help\u003c/code\u003e now lists the valid values for \u003ccode\u003e--pm\u003c/code\u003e, \u003ccode\u003e--linter\u003c/code\u003e, \u003ccode\u003e--frameworks\u003c/code\u003e, \u003ccode\u003e--hooks\u003c/code\u003e and \u003ccode\u003e--integrations\u003c/code\u003e, and explains what \u003ccode\u003e--type-aware\u003c/code\u003e does for Biome and for Oxlint.\u003c/li\u003e\n\u003cli\u003eThe agent rules file says \u0026quot;Oxlint + Oxfmt will catch most mechanical issues automatically\u0026quot; instead of \u0026quot;Oxlint + Oxfmt's linter will catch…\u0026quot;.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003eupgrade\u003c/code\u003e say \u0026quot;Using pnpm (detected from the project)\u0026quot; instead of \u0026quot;Detected lockfile\u0026quot;, since the package manager can also come from \u003ccode\u003epackageManager\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eultracite doctor\u003c/code\u003e spells \u0026quot;unrecognized\u0026quot; consistently, formats commands as code, and describes warnings as \u0026quot;Some checks have warnings\u0026quot; instead of \u0026quot;optional improvements\u0026quot;.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e6ae8be8: The ESLint \u003ccode\u003enestjs\u003c/code\u003e preset imports \u003ccode\u003e@darraghor/eslint-plugin-nestjs-typed\u003c/code\u003e, but \u003ccode\u003eultracite init --linter eslint --frameworks nestjs\u003c/code\u003e never installed it, so ESLint failed to load the config with \u0026quot;Cannot find package\u0026quot;. \u003ccode\u003einit\u003c/code\u003e now installs the plugin with the preset, and \u003ccode\u003eultracite upgrade\u003c/code\u003e installs the plugins of every framework preset your \u003ccode\u003eeslint.config.*\u003c/code\u003e imports, so existing NestJS projects pick it up on their next upgrade.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ea8e83bb: \u003ccode\u003eultracite init\u003c/code\u003e now migrates an existing \u003ccode\u003e.oxlintrc.json\u003c/code\u003e, \u003ccode\u003e.oxfmtrc.json\u003c/code\u003e or \u003ccode\u003e.oxfmtrc.jsonc\u003c/code\u003e when it sets up Oxlint. Oxlint and oxfmt refuse to load any config when a JSON config sits next to \u003ccode\u003eoxlint.config.ts\u003c/code\u003e or \u003ccode\u003eoxfmt.config.ts\u003c/code\u003e, and init used to write the TS configs beside the JSON ones, so \u003ccode\u003eultracite check\u003c/code\u003e and \u003ccode\u003eultracite fix\u003c/code\u003e stopped working. Init now moves the JSON config's settings into the TS config and deletes the JSON file:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erules\u003c/code\u003e, \u003ccode\u003eoverrides\u003c/code\u003e, \u003ccode\u003eenv\u003c/code\u003e, \u003ccode\u003eplugins\u003c/code\u003e and other options become properties of the generated config.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eignorePatterns\u003c/code\u003e, \u003ccode\u003esettings\u003c/code\u003e and \u003ccode\u003ejsPlugins\u003c/code\u003e are added to the ones Ultracite generates instead of replacing them.\u003c/li\u003e\n\u003cli\u003eUltracite \u003ccode\u003eextends\u003c/code\u003e entries become presets. Other \u003ccode\u003eextends\u003c/code\u003e paths can't be referenced from a TS config, so init names them in a warning.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eA JSON config that doesn't parse is left in place, and neither file is written.\u003c/p\u003e\n\u003cp\u003eRe-running \u003ccode\u003eultracite init\u003c/code\u003e also keeps what you added to \u003ccode\u003eoxlint.config.ts\u003c/code\u003e and \u003ccode\u003eoxfmt.config.ts\u003c/code\u003e: custom \u003ccode\u003erules\u003c/code\u003e, \u003ccode\u003eoverrides\u003c/code\u003e, \u003ccode\u003eignorePatterns\u003c/code\u003e, \u003ccode\u003esettings\u003c/code\u003e and other properties, extra \u003ccode\u003eextends\u003c/code\u003e entries, your own imports and statements, and comments are carried over while the Ultracite parts are regenerated. Before, both files were regenerated from scratch. A config that doesn't parse is now left unchanged with a warning instead of being overwritten.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eultracite doctor\u003c/code\u003e now fails when a JSON config and a TS config for Oxlint or oxfmt sit side by side, and suggests running \u003ccode\u003einit\u003c/code\u003e to migrate a lone \u003ccode\u003e.oxfmtrc.json\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e981ef2f: \u003ccode\u003eultracite init --linter oxlint\u003c/code\u003e no longer adds \u003ccode\u003e\u0026quot;type\u0026quot;: \u0026quot;module\u0026quot;\u003c/code\u003e to \u003ccode\u003epackage.json\u003c/code\u003e. That field changes how Node loads every \u003ccode\u003e.js\u003c/code\u003e file in the package, so CommonJS files such as a \u003ccode\u003enext.config.js\u003c/code\u003e, \u003ccode\u003epostcss.config.js\u003c/code\u003e or \u003ccode\u003ejest.config.js\u003c/code\u003e using \u003ccode\u003emodule.exports\u003c/code\u003e stopped working after init.\u003c/p\u003e\n\u003cp\u003eInstead, init writes the Oxlint and oxfmt configs as \u003ccode\u003eoxlint.config.mts\u003c/code\u003e and \u003ccode\u003eoxfmt.config.mts\u003c/code\u003e when the package isn't an ES module package (no \u003ccode\u003e\u0026quot;type\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;type\u0026quot;: \u0026quot;commonjs\u0026quot;\u003c/code\u003e). A \u003ccode\u003e.mts\u003c/code\u003e file always loads as an ES module, with no \u003ccode\u003eMODULE_TYPELESS_PACKAGE_JSON\u003c/code\u003e warning on every run, and it works under \u003ccode\u003e\u0026quot;type\u0026quot;: \u0026quot;commonjs\u0026quot;\u003c/code\u003e. ES module packages (\u003ccode\u003e\u0026quot;type\u0026quot;: \u0026quot;module\u0026quot;\u003c/code\u003e) still get \u003ccode\u003eoxlint.config.ts\u003c/code\u003e and \u003ccode\u003eoxfmt.config.ts\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRe-running init updates an existing config under the name it already has. The one exception is a \u003ccode\u003e.ts\u003c/code\u003e config in a \u003ccode\u003e\u0026quot;type\u0026quot;: \u0026quot;commonjs\u0026quot;\u003c/code\u003e package, which Node can't load: init renames it to \u003ccode\u003e.mts\u003c/code\u003e and says so. \u003ccode\u003eultracite doctor\u003c/code\u003e, linter detection and the stale-config cleanup all recognise the \u003ccode\u003e.mts\u003c/code\u003e names. \u003ccode\u003edoctor\u003c/code\u003e fails a \u003ccode\u003e.ts\u003c/code\u003e config in a CommonJS package, and fails when a \u003ccode\u003e.ts\u003c/code\u003e and an \u003ccode\u003e.mts\u003c/code\u003e config sit side by side.\u003c/p\u003e\n\u003cp\u003eRequires oxfmt \u0026gt;= 0.59.0, the first release that finds \u003ccode\u003eoxfmt.config.mts\u003c/code\u003e on its own.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/e948def3e0b1bdba2c4264c183d960f6a05ed61f\"\u003e\u003ccode\u003ee948def\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://redirect.github.com/haydenbleasel/ultracite/issues/823\"\u003e#823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/84838a29174eadb3db8ce8c0992498180c15ea45\"\u003e\u003ccode\u003e84838a2\u003c/code\u003e\u003c/a\u003e Note that adding hooks later keeps the project's linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/987468a8de73d6ff9b46f94647344def01257aa1\"\u003e\u003ccode\u003e987468a\u003c/code\u003e\u003c/a\u003e Document --unsafe per toolchain and the new check, doctor and upgrade behavior\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/857e799aaafe53d05cd955b67fd166a3b2c661d1\"\u003e\u003ccode\u003e857e799\u003c/code\u003e\u003c/a\u003e Describe how init updates existing configs in the migration guides\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/9eb8cbf887faa3676bbbd8855cf6056688d04ecd\"\u003e\u003ccode\u003e9eb8cbf\u003c/code\u003e\u003c/a\u003e Document init's linter detection, flag checks and quiet output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/9c30c15e88fe0367d38c17a03a381e76ee43bca7\"\u003e\u003ccode\u003e9c30c15\u003c/code\u003e\u003c/a\u003e Raise the oxlint peer range to the first release that loads the presets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/44d6997a136dde7617db7c7560a065f8b018d3f5\"\u003e\u003ccode\u003e44d6997\u003c/code\u003e\u003c/a\u003e Create agent and hook directories only after the path guard\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/3cb2e71b7b9a25808e964f37817882df931676d4\"\u003e\u003ccode\u003e3cb2e71\u003c/code\u003e\u003c/a\u003e Tidy CLI help and messages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/f61f3937cc4783ee58bd7eb8030ad0f24c79bc00\"\u003e\u003ccode\u003ef61f393\u003c/code\u003e\u003c/a\u003e Look for ESLint, Prettier and Stylelint configs in the tools' own order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/923667b429931f4403ff6d9f9698812434f37f04\"\u003e\u003ccode\u003e923667b\u003c/code\u003e\u003c/a\u003e Respect tsconfig strictNullChecks settings, including inherited ones\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/haydenbleasel/ultracite/compare/ultracite@6.3.2...ultracite@7.12.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 ultracite since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 4.1.11 to 5.0.3\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\u003ev5.0.3\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIsolate \u003ccode\u003eresult.status\u003c/code\u003e between \u003ccode\u003erepeats\u003c/code\u003e runs  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11218\"\u003evitest-dev/vitest#11218\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5dbebe9e3\"\u003e\u003c!-- raw HTML omitted --\u003e(5dbeb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't print an interceptor warning in browser mode  -  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/11377\"\u003evitest-dev/vitest#11377\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/15cc006aa\"\u003e\u003c!-- raw HTML omitted --\u003e(15cc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't retry when \u003ccode\u003etest.fails\u003c/code\u003e expectedly failed  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11219\"\u003evitest-dev/vitest#11219\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b24585f08\"\u003e\u003c!-- raw HTML omitted --\u003e(b2458)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eScope cache key generators to projects  -  by \u003ca href=\"https://github.com/ecoyoung\"\u003e\u003ccode\u003e@​ecoyoung\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11281\"\u003evitest-dev/vitest#11281\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11301\"\u003evitest-dev/vitest#11301\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/92ba7fc1d\"\u003e\u003c!-- raw HTML omitted --\u003e(92ba7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDelay server \u003ccode\u003elisten\u003c/code\u003e until tests start running  -  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/11366\"\u003evitest-dev/vitest#11366\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d8ed3e9b\"\u003e\u003c!-- raw HTML omitted --\u003e(7d8ed)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck mock path boundaries  -  by \u003ca href=\"https://github.com/saryn17\"\u003e\u003ccode\u003e@​saryn17\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eRyosei Sato\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/11361\"\u003evitest-dev/vitest#11361\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11362\"\u003evitest-dev/vitest#11362\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1c3888bce\"\u003e\u003c!-- raw HTML omitted --\u003e(1c388)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep config of browser-consumed environments  -  by \u003ca href=\"https://github.com/kasperpeulen\"\u003e\u003ccode\u003e@​kasperpeulen\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11378\"\u003evitest-dev/vitest#11378\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/aafc0996f\"\u003e\u003c!-- raw HTML omitted --\u003e(aafc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore page crash while cancelling  -  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/11386\"\u003evitest-dev/vitest#11386\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c36748fa\"\u003e\u003c!-- raw HTML omitted --\u003e(7c367)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etoMatchScreenshot\u003c/code\u003e uses wrong reference on retried tests  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11393\"\u003evitest-dev/vitest#11393\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c22aba992\"\u003e\u003c!-- raw HTML omitted --\u003e(c22ab)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecache\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eRevalidate imports of cached modules  -  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/11381\"\u003evitest-dev/vitest#11381\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/38f98855f\"\u003e\u003c!-- raw HTML omitted --\u003e(38f98)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePin \u003ccode\u003ewhy-is-node-running\u003c/code\u003e to \u003ccode\u003e3.2.1\u003c/code\u003e to avoid users running into \u003ccode\u003eERR_PNPM_TRUST_DOWNGRADE\u003c/code\u003e  -  by \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/11403\"\u003evitest-dev/vitest#11403\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f6c9a4977\"\u003e\u003c!-- raw HTML omitted --\u003e(f6c9a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePass current equality testers to \u003ccode\u003eexpect.extend\u003c/code\u003e asymmetric matchers  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11401\"\u003evitest-dev/vitest#11401\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e794a96b\"\u003e\u003c!-- raw HTML omitted --\u003e(3e794)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ejsdom\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport Blob on jsdom 30.1  -  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/11379\"\u003evitest-dev/vitest#11379\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6c49b7197\"\u003e\u003c!-- raw HTML omitted --\u003e(6c49b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epool\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePreserve unique pool ids when \u003ccode\u003egroupOrder\u003c/code\u003e is set  -  by \u003ca href=\"https://github.com/mtorp\"\u003e\u003ccode\u003e@​mtorp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11392\"\u003evitest-dev/vitest#11392\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/50312ebb4\"\u003e\u003c!-- raw HTML omitted --\u003e(50312)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSplit-pane handle overlapping iframe  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11221\"\u003evitest-dev/vitest#11221\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f91db0dfd\"\u003e\u003c!-- raw HTML omitted --\u003e(f91db)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evitest\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eRemove root temp dir on close  -  by \u003ca href=\"https://github.com/abhinav-phi\"\u003e\u003ccode\u003e@​abhinav-phi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11248\"\u003evitest-dev/vitest#11248\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c7119cf7\"\u003e\u003c!-- raw HTML omitted --\u003e(7c711)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evm\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDo not optimize deps from index.html  -  by \u003ca href=\"https://github.com/ezefernandezyf\"\u003e\u003ccode\u003e@​ezefernandezyf\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11329\"\u003evitest-dev/vitest#11329\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11360\"\u003evitest-dev/vitest#11360\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/caf2887de\"\u003e\u003c!-- raw HTML omitted --\u003e(caf28)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't reuse scripts across vite environments  -  by \u003ca href=\"https://github.com/MO2k4\"\u003e\u003ccode\u003e@​MO2k4\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eMartin Oehlert\u003c/strong\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11395\"\u003evitest-dev/vitest#11395\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/346d3896b\"\u003e\u003c!-- raw HTML omitted --\u003e(346d3)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v5.0.2...v5.0.3\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev5.0.2\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBind \u003ccode\u003eprocess\u003c/code\u003e in case global is overwritten  -  by \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/11343\"\u003evitest-dev/vitest#11343\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0b79231ad\"\u003e\u003c!-- raw HTML omitted --\u003e(0b792)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edetect-async-leaks\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eIgnore \u003ccode\u003eprocess.stdio\u003c/code\u003e handles  -  by \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/11333\"\u003evitest-dev/vitest#11333\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0fd6b9790\"\u003e\u003c!-- raw HTML omitted --\u003e(0fd6b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003etoMatchObject\u003c/code\u003e with asymmetric matchers  -  by \u003ca href=\"https://github.com/ShreeBohara\"\u003e\u003ccode\u003e@​ShreeBohara\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 5\u003c/strong\u003e, \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-5)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11100\"\u003evitest-dev/vitest#11100\u003c/a\u003e \u003ca href=\"https...\n\n_Description has been truncated_","html_url":"https://github.com/hakudevtw/i18n-studio/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hakudevtw%2Fi18n-studio/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"},{"uuid":"5738006009","node_id":"PR_kwDOSu_BXs8AAAABHB_B_A","number":537,"state":"closed","title":"chore(deps): bump the minor-and-patch group across 1 directory with 10 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-10-07T12:26:01.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-07T01:45:03.000Z","updated_at":"2026-10-07T12:26:10.000Z","time_to_close":38458,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"minor-and-patch","update_count":10,"packages":[{"name":"docx","old_version":"9.7.1","new_version":"9.8.1","repository_url":"https://github.com/dolanmiu/docx"},{"name":"fast-xml-parser","old_version":"5.11.1","new_version":"5.11.2","repository_url":"https://github.com/NaturalIntelligence/fast-xml-parser"},{"name":"next","old_version":"16.3.6","new_version":"16.3.8","repository_url":"https://github.com/vercel/next.js"},{"name":"@types/node","old_version":"26.6.2","new_version":"26.6.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"5.0.1","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"jsdom","old_version":"30.1.0","new_version":"30.1.2","repository_url":"https://github.com/jsdom/jsdom"},{"name":"lint-staged","old_version":"17.5.1","new_version":"17.6.0","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"prettier","old_version":"3.9.8","new_version":"3.9.9","repository_url":"https://github.com/prettier/prettier"},{"name":"tsx","old_version":"4.23.14","new_version":"4.23.15","repository_url":"https://github.com/privatenumber/tsx"},{"name":"vitest","old_version":"5.0.1","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [docx](https://github.com/dolanmiu/docx) | `9.7.1` | `9.8.1` |\n| [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) | `5.11.1` | `5.11.2` |\n| [next](https://github.com/vercel/next.js) | `16.3.6` | `16.3.8` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.6.2` | `26.6.4` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `5.0.1` | `5.0.3` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.1.0` | `30.1.2` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `17.5.1` | `17.6.0` |\n| [prettier](https://github.com/prettier/prettier) | `3.9.8` | `3.9.9` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.23.14` | `4.23.15` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.1` | `5.0.3` |\n\n\nUpdates `docx` from 9.7.1 to 9.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dolanmiu/docx/releases\"\u003edocx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e9.8.1 adds \u003cstrong\u003emath from LaTeX\u003c/strong\u003e to \u003ccode\u003edocx/math\u003c/code\u003e, and makes every example in the docs \u003cstrong\u003elive\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003elatexToMath\u003c/code\u003e\u003c/strong\u003e turns LaTeX math into equations that Word shows and edits as its own. It reads the math that LaTeX, MathJax and KaTeX write, including fractions, roots, scripts, sums and integrals, \u003ccode\u003e\\left … \\right\u003c/code\u003e, accents, braces, fonts, \u003ccode\u003e\\text\u003c/code\u003e, and environments such as \u003ccode\u003ematrix\u003c/code\u003e, \u003ccode\u003ecases\u003c/code\u003e and \u003ccode\u003ealign\u003c/code\u003e, where \u003ccode\u003e\\tag\u003c/code\u003e numbers a row. It returns components, so you can mix LaTeX with math you build by hand. Anything it can't read throws an error that says what and where. See \u003ca href=\"https://docx.js.org/#/usage/math-latex\"\u003eMath from LaTeX\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eLaTeX needed six new components, and you can use them by hand too: \u003ccode\u003eMathLargeOperator\u003c/code\u003e, \u003ccode\u003eMathAccent\u003c/code\u003e, \u003ccode\u003eMathBar\u003c/code\u003e, \u003ccode\u003eMathBrace\u003c/code\u003e, \u003ccode\u003eMathBox\u003c/code\u003e and \u003ccode\u003eMathPhantom\u003c/code\u003e. \u003ccode\u003eMathRun\u003c/code\u003e gains \u003ccode\u003estyle\u003c/code\u003e, \u003ccode\u003escript\u003c/code\u003e and \u003ccode\u003eliteral\u003c/code\u003e. \u003ccode\u003eMathFraction\u003c/code\u003e gains \u003ccode\u003etype\u003c/code\u003e (stacked, skewed, linear or no bar), and \u003ccode\u003eMathSum\u003c/code\u003e and \u003ccode\u003eMathIntegral\u003c/code\u003e gain \u003ccode\u003elimits\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe docs' examples now run in the page\u003c/strong\u003e with this version of docx and draw the document next to the code. You can edit the code, with completions and type errors, and download the \u003ccode\u003e.docx\u003c/code\u003e. Running all 443 examples found docs that were wrong, and they're fixed: landscape pages, custom properties, comments, and APIs that no longer exist. The sidebar also stops listing every chart page, and shows a page's child pages only once you open it.\u003c/p\u003e\n\u003cp\u003eThe empty \u003ccode\u003eWORKAROUND2\u003c/code\u003e, \u003ccode\u003eWORKAROUND3\u003c/code\u003e and \u003ccode\u003eWORKAROUND4\u003c/code\u003e exports are gone. They were only there for awesome-typescript-loader, which docx stopped using in 2021.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: the API check compares the classes an entry point re-exports from docx with docx's check, not its own by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3558\"\u003edolanmiu/docx#3558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: the sidebar lists a page's child pages only once that page or one of its children is open by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3557\"\u003edolanmiu/docx#3557\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: live examples in the docs, which run, draw the document next to the code, and can be edited and downloaded by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3556\"\u003edolanmiu/docx#3556\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​microsoft/api-extractor\u003c/code\u003e from 7.59.1 to 7.59.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3559\"\u003edolanmiu/docx#3559\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump vite from 8.3.0 to 8.3.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3560\"\u003edolanmiu/docx#3560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/inquirer\u003c/code\u003e from 9.0.9 to 9.0.10 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3561\"\u003edolanmiu/docx#3561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump eslint-plugin-functional from 9.0.5 to 10.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3562\"\u003edolanmiu/docx#3562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump cspell from 10.0.0 to 10.3.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3568\"\u003edolanmiu/docx#3568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e from 8.70.0 to 8.70.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3567\"\u003edolanmiu/docx#3567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump jsdom from 30.1.0 to 30.1.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3564\"\u003edolanmiu/docx#3564\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove \u003ccode\u003e@​types/inquirer\u003c/code\u003e, since inquirer ships its own types by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3569\"\u003edolanmiu/docx#3569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump typescript-eslint from 8.70.0 to 8.70.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3565\"\u003edolanmiu/docx#3565\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: math from LaTeX in docx/math, with accents, bars, braces, boxes, phantoms and large operators by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3570\"\u003edolanmiu/docx#3570\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove the awesome-typescript-loader WORKAROUND exports by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3571\"\u003edolanmiu/docx#3571\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Version bump to 9.8.1 by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3572\"\u003edolanmiu/docx#3572\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dolanmiu/docx/compare/9.8.0...9.8.1\"\u003ehttps://github.com/dolanmiu/docx/compare/9.8.0...9.8.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e9.8.0 is one of the biggest releases of \u003ccode\u003edocx\u003c/code\u003e yet. It adds \u003cstrong\u003echarts\u003c/strong\u003e, \u003cstrong\u003eshapes\u003c/strong\u003e and \u003cstrong\u003ewatermarks\u003c/strong\u003e, and a lot more \u003cstrong\u003emath\u003c/strong\u003e. Each has its own entry point (\u003ccode\u003edocx/charts\u003c/code\u003e, \u003ccode\u003edocx/shapes\u003c/code\u003e, \u003ccode\u003edocx/watermarks\u003c/code\u003e and \u003ccode\u003edocx/math\u003c/code\u003e), so your bundle only includes the ones you import.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eCharts\u003c/strong\u003e are native Word charts, not pictures. Word draws them from their data in the document's theme, and \u003cstrong\u003eEdit Data\u003c/strong\u003e opens that data in Excel. You can make column, bar, line, area, pie, doughnut, pie of pie, bar of pie, radar, scatter, bubble, stock and combo charts, with trendlines, error bars, categories in groups and more. Charts also work in templates. \u003ccode\u003epatchDocument\u003c/code\u003e can put a new \u003ccode\u003eChartRun\u003c/code\u003e where a placeholder is, and \u003ccode\u003eChartDataPatch\u003c/code\u003e gives new data to a chart made and styled in Word while keeping its look.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eShapes\u003c/strong\u003e cover Word's preset shapes (rectangles, ellipses, arrows, callouts, flowchart symbols and the rest), plus custom shapes drawn from SVG paths. You can group shapes with \u003ccode\u003eShapeGroupRun\u003c/code\u003e, or join them with connectors on a \u003ccode\u003eShapeCanvasRun\u003c/code\u003e and let automatic layout place them, which is how you'd build flowcharts, org charts and swimlane diagrams. \u003cstrong\u003eMath\u003c/strong\u003e gains matrices, cases, equations lined up with numbers, and brackets made of any characters. Math you already import from \u003ccode\u003edocx\u003c/code\u003e keeps working there. \u003cstrong\u003eWatermarks\u003c/strong\u003e are text or pictures behind every page, and Word recognises them in its own \u003cstrong\u003eDesign \u0026gt; Watermark\u003c/strong\u003e menu.\u003c/p\u003e\n\u003cp\u003eEvery document now has a \u003cstrong\u003etheme\u003c/strong\u003e, and you can set its colours and fonts with the \u003ccode\u003etheme\u003c/code\u003e option. Text, underlines, borders, shading, shapes and the page background can use theme colours, and text can use the theme's heading or body font, so they all change when the theme is changed in Word. \u003ccode\u003epatchDocument\u003c/code\u003e works out theme colours from the template's own theme.\u003c/p\u003e\n\u003cp\u003eEvery demo's document is now checked with the Open XML SDK validator in CI, and this release fixes everything it found. Thank you to everyone who contributed, and welcome to our five new contributors: \u003ca href=\"https://github.com/slmnsh\"\u003e\u003ccode\u003e@​slmnsh\u003c/code\u003e\u003c/a\u003e added image cropping, \u003ca href=\"https://github.com/theunal\"\u003e\u003ccode\u003e@​theunal\u003c/code\u003e\u003c/a\u003e watermarks, \u003ca href=\"https://github.com/holm\"\u003e\u003ccode\u003e@​holm\u003c/code\u003e\u003c/a\u003e run properties on \u003ccode\u003eImageRun\u003c/code\u003e, and \u003ca href=\"https://github.com/omartuhintvs\"\u003e\u003ccode\u003e@​omartuhintvs\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/fushanbobfan\"\u003e\u003ccode\u003e@​fushanbobfan\u003c/code\u003e\u003c/a\u003e fixes to tables and the patcher.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for cropping images by \u003ca href=\"https://github.com/slmnsh\"\u003e\u003ccode\u003e@​slmnsh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3505\"\u003edolanmiu/docx#3505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: allocate bookmark numeric ids per document by \u003ca href=\"https://github.com/alexvcasillas\"\u003e\u003ccode\u003e@​alexvcasillas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3502\"\u003edolanmiu/docx#3502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(table): emit numeric pct widths in fiftieths of a percent by \u003ca href=\"https://github.com/omartuhintvs\"\u003e\u003ccode\u003e@​omartuhintvs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3476\"\u003edolanmiu/docx#3476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix \u0026quot;Get Started\u0026quot; cover link and GitHub corner overlap by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3518\"\u003edolanmiu/docx#3518\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(styles): stop emitting an implicit ListParagraph pStyle inside style definitions by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3519\"\u003edolanmiu/docx#3519\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Inquirer list deprecation by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3520\"\u003edolanmiu/docx#3520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Watermarks by \u003ca href=\"https://github.com/theunal\"\u003e\u003ccode\u003e@​theunal\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3221\"\u003edolanmiu/docx#3221\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add shapes with ShapeRun and ShapeGroupRun by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3521\"\u003edolanmiu/docx#3521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(shapes): readable names, connectors and drawing canvases by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3522\"\u003edolanmiu/docx#3522\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/dolanmiu/docx/commit/0e8ff7a731275cd31fed0ef0c211f4ce7ac3c986\"\u003e\u003ccode\u003e0e8ff7a\u003c/code\u003e\u003c/a\u003e chore: Version bump to 9.8.1 (\u003ca href=\"https://redirect.github.com/dolanmiu/docx/issues/3572\"\u003e#3572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dolanmiu/docx/commit/71b11d6f334374336db5dea7435d323360641df1\"\u003e\u003ccode\u003e71b11d6\u003c/code\u003e\u003c/a\u003e chore: remove the awesome-typescript-loader WORKAROUND exports (\u003ca href=\"https://redirect.github.com/dolanmiu/docx/issues/3571\"\u003e#3571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dolanmiu/docx/commit/eb206519ae1e5228e413588a614a2c1d904a3b65\"\u003e\u003ccode\u003eeb20651\u003c/code\u003e\u003c/a\u003e feat: math from LaTeX in docx/math, with accents, bars, braces, boxes, phanto...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dolanmiu/docx/commit/5213b31aaecb59fc6a2709d37a1189a3796bb861\"\u003e\u003ccode\u003e5213b31\u003c/code\u003e\u003c/a\u003e chore: Add evaluate PR skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dolanmiu/docx/commit/10448596eb29ca3f71fd7d9546b114e83aaa4d5f\"\u003e\u003ccode\u003e1044859\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump typescript-eslint from 8.70.0 to 8.70.1 (\u003ca href=\"https://redirect.github.com/dolanmiu/docx/issues/3565\"\u003e#3565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dolanmiu/docx/commit/d152b80ee736ed2723dd9aa8de682f672e2a7704\"\u003e\u003ccode\u003ed152b80\u003c/code\u003e\u003c/a\u003e chore: remove \u003ccode\u003e@​types/inquirer\u003c/code\u003e, since inquirer ships its own types (\u003ca href=\"https://redirect.github.com/dolanmiu/docx/issues/3569\"\u003e#3569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dolanmiu/docx/commit/70bca29e20292695b81ba3e07b57bc62e3e8ef6c\"\u003e\u003ccode\u003e70bca29\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump jsdom from 30.1.0 to 30.1.1 (\u003ca href=\"https://redirect.github.com/dolanmiu/docx/issues/3564\"\u003e#3564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dolanmiu/docx/commit/42caf4a31c50fc0ecf3e88e62b4c21f73fecca1b\"\u003e\u003ccode\u003e42caf4a\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e from 8.70.0 to 8.70.1 (\u003ca href=\"https://redirect.github.com/dolanmiu/docx/issues/3567\"\u003e#3567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dolanmiu/docx/commit/98d404cbb6c4e24d063a116035c3ff495c6eebfb\"\u003e\u003ccode\u003e98d404c\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump cspell from 10.0.0 to 10.3.4 (\u003ca href=\"https://redirect.github.com/dolanmiu/docx/issues/3568\"\u003e#3568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dolanmiu/docx/commit/a56f38383e642eea940a584d145068835a0c3627\"\u003e\u003ccode\u003ea56f383\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump eslint-plugin-functional from 9.0.5 to 10.0.1 (\u003ca href=\"https://redirect.github.com/dolanmiu/docx/issues/3562\"\u003e#3562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dolanmiu/docx/compare/9.7.1...9.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fast-xml-parser` from 5.11.1 to 5.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/releases\"\u003efast-xml-parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: decode Uint8Array XML input as UTF-8 by \u003ca href=\"https://github.com/emme1t\"\u003e\u003ccode\u003e@​emme1t\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/875\"\u003eNaturalIntelligence/fast-xml-parser#875\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: type EntityDecoderOptions.setXmlVersion's version as a number by \u003ca href=\"https://github.com/YevheniiKotyrlo\"\u003e\u003ccode\u003e@​YevheniiKotyrlo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/880\"\u003eNaturalIntelligence/fast-xml-parser#880\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/emme1t\"\u003e\u003ccode\u003e@​emme1t\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/875\"\u003eNaturalIntelligence/fast-xml-parser#875\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/YevheniiKotyrlo\"\u003e\u003ccode\u003e@​YevheniiKotyrlo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/880\"\u003eNaturalIntelligence/fast-xml-parser#880\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.1...v5.11.2\"\u003ehttps://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.1...v5.11.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md\"\u003efast-xml-parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003eNote: If you find missing information about particular minor version, that version must have been changed without any functional change in this library.\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003cp\u003eNote: Due to some last quick changes on v4, detail of v4.5.3 \u0026amp; v4.5.4 are not updated here. v4.5.4x is the last tag of v4 in github repository. I'm extremely sorry for the confusion\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e5.11.2 / 2026-09-29\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/875\"\u003e#875\u003c/a\u003e): decode Uint8Array XML input as UTF-8 (By emme1t)\u003c/li\u003e\n\u003cli\u003efix (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/880\"\u003e#880\u003c/a\u003e) :type EntityDecoderOptions.setXmlVersion's version as a number (By Yevhenii Kotyrlo)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.11.1 / 2026-08-27\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: validator; Replace regex with a single-pass scanner for attribute tokens, eliminating quadratic behavior on long whitespace runs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.11.0 / 2026-08-16\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support for endIndex in node metadata (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/850\"\u003e#850\u003c/a\u003e) [By \u003ca href=\"https://github.com/Wain-PC\"\u003ePavel Dranichnikov\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003efix: don't crash on a closing tag with no matching opening tag (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/861\"\u003e#861\u003c/a\u003e) [By \u003ca href=\"https://github.com/hdimer\"\u003eHaïm Dimer\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003efix: DOCTYPE to read SYSTEM/PUBLIC\u003c/li\u003e\n\u003cli\u003edeps: strnum v2.4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.10.1 / 2026-07-17\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: multiple DOCTYPE declarations.\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003e@nodable/entities\u003c/code\u003e for treeshaking\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.10.0 / 2026-07-11\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade:\n\u003cul\u003e\n\u003cli\u003exml-naming v0.3.0: cache support\u003c/li\u003e\n\u003cli\u003ePEM v1.6.2: sibling bug fix\u003c/li\u003e\n\u003cli\u003eis-unsafe v2.0.0: tree shaking\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.3 / 2026-06-19\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupdate strnum\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.2 / 2026-06-17\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edummy release to test changes in github action\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.1 / 2026-06-17\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edummy release to test release from github action\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.0 / 2026-06-15\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupdate strnum to 2.3.0\n\u003cul\u003e\n\u003cli\u003eyou can set hex, binary, enotation, infinity, unicode\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003evalidate unsafe HTML or XML data in doctype entities unsing 'is-unsafe' library.\nUser can override rules by overriding EntityDecoder.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.8.0 / 2026-05-12\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eintegrate xml-naming to validate DOCTYPE entity name and notation name (using qname becaue of backward compatibility)\n\u003cul\u003e\n\u003cli\u003eThis will consider xml-version as well. '1.0' is default\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eupdate strnum to 2.3.0\n\u003cul\u003e\n\u003cli\u003eYou can set octal and binary parsing which is bydeault off\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eupdate fast-xml-builder to 1.2.0\n\u003cul\u003e\n\u003cli\u003ecan sanitize tag names if found invalid\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/NaturalIntelligence/fast-xml-parser/commit/80e88a848b073fd630bc181291a24922c6d1e839\"\u003e\u003ccode\u003e80e88a8\u003c/code\u003e\u003c/a\u003e 5.11.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/0718e417385d109bc63f509ef0821b0328c4e2d8\"\u003e\u003ccode\u003e0718e41\u003c/code\u003e\u003c/a\u003e changelog, browser bundles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/1a6646b8949ca54f2e2ea205a5923a9980d8fa1d\"\u003e\u003ccode\u003e1a6646b\u003c/code\u003e\u003c/a\u003e deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/d39644185031299e2f5a84241dcce9bcd3238095\"\u003e\u003ccode\u003ed396441\u003c/code\u003e\u003c/a\u003e audit fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/513d0b3cac51a52d62d79cdf01440aa3bbc21553\"\u003e\u003ccode\u003e513d0b3\u003c/code\u003e\u003c/a\u003e fix: type EntityDecoderOptions.setXmlVersion's version as a number (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/880\"\u003e#880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/bb2ec6ce4bfc3f62d621df6e6bf2b3152965175a\"\u003e\u003ccode\u003ebb2ec6c\u003c/code\u003e\u003c/a\u003e fix: decode Uint8Array XML input as UTF-8 (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/875\"\u003e#875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.1...v5.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `next` from 16.3.6 to 16.3.8\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.3.8\u003c/h2\u003e\n\u003cp\u003eThis release contains security fixes for the following advisories:\u003c/p\u003e\n\u003cp\u003eHigh:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-cjq9-62q9-8jv4\"\u003eServer-Side Request Forgery in Image Optimization\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMedium:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-f87g-xv8r-7p7x\"\u003eInformation disclosure in Next.js App Router metadata image routes via dynamicParams bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-4jqv-mc3x-m676\"\u003eCache poisoning of SSG and ISR pages in self-hosted Next.js applications\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-mcj8-r9mp-w47p\"\u003eCache poisoning in Next.js SSG/ISR rendering leads to cross-user content substitution and persistent denial of service\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-3w37-wq28-93x7\"\u003ePending \u003ccode\u003euse cache\u003c/code\u003e fill can leak Draft Mode content into regular responses and persisted pages\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-h694-7cp9-m8p3\"\u003eCache leak across root param values in nested 'use cache' functions\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eLow:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-39w2-rjm5-chcv\"\u003eInformation disclosure in the Next.js development server's Model Context Protocol endpoint\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev16.3.7\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release is backporting 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\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eturbo-tasks-backend: fix strongly consistent read hanging on a canceled task (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/98931\"\u003e#98931\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCredits\u003c/h3\u003e\n\u003cp\u003eHuge thanks to \u003ca href=\"https://github.com/lukesandberg\"\u003e\u003ccode\u003e@​lukesandberg\u003c/code\u003e\u003c/a\u003e for helping!\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/vercel/next.js/commit/b0fad0d45eb4c4430fda5eeeb442e8a5af08a5f6\"\u003e\u003ccode\u003eb0fad0d\u003c/code\u003e\u003c/a\u003e v16.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/719e4c67d6e92df60246f95e1d96e2dd60789a52\"\u003e\u003ccode\u003e719e4c6\u003c/code\u003e\u003c/a\u003e [lts-active] Scope response cache keys to their source route (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/218\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/e92db4536a7f34ae2dbda583cfa1b4e0d06d1865\"\u003e\u003ccode\u003ee92db45\u003c/code\u003e\u003c/a\u003e [lts-active] Fix metadata propagation for deduplicated nested caches (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/223\"\u003e#223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/40c2ba904289a65ed2fd4633c5dfb1bdc29b52de\"\u003e\u003ccode\u003e40c2ba9\u003c/code\u003e\u003c/a\u003e [lts-active] Match Next data paths case-sensitively (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/196\"\u003e#196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/2d9f50a409312696145b82b3157aadb6b1fef476\"\u003e\u003ccode\u003e2d9f50a\u003c/code\u003e\u003c/a\u003e [lts-active] Fix MCP middleware DNS rebinding (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/213\"\u003e#213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/bd9214f9a32854a011bf5fe58e481dffe1bbf598\"\u003e\u003ccode\u003ebd9214f\u003c/code\u003e\u003c/a\u003e [lts-active] Fix draft mode leaks through cross-request \u003ccode\u003e'use cache'\u003c/code\u003e dedupli...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/8db4a627c91e718514406ff5644ea4985dcaaae0\"\u003e\u003ccode\u003e8db4a62\u003c/code\u003e\u003c/a\u003e [lts-active][webpack] Ensure \u003ccode\u003edynamicParams\u003c/code\u003e is respected in `opengraph-image...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/e002ad68bd676bb0ed0c87bb22e3590304763e0b\"\u003e\u003ccode\u003ee002ad6\u003c/code\u003e\u003c/a\u003e [lts-active] fix(next/image): Pin DNS resolution when fetching external image...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/4c20699e29178d444994cf5a31b8a617ca3a2c80\"\u003e\u003ccode\u003e4c20699\u003c/code\u003e\u003c/a\u003e v16.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/2521aec5815e7de2121db253d12dae9f13e25361\"\u003e\u003ccode\u003e2521aec\u003c/code\u003e\u003c/a\u003e [backport] turbo-tasks-backend: fix strongly consistent read hanging on a can...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/next.js/compare/v16.3.6...v16.3.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 26.6.2 to 26.6.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 `@vitest/coverage-v8` from 5.0.1 to 5.0.3\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\u003ev5.0.3\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIsolate \u003ccode\u003eresult.status\u003c/code\u003e between \u003ccode\u003erepeats\u003c/code\u003e runs  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11218\"\u003evitest-dev/vitest#11218\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5dbebe9e3\"\u003e\u003c!-- raw HTML omitted --\u003e(5dbeb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't print an interceptor warning in browser mode  -  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/11377\"\u003evitest-dev/vitest#11377\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/15cc006aa\"\u003e\u003c!-- raw HTML omitted --\u003e(15cc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't retry when \u003ccode\u003etest.fails\u003c/code\u003e expectedly failed  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11219\"\u003evitest-dev/vitest#11219\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b24585f08\"\u003e\u003c!-- raw HTML omitted --\u003e(b2458)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eScope cache key generators to projects  -  by \u003ca href=\"https://github.com/ecoyoung\"\u003e\u003ccode\u003e@​ecoyoung\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11281\"\u003evitest-dev/vitest#11281\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11301\"\u003evitest-dev/vitest#11301\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/92ba7fc1d\"\u003e\u003c!-- raw HTML omitted --\u003e(92ba7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDelay server \u003ccode\u003elisten\u003c/code\u003e until tests start running  -  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/11366\"\u003evitest-dev/vitest#11366\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d8ed3e9b\"\u003e\u003c!-- raw HTML omitted --\u003e(7d8ed)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck mock path boundaries  -  by \u003ca href=\"https://github.com/saryn17\"\u003e\u003ccode\u003e@​saryn17\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eRyosei Sato\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/11361\"\u003evitest-dev/vitest#11361\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11362\"\u003evitest-dev/vitest#11362\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1c3888bce\"\u003e\u003c!-- raw HTML omitted --\u003e(1c388)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep config of browser-consumed environments  -  by \u003ca href=\"https://github.com/kasperpeulen\"\u003e\u003ccode\u003e@​kasperpeulen\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11378\"\u003evitest-dev/vitest#11378\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/aafc0996f\"\u003e\u003c!-- raw HTML omitted --\u003e(aafc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore page crash while cancelling  -  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/11386\"\u003evitest-dev/vitest#11386\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c36748fa\"\u003e\u003c!-- raw HTML omitted --\u003e(7c367)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etoMatchScreenshot\u003c/code\u003e uses wrong reference on retried tests  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11393\"\u003evitest-dev/vitest#11393\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c22aba992\"\u003e\u003c!-- raw HTML omitted --\u003e(c22ab)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecache\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eRevalidate imports of cached modules  -  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/11381\"\u003evitest-dev/vitest#11381\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/38f98855f\"\u003e\u003c!-- raw HTML omitted --\u003e(38f98)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePin \u003ccode\u003ewhy-is-node-running\u003c/code\u003e to \u003ccode\u003e3.2.1\u003c/code\u003e to avoid users running into \u003ccode\u003eERR_PNPM_TRUST_DOWNGRADE\u003c/code\u003e  -  by \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/11403\"\u003evitest-dev/vitest#11403\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f6c9a4977\"\u003e\u003c!-- raw HTML omitted --\u003e(f6c9a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePass current equality testers to \u003ccode\u003eexpect.extend\u003c/code\u003e asymmetric matchers  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11401\"\u003evitest-dev/vitest#11401\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e794a96b\"\u003e\u003c!-- raw HTML omitted --\u003e(3e794)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ejsdom\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport Blob on jsdom 30.1  -  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/11379\"\u003evitest-dev/vitest#11379\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6c49b7197\"\u003e\u003c!-- raw HTML omitted --\u003e(6c49b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epool\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePreserve unique pool ids when \u003ccode\u003egroupOrder\u003c/code\u003e is set  -  by \u003ca href=\"https://github.com/mtorp\"\u003e\u003ccode\u003e@​mtorp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11392\"\u003evitest-dev/vitest#11392\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/50312ebb4\"\u003e\u003c!-- raw HTML omitted --\u003e(50312)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSplit-pane handle overlapping iframe  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11221\"\u003evitest-dev/vitest#11221\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f91db0dfd\"\u003e\u003c!-- raw HTML omitted --\u003e(f91db)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evitest\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eRemove root temp dir on close  -  by \u003ca href=\"https://github.com/abhinav-phi\"\u003e\u003ccode\u003e@​abhinav-phi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11248\"\u003evitest-dev/vitest#11248\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c7119cf7\"\u003e\u003c!-- raw HTML omitted --\u003e(7c711)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evm\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDo not optimize deps from index.html  -  by \u003ca href=\"https://github.com/ezefernandezyf\"\u003e\u003ccode\u003e@​ezefernandezyf\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11329\"\u003evitest-dev/vitest#11329\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11360\"\u003evitest-dev/vitest#11360\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/caf2887de\"\u003e\u003c!-- raw HTML omitted --\u003e(caf28)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't reuse scripts across vite environments  -  by \u003ca href=\"https://github.com/MO2k4\"\u003e\u003ccode\u003e@​MO2k4\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eMartin Oehlert\u003c/strong\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11395\"\u003evitest-dev/vitest#11395\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/346d3896b\"\u003e\u003c!-- raw HTML omitted --\u003e(346d3)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v5.0.2...v5.0.3\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev5.0.2\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBind \u003ccode\u003eprocess\u003c/code\u003e in case global is overwritten  -  by \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/11343\"\u003evitest-dev/vitest#11343\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0b79231ad\"\u003e\u003c!-- raw HTML omitted --\u003e(0b792)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edetect-async-leaks\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eIgnore \u003ccode\u003eprocess.stdio\u003c/code\u003e handles  -  by \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/11333\"\u003evitest-dev/vitest#11333\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0fd6b9790\"\u003e\u003c!-- raw HTML omitted --\u003e(0fd6b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003etoMatchObject\u003c/code\u003e with asymmetric matchers  -  by \u003ca href=\"https://github.com/ShreeBohara\"\u003e\u003ccode\u003e@​ShreeBohara\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 5\u003c/strong\u003e, \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-5)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11100\"\u003evitest-dev/vitest#11100\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/42523289e\"\u003e\u003c!-- raw HTML omitted --\u003e(42523)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ejsdom\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eRequest\u003c/code\u003e with \u003ccode\u003eBlob\u003c/code\u003e body on jsdom 28+  -  by \u003ca href=\"https://github.com/harshit-d3v\"\u003e\u003ccode\u003e@​harshit-d3v\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11295\"\u003evitest-dev/vitest#11295\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d1c3ecc93\"\u003e\u003c!-- raw HTML omitted --\u003e(d1c3e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporter\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eagent\u003c/code\u003e to respect \u003ccode\u003e--silent\u003c/code\u003e  -  by \u003ca href=\"https://github.com/Raj4478\"\u003e\u003ccode\u003e@​Raj4478\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/11271\"\u003evitest-dev/vitest#11271\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5b95efb6d\"\u003e\u003c!-- raw HTML omitted --\u003e(5b95e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporters\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eHandle concurrent \u003ccode\u003ecreateReport\u003c/code\u003e calls  -  by \u003ca href=\"https://github.com/7rulnik\"\u003e\u003ccode\u003e@​7rulnik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11278\"\u003evitest-dev/vitest#11278\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e8e556ff7\"\u003e\u003c!-- raw HTML omitted --\u003e(e8e55)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ehanging-process\u003c/code\u003e to use ESM entrypoint  -  by \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/11316\"\u003evitest-dev/vitest#11316\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4e91e5668\"\u003e\u003c!-- raw HTML omitted --\u003e(4e91e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003espy\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix stack overflow when spying \u003ccode\u003eSet.prototype.add\u003c/code\u003e  -  by \u003ca href=\"https://github.com/fengmk2\"\u003e\u003ccode\u003e@​fengmk2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11299\"\u003evitest-dev/vitest#11299\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a0a939653\"\u003e\u003c!-- raw HTML omitted --\u003e(a0a93)\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/33cadea62e8763c455c7fca38d9ab1dda87c5f75\"\u003e\u003ccode\u003e33cadea\u003c/code\u003e\u003c/a\u003e chore: release v5.0.3 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11409\"\u003e#11409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a029e76a9e72ebdd468452ee1bb788bbe5dc635e\"\u003e\u003ccode\u003ea029e76\u003c/code\u003e\u003c/a\u003e chore: migrate to oxc (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11367\"\u003e#11367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/428e2e5043c64635b6b157358bde2fdeaa7b6b3a\"\u003e\u003ccode\u003e428e2e5\u003c/code\u003e\u003c/a\u003e chore: release v5.0.2 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11357\"\u003e#11357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v5.0.3/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.1.0 to 30.1.2\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\u003ev30.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated URLs to support Unicode v18.0.0 in internationalized domain names.\u003c/li\u003e\n\u003cli\u003eReduced package size and memory use for CSS property definitions. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (\u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an \u003ccode\u003einitial\u003c/code\u003e reset. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.\u003c/li\u003e\n\u003cli\u003eFixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.\u003c/li\u003e\n\u003cli\u003eFixed computed styles for \u003ccode\u003e:focus\u003c/code\u003e, \u003ccode\u003e:focus-visible\u003c/code\u003e, \u003ccode\u003e:focus-within\u003c/code\u003e, and selectors containing them after focus changes, including inside focus and blur listeners. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (\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 throwing for elements without inline-style support, including XML and MathML elements.\u003c/li\u003e\n\u003cli\u003eFixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after \u003ccode\u003ewindow.close()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed memory growth from long-lived \u003ccode\u003eMutationObserver\u003c/code\u003e instances retaining bookkeeping for garbage-collected nodes. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed retained \u003ccode\u003eselect.selectedOptions\u003c/code\u003e collections becoming stale after selection changes and form resets.\u003c/li\u003e\n\u003cli\u003eFixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.\u003c/li\u003e\n\u003cli\u003eFixed handling of deeply nested \u003ccode\u003ecolor-mix()\u003c/code\u003e expressions, including exceptions during color resolution. (\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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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/a23bfb72b5a3fc776db51ae1bccabf46af8a9e38\"\u003e\u003ccode\u003ea23bfb7\u003c/code\u003e\u003c/a\u003e 30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/64a75d240db0744cbfeff6f740b07c4da47cee99\"\u003e\u003ccode\u003e64a75d2\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/7bf9653bf12f8ed61255fddf065b1f27afbb6993\"\u003e\u003ccode\u003e7bf9653\u003c/code\u003e\u003c/a\u003e Invalidate styles after CSSOM and control state changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/fe9009c91a09dedd6519c65d8d5b266cce400fa2\"\u003e\u003ccode\u003efe9009c\u003c/code\u003e\u003c/a\u003e Update focused area handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a8d28b3ec0ae3f747a2a8bd2547517c358d00f9a\"\u003e\u003ccode\u003ea8d28b3\u003c/code\u003e\u003c/a\u003e Release windows retained by stylesheet parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/05a2c01549640ad820f6681e0549bf4aab316bbf\"\u003e\u003ccode\u003e05a2c01\u003c/code\u003e\u003c/a\u003e Deduplicate generated CSS property metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/1efa190736aa040ac1264e9009fa809d45d98c28\"\u003e\u003ccode\u003e1efa190\u003c/code\u003e\u003c/a\u003e Reduce generated CSS property data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a372e12fd6eeedadc16c11a12e7c155b8cba7c46\"\u003e\u003ccode\u003ea372e12\u003c/code\u003e\u003c/a\u003e Avoid Document named-property rebuilds after irrelevant tree mutations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b2cd235170228c83cafe6d0ff542419aa7fa6221\"\u003e\u003ccode\u003eb2cd235\u003c/code\u003e\u003c/a\u003e Update css-color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0542d2b8efe917ed37423d37f63488851613058d\"\u003e\u003ccode\u003e0542d2b\u003c/code\u003e\u003c/a\u003e Release idle MutationObserver bookkeeping\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.1.0...v30.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lint-staged` from 17.5.1 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/lint-staged/lint-staged/releases\"\u003elint-staged's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.6.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1850\"\u003e#1850\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/938d3f43d07cbd74f08052dfb8a7380ce8868180\"\u003e\u003ccode\u003e938d3f4\u003c/code\u003e\u003c/a\u003e - Task functions like \u003ccode\u003e{ title, task }\u003c/code\u003e can now use a logger function \u003ccode\u003elog()\u003c/code\u003e to emit output while the task runs. By default, the output will only be visible if the task fails, unless the \u003ccode\u003e--verbose\u003c/code\u003e option was used. Additionally, when the task rejects, the error will be shown in the output.\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { defineConfig } from 'lint-staged/config'\n\u003cp\u003eexport default defineConfig({\n'*': {\ntitle: 'Fail if PDF files are committed',\ntask: async (filepaths, { log }) =\u0026gt; {\nconst pdfFiles = filepaths.filter((f) =\u0026gt; f.toLowerCase().endsWith('.pdf'))\nif (pdfFiles.length \u0026gt; 0) {\nlog('PDF files should not be committed: %s', pdfFiles)\nthrow new Error('Failed')\n}\n},\n},\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/lint-staged/lint-staged/pull/1854\"\u003e#1854\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/30562bcbc5267bdb733c257c79c0a65c34465ba3\"\u003e\u003ccode\u003e30562bc\u003c/code\u003e\u003c/a\u003e - \u003cem\u003elint-staged\u003c/em\u003e now stages changes to \u003cstrong\u003eall tracked files modified by tasks\u003c/strong\u003e, including files that weren’t originally staged or didn’t match the configured globs. This can happen when your task has side-effects, or it's a function that ignores the staged files like \u003ccode\u003e() =\u0026gt; \u0026quot;prettier --write .\u0026quot;\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eIf you have unstaged changes in a file and the task also edits that file, your unstaged changes will be staged too. Use \u003ccode\u003e--hide-unstaged\u003c/code\u003e to hide your changes while tasks run.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1860\"\u003e#1860\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/4296532155fb893ab8f754a47f3518f691fd4d98\"\u003e\u003ccode\u003e4296532\u003c/code\u003e\u003c/a\u003e - The assignment of staged files to \u003cem\u003elint-staged\u003c/em\u003e configuration files (when using multiple, for example in a monorepo) has been rewritten to be more efficient. As a reminder, each staged file is assigned to exactly one configuration (the closest one), even if that config doesn't match the file in its globs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1861\"\u003e#1861\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/c45f28af47a540730de2bf22fddedeb8fac5952a\"\u003e\u003ccode\u003ec45f28a\u003c/code\u003e\u003c/a\u003e - Fix running parallel tasks for a single glob, when tasks are created by a function. Nesting one level of arrays inside an array of tasks will result in the inner tasks running in parallel. This behavior should now be consistent when creating tasks using functions. In the following example \u003ccode\u003eeslint\u003c/code\u003e and \u003ccode\u003eprettier\u003c/code\u003e will run in parallel (for all files, when any JS files are staged):\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { defineConfig } from 'lint-staged/config'\n\u003cp\u003eexport default defineConfig({\n'*.js': () =\u0026gt; [['eslint --max-warnings=0 .', 'prettier --list-different .']],\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/lint-staged/lint-staged/pull/1859\"\u003e#1859\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/f0ea69dc67399e504a08db67594f697d4c24df6d\"\u003e\u003ccode\u003ef0ea69d\u003c/code\u003e\u003c/a\u003e - Various performance improvements from skipping redundant internal Git calls.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1856\"\u003e#1856\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/69d7d17ca6d3b10f2ececf8b2756c1927a627821\"\u003e\u003ccode\u003e69d7d17\u003c/code\u003e\u003c/a\u003e - Partially staged changes are hidden in a uniquely-named patch file to avoid multiple invocations of \u003cem\u003elint-staged\u003c/em\u003e overwriting it. This makes it safer to run \u003cem\u003elint-staged\u003c/em\u003e in multiple worktrees at the same time.\u003c/p\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/lint-staged/lint-staged/blob/main/CHANGELOG.md\"\u003elint-staged's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e17.6.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1850\"\u003e#1850\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/938d3f43d07cbd74f08052dfb8a7380ce8868180\"\u003e\u003ccode\u003e938d3f4\u003c/code\u003e\u003c/a\u003e - Task functions like \u003ccode\u003e{ title, task }\u003c/code\u003e can now use a logger function \u003ccode\u003elog()\u003c/code\u003e to emit output while the task runs. By default, the output will only be visible if the task fails, unless the \u003ccode\u003e--verbose\u003c/code\u003e option was used. Additionally, when the task rejects, the error will be shown in the output.\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { defineConfig } from 'lint-staged/config'\n\u003cp\u003eexport default defineConfig({\n'*': {\ntitle: 'Fail if PDF files are committed',\ntask: async (filepaths, { log }) =\u0026gt; {\nconst pdfFiles = filepaths.filter((f) =\u0026gt; f.toLowerCase().endsWith('.pdf'))\nif (pdfFiles.length \u0026gt; 0) {\nlog('PDF files should not be committed: %s', pdfFiles)\nthrow new Error('Failed')\n}\n},\n},\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/lint-staged/lint-staged/pull/1854\"\u003e#1854\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/30562bcbc5267bdb733c257c79c0a65c34465ba3\"\u003e\u003ccode\u003e30562bc\u003c/code\u003e\u003c/a\u003e - \u003cem\u003elint-staged\u003c/em\u003e now stages changes to \u003cstrong\u003eall tracked files modified by tasks\u003c/strong\u003e, including files that weren’t originally staged or didn’t match the configured globs. This can happen when your task has side-effects, or it's a function that ignores the staged files like \u003ccode\u003e() =\u0026gt; \u0026quot;prettier --write .\u0026quot;\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eIf you have unstaged changes in a file and the task also edits that file, your unstaged changes will be staged too. Use \u003ccode\u003e--hide-unstaged\u003c/code\u003e to hide your changes while tasks run.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1860\"\u003e#1860\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/4296532155fb893ab8f754a47f3518f691fd4d98\"\u003e\u003ccode\u003e4296532\u003c/code\u003e\u003c/a\u003e - The assignment of staged files to \u003cem\u003elint-staged\u003c/em\u003e configuration files (when using multiple, for example in a monorepo) has been rewritten to be more efficient. As a reminder, each staged file is assigned to exactly one configuration (the closest one), even if that config doesn't match the file in its globs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1861\"\u003e#1861\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/c45f28af47a540730de2bf22fddedeb8fac5952a\"\u003e\u003ccode\u003ec45f28a\u003c/code\u003e\u003c/a\u003e - Fix running parallel tasks for a single glob, when tasks are created by a function. Nesting one level of arrays inside an array of tasks will result in the inner tasks running in parallel. This behavior should now be consistent when creating tasks using functions. In the following example \u003ccode\u003eeslint\u003c/code\u003e and \u003ccode\u003eprettier\u003c/code\u003e will run in parallel (for all files, when any JS files are staged):\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { defineConfig } from 'lint-staged/config'\n\u003cp\u003eexport default defineConfig({\n'*.js': () =\u0026gt; [['eslint --max-warnings=0 .', 'prettier --list-different .']],\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/lint-staged/lint-staged/pull/1859\"\u003e#1859\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/f0ea69dc67399e504a08db67594f697d4c24df6d\"\u003e\u003ccode\u003ef0ea69d\u003c/code\u003e\u003c/a\u003e - Various performance improvements from skipping redundant internal Git calls.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1856\"\u003e#1856\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/69d7d17ca6d3b10f2ececf8b2756c1927a627821\"\u003e\u003ccode\u003e69d7d17\u003c/code\u003e\u003c/a\u003e - Partially staged changes are hidden in a uniquely-named patch file to avoid multiple invocations of \u003cem\u003elint-staged\u003c/em\u003e overwriting it. This makes it safer to run \u003cem\u003elint-staged\u003c/em\u003e in multiple worktrees at the same time.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/48f9f4ea4b88eb605de3546e4599083de7a394b2\"\u003e\u003ccode\u003e48f9f4e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1857\"\u003e#1857\u003c/a\u003e from lint-staged/changeset-release/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/16b2e213efeec330f7e1576a8d35776822bf698a\"\u003e\u003ccode\u003e16b2e21\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/195f15677da877431b63dfd001e1ed9369bb1479\"\u003e\u003ccode\u003e195f156\u003c/code\u003e\u003c/a\u003e docs: improve changeset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/0ba6261cabfdade60e487385ebec4fc2b4b44309\"\u003e\u003ccode\u003e0ba6261\u003c/code\u003e\u003c/a\u003e fix: create hidden directory only when required\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/66ac2de6f71d19256cc5d11026d37e653af11549\"\u003e\u003ccode\u003e66ac2de\u003c/code\u003e\u003c/a\u003e docs: fixes to changesets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/80af8d7f8246c4246cdf8b53229bd1bf7763f959\"\u003e\u003ccode\u003e80af8d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1863\"\u003e#1863\u003c/a\u003e from lint-staged/fix-issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e4334881d49d94669bc2b2fb5a73705d822c69bb\"\u003e\u003ccode\u003ee433488\u003c/code\u003e\u003c/a\u003e fix: handle task editing a symlinked file to a regular file, and --fail-on-ch...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e5019b32138e301c777c683f95e4a1e17362845f\"\u003e\u003ccode\u003ee5019b3\u003c/code\u003e\u003c/a\u003e fix: handle trailing newlines when detecting changed files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/74efec85fa276618837d3c4602062ef30d16abf1\"\u003e\u003ccode\u003e74efec8\u003c/code\u003e\u003c/a\u003e ci: run Cygwin and MSYS2 tests on Node.js 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/655b7dcd9f7eb57a6f574f03be371190afeb9f5c\"\u003e\u003ccode\u003e655b7dc\u003c/code\u003e\u003c/a\u003e fix: use TypeScript types instead of JSDoc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lint-staged/lint-staged/compare/v17.5.1...v17.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.9.8 to 3.9.9\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.9.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\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.9.9/CHANGELOG.md#399\"\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.9.9\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.8...3.9.9\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"md\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here.\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.8 --\u0026gt;\u003cbr /\u003e\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003efrom\u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.9 --\u0026gt;\u003cbr /\u003e\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003e from \u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\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/prettier/prettier/commit/cdd17f2288b28b170a76416c72dac56e3ea5daff\"\u003e\u003ccode\u003ecdd17f2\u003c/code\u003e\u003c/a\u003e Release 3.9.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dc7b8968e678f51ea00e2be3fe8c717d114691a3\"\u003e\u003ccode\u003edc7b896\u003c/code\u003e\u003c/a\u003e Disable \u003ccode\u003esingleDollarTextMath\u003c/code\u003e in \u003ccode\u003emdast-util-math\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/20140\"\u003e#20140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/f9be58fb8ec62dd47197ea19a30aac5ad26dfee0\"\u003e\u003ccode\u003ef9be58f\u003c/code\u003e\u003c/a\u003e Git blame ignore 3.9.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/88470cb79ca3b757dd6b93906d9a992aa1a456c3\"\u003e\u003ccode\u003e88470cb\u003c/code\u003e\u003c/a\u003e Bump Prettier dependency to 3.9.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/9559cab39eb5082c99a27e8829760c055adba841\"\u003e\u003ccode\u003e9559cab\u003c/code\u003e\u003c/a\u003e Clean changelog_unreleased\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/4fc8ee87465de8d54780273a6996d74e8e9da827\"\u003e\u003ccode\u003e4fc8ee8\u003c/code\u003e\u003c/a\u003e Update dependents count\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prettier/prettier/compare/3.9.8...3.9.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tsx` from 4.23.14 to 4.23.15\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.23.15\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.23.14...v4.23.15\"\u003e4.23.15\u003c/a\u003e (2026-09-20)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eexclude bare builtins from namespace inheritance (\u003ca href=\"https://github.com/privatenumber/tsx/commit/38e158857e50bca311be7c232a5057e5a2e5347a\"\u003e38e1588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose require.cache and require.extensions to tsImport CommonJS modules (\u003ca href=\"https://github.com/privatenumber/tsx/commit/2da34075afaed43e2b7fd0aca5fbebaaf337ff3a\"\u003e2da3407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake namespaced register() overloads portable for declaration emit (\u003ca href=\"https://github.com/privatenumber/tsx/commit/562c434a5c8695e74327bbeb51cfeb9b86fc7e15\"\u003e562c434\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.23.15\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\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/privatenumber/tsx/commit/ca66105a17a2a4c6503fe3a12b5b9ec408286011\"\u003e\u003ccode\u003eca66105\u003c/code\u003e\u003c/a\u003e test: fix drive-less file URLs in ESM resolver fixtures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/2da34075afaed43e2b7fd0aca5fbebaaf337ff3a\"\u003e\u003ccode\u003e2da3407\u003c/code\u003e\u003c/a\u003e fix: expose require.cache and require.extensions to tsImport CommonJS modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/38e158857e50bca311be7c232a5057e5a2e5347a\"\u003e\u003ccode\u003e38e1588\u003c/code\u003e\u003c/a\u003e fix: exclude bare builtins from namespace inheritance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/562c434a5c8695e74327bbeb51cfeb9b86fc7e15\"\u003e\u003ccode\u003e562c434\u003c/code\u003e\u003c/a\u003e fix: make namespaced register() overloads portable for declaration emit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/edfb1f05a3f40b879a41a03a0801c2abd3a3ecf9\"\u003e\u003ccode\u003eedfb1f0\u003c/code\u003e\u003c/a\u003e build: upgrade pkgroll and externalize CJS loader reference\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/70e78284837c859f09b96cd10cd71d007aa4b795\"\u003e\u003ccode\u003e70e7828\u003c/code\u003e\u003c/a\u003e test: upgrade tinyspy for disposable API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/9ed2022dfa9ea1be9511fe6abcde8110c25055a7\"\u003e\u003ccode\u003e9ed2022\u003c/code\u003e\u003c/a\u003e ci: avoid duplicate release notifications\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/872e77ffc5e96ca5c4727e74c0694debcb26219b\"\u003e\u003ccode\u003e872e77f\u003c/code\u003e\u003c/a\u003e refactor: use disposables for cleanup\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.23.14...v4.23.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 5.0.1 to 5.0.3\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\u003ev5.0.3\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIsolate \u003ccode\u003eresult.status\u003c/code\u003e between \u003ccode\u003erepeats\u003c/code\u003e runs  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11218\"\u003evitest-dev/vitest#11218\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5dbebe9e3\"\u003e\u003c!-- raw HTML omitted --\u003e(5dbeb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't print an interceptor warning in browser mode  -  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/11377\"\u003evitest-dev/vitest#11377\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/15cc006aa\"\u003e\u003c!-- raw HTML omitted --\u003e(15cc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't retry when \u003ccode\u003etest.fails\u003c/code\u003e expectedly failed  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11219\"\u003evitest-dev/vitest#11219\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b24585f08\"\u003e\u003c!-- raw HTML omitted --\u003e(b2458)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eScope cache key generators to projects  -  by \u003ca href=\"https://github.com/ecoyoung\"\u003e\u003ccode\u003e@​ecoyoung\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11281\"\u003evitest-dev/vitest#11281\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11301\"\u003evitest-dev/vitest#11301\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/92ba7fc1d\"\u003e\u003c!-- raw HTML omitted --\u003e(92ba7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDelay server \u003ccode\u003elisten\u003c/code\u003e until tests start running  -  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/11366\"\u003evitest-dev/vitest#11366\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d8ed3e9b\"\u003e\u003c!-- raw HTML omitted --\u003e(7d8ed)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck mock path boundaries  -  by \u003ca href=\"https://github.com/saryn17\"\u003e\u003ccode\u003e@​saryn17\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eRyosei Sato\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/11361\"\u003evitest-dev/vitest#11361\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11362\"\u003evitest-dev/vitest#11362\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1c3888bce\"\u003e\u003c!-- raw HTML omitted --\u003e(1c388)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep config of browser-consumed environments  -  by \u003ca href=\"https://github.com/kasperpeulen\"\u003e\u003ccode\u003e@​kasperpeulen\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11378\"\u003evitest-dev/vitest#11378\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/aafc0996f\"\u003e\u003c!-- raw HTML omitted --\u003e(aafc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore page crash while cancelling  -  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/11386\"\u003evitest-dev/vitest#11386\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c36748fa\"\u003e\u003c!-- raw HTML omitted --\u003e(7c367)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etoMatchScreenshot\u003c/code\u003e uses wrong reference on retried tests  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.c...\n\n_Description has been truncated_","html_url":"https://github.com/BasileChretien/sigmacv/pull/537","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/BasileChretien%2Fsigmacv/issues/537","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/537/packages"},{"uuid":"5737209479","node_id":"PR_kwDOInNSaM8AAAABHBWbQg","number":2421,"state":"open","title":"Bump the production group with 13 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-07T00:16:58.000Z","updated_at":"2026-10-07T12:03:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production","update_count":13,"packages":[{"name":"@alveusgg/data","old_version":"0.79.0","new_version":"0.79.1","repository_url":"https://github.com/alveusgg/data"},{"name":"@aws-sdk/client-s3","old_version":"3.1138.0","new_version":"3.1143.0","repository_url":"https://github.com/aws/aws-sdk-js-v3"},{"name":"@aws-sdk/s3-request-presigner","old_version":"3.1138.0","new_version":"3.1143.0","repository_url":"https://github.com/aws/aws-sdk-js-v3"},{"name":"@upstash/ratelimit","old_version":"2.0.8","new_version":"2.2.0","repository_url":"https://github.com/upstash/ratelimit-js"},{"name":"@xyflow/react","old_version":"12.11.6","new_version":"12.12.0","repository_url":"https://github.com/xyflow/xyflow"},{"name":"csv-stringify","old_version":"6.8.3","new_version":"6.9.0","repository_url":"https://github.com/adaltas/node-csv"},{"name":"dompurify","old_version":"3.4.15","new_version":"3.4.16","repository_url":"https://github.com/cure53/DOMPurify"},{"name":"html-react-parser","old_version":"6.1.7","new_version":"6.1.8","repository_url":"https://github.com/remarkablemark/html-react-parser"},{"name":"jsdom","old_version":"30.0.1","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"maplibre-gl","old_version":"6.11.1","new_version":"6.11.2","repository_url":"https://github.com/maplibre/maplibre-gl-js"},{"name":"motion","old_version":"13.2.0","new_version":"13.4.6","repository_url":"https://github.com/motiondivision/motion"},{"name":"react-error-boundary","old_version":"6.1.5","new_version":"6.1.6","repository_url":"https://github.com/bvaughn/react-error-boundary"},{"name":"hono","old_version":"4.13.8","new_version":"4.13.11","repository_url":"https://github.com/honojs/hono"}],"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 production group with 13 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@alveusgg/data](https://github.com/alveusgg/data) | `0.79.0` | `0.79.1` |\n| [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.1138.0` | `3.1143.0` |\n| [@aws-sdk/s3-request-presigner](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner) | `3.1138.0` | `3.1143.0` |\n| [@upstash/ratelimit](https://github.com/upstash/ratelimit-js) | `2.0.8` | `2.2.0` |\n| [@xyflow/react](https://github.com/xyflow/xyflow/tree/HEAD/packages/react) | `12.11.6` | `12.12.0` |\n| [csv-stringify](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-stringify) | `6.8.3` | `6.9.0` |\n| [dompurify](https://github.com/cure53/DOMPurify) | `3.4.15` | `3.4.16` |\n| [html-react-parser](https://github.com/remarkablemark/html-react-parser) | `6.1.7` | `6.1.8` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.0.1` | `30.1.1` |\n| [maplibre-gl](https://github.com/maplibre/maplibre-gl-js) | `6.11.1` | `6.11.2` |\n| [motion](https://github.com/motiondivision/motion) | `13.2.0` | `13.4.6` |\n| [react-error-boundary](https://github.com/bvaughn/react-error-boundary) | `6.1.5` | `6.1.6` |\n| [hono](https://github.com/honojs/hono) | `4.13.8` | `4.13.11` |\n\nUpdates `@alveusgg/data` from 0.79.0 to 0.79.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alveusgg/data/commit/2c7e48aba9e307b5740855a19a35d0a90de71d5b\"\u003e\u003ccode\u003e2c7e48a\u003c/code\u003e\u003c/a\u003e Remove birth date for colonies (\u003ca href=\"https://redirect.github.com/alveusgg/data/issues/332\"\u003e#332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alveusgg/data/commit/aee12cd572ad1afc9f17db28b5f140af8617265f\"\u003e\u003ccode\u003eaee12cd\u003c/code\u003e\u003c/a\u003e Bump the development group with 4 updates (\u003ca href=\"https://redirect.github.com/alveusgg/data/issues/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alveusgg/data/commit/1b203e8181eba583ad5fba250ceaa1c978b11f08\"\u003e\u003ccode\u003e1b203e8\u003c/code\u003e\u003c/a\u003e Bump the development group across 1 directory with 4 updates (\u003ca href=\"https://redirect.github.com/alveusgg/data/issues/330\"\u003e#330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/alveusgg/data/compare/0.79.0...0.79.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@aws-sdk/client-s3` from 3.1138.0 to 3.1143.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-js-v3/releases\"\u003e@​aws-sdk/client-s3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1143.0\u003c/h2\u003e\n\u003ch4\u003e3.1143.0(2026-09-29)\u003c/h4\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient-inspector2:\u003c/strong\u003e  The ListFindingAggregations API now includes Low, Informational, and Untriaged counts alongside the existing severity counts in SeverityCounts. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/523ef40220620bd79aa004d6f67840c3133e1eec\"\u003e523ef402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-appstream:\u003c/strong\u003e  Add support for NVIDIA GRID driver version metadata in Workspace Applications image responses through the new ImageSoftwareMetadata field. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/87e9c22fa0785b557e3088ad3b1241488c36556b\"\u003e87e9c22f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-bedrock-agent-runtime:\u003c/strong\u003e  Amazon Bedrock Agentic Retrieve now supports the Bedrock Mantle (OpenAI Responses) endpoint via a new MantleFoundationModel configuration with an optional projectId. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/9529fe9e8ef1a92a5b0e782e0c9d1482f535c42b\"\u003e9529fe9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-sagemaker:\u003c/strong\u003e  Adds support for cpu flex type instances on SageMaker Training and Processing. Also contains minor updates to DescribeTrainingPlan to support ARN inputs. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/ca45f9e935ea650158af9afec74f2fdf96750cca\"\u003eca45f9e9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-opensearch:\u003c/strong\u003e  Amazon OpenSearch Service now supports advisory pre-validations for domain config changes. Non-critical checks now surface as warnings you can acknowledge (via the new AcceptedWarnings parameter) and proceed, instead of hard-blocking. Severity is reported in change-progress and dry-run results. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/2419dc69e0b38ed27c569e2cad2a6440ee7f5a81\"\u003e2419dc69\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-securityagent:\u003c/strong\u003e  Adds support for Azure DevOps and Bitbucket Data Center integration providers. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8fda1d1640f54a7a6346f6d18d6aa681f806a280\"\u003e8fda1d16\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-transfer:\u003c/strong\u003e  AWS Transfer Family now supports configuring up to three custom ports on public SFTP servers, instead of the single default port 22. You can also set each port's communication mode (server-talk-first or client-talk-first) so legacy and modern SFTP clients connect reliably. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/b5745934ce4f8cb3f054a1562866b5b6c15df80c\"\u003eb5745934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-mediatailor:\u003c/strong\u003e  AWS Elemental MediaTailor now supports beaconing configuration on playback configurations. In Insights reporting mode, MediaTailor will now gather client side beaconing metrics. Set the reporting mode to Disabled to turn this off. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/99e75af39ef631d89a3fdf1bf3667699829a3273\"\u003e99e75af3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-deadline:\u003c/strong\u003e  AWS Deadline Cloud now supports Docker software add-ons on service-managed fleets. Adds support for Open Job Description EXPR and Feature Bundle 1 job templates with typed job parameters and job, step, and parameter names up to 512 characters. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/33fcaa7bc7018afb77a5f918d9adc147cfb27666\"\u003e33fcaa7b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-identitystore:\u003c/strong\u003e  Add support for network access controls to restrict Identity Store API and SCIM access to trusted networks, optimistic locking for users and groups via resource revisions, and resource ARNs as identifiers in requests. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/b1ec66e6f34cb11a7326d83560d7812d6515fc03\"\u003eb1ec66e6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-elementalinference:\u003c/strong\u003e  Adds an extendedAnalysis setting to contextual metadata outputs to control detection of people, environments, brands, and on-screen text, and updates the summaryGeneration documentation. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/c121ec60ca55614ab2106d5b6296fd871ca45c53\"\u003ec121ec60\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-elasticache:\u003c/strong\u003e  Amazon ElastiCache Serverless now supports public endpoints for Valkey caches. With the new Connection Type parameter, you can create a serverless cache accessible over the internet without any VPC configuration. Public endpoint caches require IAM authentication. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/c674d6c7c9cb81956bc33864b996e1516ba4dfe3\"\u003ec674d6c7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-ec2:\u003c/strong\u003e  Adds the LaunchStatus field to CapacityReservation in the DescribeCapacityReservations response. This field indicates whether you can currently launch instances into an UltraServer. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/5bb9e1160a914a0c45cfe017bcc60450bd439be9\"\u003e5bb9e116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-glue:\u003c/strong\u003e  Add support for Glue system-managed materialized views. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/bddd698de450c58a1097b54ff321e951b7bd0dd3\"\u003ebddd698d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-rds:\u003c/strong\u003e  Adds the TargetResourceConfigurations parameter to CreateBlueGreenDeployment, letting you specify a target KMS key for each resource in the green environment. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6875fe52a1ed468629bbec18be8e10200ee5317b\"\u003e6875fe52\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-sesv2:\u003c/strong\u003e  Added Filter support for ListTenants, ListEmailIdentities, and ListConfigurationSets APIs. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/aa080a6f76a996c62f1613f68fa2e34ccdf08308\"\u003eaa080a6f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eBug Fixes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elib-transfer-manager:\u003c/strong\u003e  retry worker path download part failures (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8285\"\u003e#8285\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/13f49fff196a19bca13f69f153d57a2262055e5c\"\u003e13f49fff\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eTests\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eundici-http-handler:\u003c/strong\u003e  temporarily skip e2e test (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8320\"\u003e#8320\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/2c59e39469a7c32c1aca8b82d908b8abc7a7a7e4\"\u003e2c59e394\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eFor list of updated packages, view \u003cstrong\u003eupdated-packages.md\u003c/strong\u003e in \u003cstrong\u003eassets-3.1143.0.zip\u003c/strong\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1142.0\u003c/h2\u003e\n\u003ch4\u003e3.1142.0(2026-09-28)\u003c/h4\u003e\n\u003ch5\u003eChores\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eci:\u003c/strong\u003e  add format-check workflow for lint and formatting (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8316\"\u003e#8316\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6f16c4331a9251f6763b14c0d8901909c96f46d9\"\u003e6f16c433\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient-billing:\u003c/strong\u003e  Adds support for (a) listing Business Support account charges via ListBusinessSupportAccountCharges and (b) subscription history via ListBusinessSupportSubscriptionHistory through the AWS Billing API. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6352ff06030a0253a1175853aa1723fa05b9de8a\"\u003e6352ff06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-eks:\u003c/strong\u003e  An optional customer provided prefix used to construct the hostname of the Argo CD server endpoint for EKS Argo CD Capability. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/373ebbd8a9b9b6adddadc8c12e935782357c74e2\"\u003e373ebbd8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-agent-registry-control:\u003c/strong\u003e  AWS Agent Registry adds support for custom metadata. Define a typed metadata schema on your registry and attach structured key-value metadata to registry records. Schemas are additive only. Enforcement is progressive. Records show a compliance status computed against the current schema. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/19adcfee1c1c18c21ccc32cbff2c8f1e4347cad7\"\u003e19adcfee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-ec2:\u003c/strong\u003e  API changes to AWS Client VPN to support device posture assessment and Cedar authorization policies (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6afa3ce42e13620f18ae182d0fc1ab2fb91bc742\"\u003e6afa3ce4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-connect:\u003c/strong\u003e  This release adds ConnectionTypes and ChatStreamingConfiguration to StartChatContact, and ConnectionCredentials, Websocket, and StreamingId to its response, so customers can request connection information and chat streaming in the same call that starts the chat. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/21e76d11be702bb166ef281ac2e14b56e290c13a\"\u003e21e76d11\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-guardduty:\u003c/strong\u003e  Adding awsServiceName field to GuardDuty Findings (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/f466e44ecbad61490397a2ecd51d8ea197c76ded\"\u003ef466e44e\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/aws/aws-sdk-js-v3/blob/main/clients/client-s3/CHANGELOG.md\"\u003e@​aws-sdk/client-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1142.0...v3.1143.0\"\u003e3.1143.0\u003c/a\u003e (2026-09-29)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1141.0...v3.1142.0\"\u003e3.1142.0\u003c/a\u003e (2026-09-28)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1140.0...v3.1141.0\"\u003e3.1141.0\u003c/a\u003e (2026-09-25)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1139.0...v3.1140.0\"\u003e3.1140.0\u003c/a\u003e (2026-09-24)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1138.0...v3.1139.0\"\u003e3.1139.0\u003c/a\u003e (2026-09-23)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\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/aws/aws-sdk-js-v3/commit/81afad00ca9394ca4d767468216743ac3ba90fb1\"\u003e\u003ccode\u003e81afad0\u003c/code\u003e\u003c/a\u003e Publish v3.1143.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/c935fdd2bc9b36c689ef8e17b75c57bf9a780990\"\u003e\u003ccode\u003ec935fdd\u003c/code\u003e\u003c/a\u003e Publish v3.1142.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/5bc8d9a96936723ac90d721e0c5a2bff7ee8520d\"\u003e\u003ccode\u003e5bc8d9a\u003c/code\u003e\u003c/a\u003e Publish v3.1141.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6050a3813c26795562b5ada8b0d9ea498eb9f8a1\"\u003e\u003ccode\u003e6050a38\u003c/code\u003e\u003c/a\u003e Publish v3.1140.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/03d54a858f80012bbc60046a77242223e8dfd9d9\"\u003e\u003ccode\u003e03d54a8\u003c/code\u003e\u003c/a\u003e Publish v3.1139.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commits/v3.1143.0/clients/client-s3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@aws-sdk/s3-request-presigner` from 3.1138.0 to 3.1143.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-js-v3/releases\"\u003e@​aws-sdk/s3-request-presigner's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1143.0\u003c/h2\u003e\n\u003ch4\u003e3.1143.0(2026-09-29)\u003c/h4\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient-inspector2:\u003c/strong\u003e  The ListFindingAggregations API now includes Low, Informational, and Untriaged counts alongside the existing severity counts in SeverityCounts. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/523ef40220620bd79aa004d6f67840c3133e1eec\"\u003e523ef402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-appstream:\u003c/strong\u003e  Add support for NVIDIA GRID driver version metadata in Workspace Applications image responses through the new ImageSoftwareMetadata field. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/87e9c22fa0785b557e3088ad3b1241488c36556b\"\u003e87e9c22f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-bedrock-agent-runtime:\u003c/strong\u003e  Amazon Bedrock Agentic Retrieve now supports the Bedrock Mantle (OpenAI Responses) endpoint via a new MantleFoundationModel configuration with an optional projectId. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/9529fe9e8ef1a92a5b0e782e0c9d1482f535c42b\"\u003e9529fe9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-sagemaker:\u003c/strong\u003e  Adds support for cpu flex type instances on SageMaker Training and Processing. Also contains minor updates to DescribeTrainingPlan to support ARN inputs. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/ca45f9e935ea650158af9afec74f2fdf96750cca\"\u003eca45f9e9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-opensearch:\u003c/strong\u003e  Amazon OpenSearch Service now supports advisory pre-validations for domain config changes. Non-critical checks now surface as warnings you can acknowledge (via the new AcceptedWarnings parameter) and proceed, instead of hard-blocking. Severity is reported in change-progress and dry-run results. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/2419dc69e0b38ed27c569e2cad2a6440ee7f5a81\"\u003e2419dc69\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-securityagent:\u003c/strong\u003e  Adds support for Azure DevOps and Bitbucket Data Center integration providers. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8fda1d1640f54a7a6346f6d18d6aa681f806a280\"\u003e8fda1d16\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-transfer:\u003c/strong\u003e  AWS Transfer Family now supports configuring up to three custom ports on public SFTP servers, instead of the single default port 22. You can also set each port's communication mode (server-talk-first or client-talk-first) so legacy and modern SFTP clients connect reliably. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/b5745934ce4f8cb3f054a1562866b5b6c15df80c\"\u003eb5745934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-mediatailor:\u003c/strong\u003e  AWS Elemental MediaTailor now supports beaconing configuration on playback configurations. In Insights reporting mode, MediaTailor will now gather client side beaconing metrics. Set the reporting mode to Disabled to turn this off. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/99e75af39ef631d89a3fdf1bf3667699829a3273\"\u003e99e75af3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-deadline:\u003c/strong\u003e  AWS Deadline Cloud now supports Docker software add-ons on service-managed fleets. Adds support for Open Job Description EXPR and Feature Bundle 1 job templates with typed job parameters and job, step, and parameter names up to 512 characters. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/33fcaa7bc7018afb77a5f918d9adc147cfb27666\"\u003e33fcaa7b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-identitystore:\u003c/strong\u003e  Add support for network access controls to restrict Identity Store API and SCIM access to trusted networks, optimistic locking for users and groups via resource revisions, and resource ARNs as identifiers in requests. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/b1ec66e6f34cb11a7326d83560d7812d6515fc03\"\u003eb1ec66e6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-elementalinference:\u003c/strong\u003e  Adds an extendedAnalysis setting to contextual metadata outputs to control detection of people, environments, brands, and on-screen text, and updates the summaryGeneration documentation. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/c121ec60ca55614ab2106d5b6296fd871ca45c53\"\u003ec121ec60\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-elasticache:\u003c/strong\u003e  Amazon ElastiCache Serverless now supports public endpoints for Valkey caches. With the new Connection Type parameter, you can create a serverless cache accessible over the internet without any VPC configuration. Public endpoint caches require IAM authentication. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/c674d6c7c9cb81956bc33864b996e1516ba4dfe3\"\u003ec674d6c7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-ec2:\u003c/strong\u003e  Adds the LaunchStatus field to CapacityReservation in the DescribeCapacityReservations response. This field indicates whether you can currently launch instances into an UltraServer. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/5bb9e1160a914a0c45cfe017bcc60450bd439be9\"\u003e5bb9e116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-glue:\u003c/strong\u003e  Add support for Glue system-managed materialized views. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/bddd698de450c58a1097b54ff321e951b7bd0dd3\"\u003ebddd698d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-rds:\u003c/strong\u003e  Adds the TargetResourceConfigurations parameter to CreateBlueGreenDeployment, letting you specify a target KMS key for each resource in the green environment. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6875fe52a1ed468629bbec18be8e10200ee5317b\"\u003e6875fe52\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-sesv2:\u003c/strong\u003e  Added Filter support for ListTenants, ListEmailIdentities, and ListConfigurationSets APIs. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/aa080a6f76a996c62f1613f68fa2e34ccdf08308\"\u003eaa080a6f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eBug Fixes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elib-transfer-manager:\u003c/strong\u003e  retry worker path download part failures (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8285\"\u003e#8285\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/13f49fff196a19bca13f69f153d57a2262055e5c\"\u003e13f49fff\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eTests\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eundici-http-handler:\u003c/strong\u003e  temporarily skip e2e test (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8320\"\u003e#8320\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/2c59e39469a7c32c1aca8b82d908b8abc7a7a7e4\"\u003e2c59e394\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eFor list of updated packages, view \u003cstrong\u003eupdated-packages.md\u003c/strong\u003e in \u003cstrong\u003eassets-3.1143.0.zip\u003c/strong\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1142.0\u003c/h2\u003e\n\u003ch4\u003e3.1142.0(2026-09-28)\u003c/h4\u003e\n\u003ch5\u003eChores\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eci:\u003c/strong\u003e  add format-check workflow for lint and formatting (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8316\"\u003e#8316\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6f16c4331a9251f6763b14c0d8901909c96f46d9\"\u003e6f16c433\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient-billing:\u003c/strong\u003e  Adds support for (a) listing Business Support account charges via ListBusinessSupportAccountCharges and (b) subscription history via ListBusinessSupportSubscriptionHistory through the AWS Billing API. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6352ff06030a0253a1175853aa1723fa05b9de8a\"\u003e6352ff06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-eks:\u003c/strong\u003e  An optional customer provided prefix used to construct the hostname of the Argo CD server endpoint for EKS Argo CD Capability. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/373ebbd8a9b9b6adddadc8c12e935782357c74e2\"\u003e373ebbd8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-agent-registry-control:\u003c/strong\u003e  AWS Agent Registry adds support for custom metadata. Define a typed metadata schema on your registry and attach structured key-value metadata to registry records. Schemas are additive only. Enforcement is progressive. Records show a compliance status computed against the current schema. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/19adcfee1c1c18c21ccc32cbff2c8f1e4347cad7\"\u003e19adcfee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-ec2:\u003c/strong\u003e  API changes to AWS Client VPN to support device posture assessment and Cedar authorization policies (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6afa3ce42e13620f18ae182d0fc1ab2fb91bc742\"\u003e6afa3ce4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-connect:\u003c/strong\u003e  This release adds ConnectionTypes and ChatStreamingConfiguration to StartChatContact, and ConnectionCredentials, Websocket, and StreamingId to its response, so customers can request connection information and chat streaming in the same call that starts the chat. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/21e76d11be702bb166ef281ac2e14b56e290c13a\"\u003e21e76d11\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-guardduty:\u003c/strong\u003e  Adding awsServiceName field to GuardDuty Findings (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/f466e44ecbad61490397a2ecd51d8ea197c76ded\"\u003ef466e44e\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/aws/aws-sdk-js-v3/blob/main/packages/s3-request-presigner/CHANGELOG.md\"\u003e@​aws-sdk/s3-request-presigner's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1142.0...v3.1143.0\"\u003e3.1143.0\u003c/a\u003e (2026-09-29)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1141.0...v3.1142.0\"\u003e3.1142.0\u003c/a\u003e (2026-09-28)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1140.0...v3.1141.0\"\u003e3.1141.0\u003c/a\u003e (2026-09-25)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1139.0...v3.1140.0\"\u003e3.1140.0\u003c/a\u003e (2026-09-24)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1138.0...v3.1139.0\"\u003e3.1139.0\u003c/a\u003e (2026-09-23)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\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/aws/aws-sdk-js-v3/commit/81afad00ca9394ca4d767468216743ac3ba90fb1\"\u003e\u003ccode\u003e81afad0\u003c/code\u003e\u003c/a\u003e Publish v3.1143.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/c935fdd2bc9b36c689ef8e17b75c57bf9a780990\"\u003e\u003ccode\u003ec935fdd\u003c/code\u003e\u003c/a\u003e Publish v3.1142.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/5bc8d9a96936723ac90d721e0c5a2bff7ee8520d\"\u003e\u003ccode\u003e5bc8d9a\u003c/code\u003e\u003c/a\u003e Publish v3.1141.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6050a3813c26795562b5ada8b0d9ea498eb9f8a1\"\u003e\u003ccode\u003e6050a38\u003c/code\u003e\u003c/a\u003e Publish v3.1140.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/03d54a858f80012bbc60046a77242223e8dfd9d9\"\u003e\u003ccode\u003e03d54a8\u003c/code\u003e\u003c/a\u003e Publish v3.1139.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commits/v3.1143.0/packages/s3-request-presigner\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@upstash/ratelimit` from 2.0.8 to 2.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/upstash/ratelimit-js/releases\"\u003e@​upstash/ratelimit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: use last token successfully on cachedFixedWindow cache hits by \u003ca href=\"https://github.com/Tyagiquamar\"\u003e\u003ccode\u003e@​Tyagiquamar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/157\"\u003eupstash/ratelimit-js#157\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid negative setTimeout delay in blockUntilReady by \u003ca href=\"https://github.com/MisterJimson\"\u003e\u003ccode\u003e@​MisterJimson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/159\"\u003eupstash/ratelimit-js#159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject token-bucket requests that exceed the remaining tokens by \u003ca href=\"https://github.com/eeshsaxena\"\u003e\u003ccode\u003e@​eeshsaxena\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/156\"\u003eupstash/ratelimit-js#156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: support decimal values and week unit in duration parser by \u003ca href=\"https://github.com/Tyagiquamar\"\u003e\u003ccode\u003e@​Tyagiquamar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/158\"\u003eupstash/ratelimit-js#158\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/Tyagiquamar\"\u003e\u003ccode\u003e@​Tyagiquamar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/157\"\u003eupstash/ratelimit-js#157\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MisterJimson\"\u003e\u003ccode\u003e@​MisterJimson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/159\"\u003eupstash/ratelimit-js#159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eeshsaxena\"\u003e\u003ccode\u003e@​eeshsaxena\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/156\"\u003eupstash/ratelimit-js#156\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/upstash/ratelimit-js/compare/v2.1.0...v2.2.0\"\u003ehttps://github.com/upstash/ratelimit-js/compare/v2.1.0...v2.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDX-2363: add skill files by \u003ca href=\"https://github.com/CahidArda\"\u003e\u003ccode\u003e@​CahidArda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/148\"\u003eupstash/ratelimit-js#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDX-2278: update release to use npm OIDC by \u003ca href=\"https://github.com/CahidArda\"\u003e\u003ccode\u003e@​CahidArda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/149\"\u003eupstash/ratelimit-js#149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDX-2861: add sdk telemetry by \u003ca href=\"https://github.com/ytkimirti\"\u003e\u003ccode\u003e@​ytkimirti\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/153\"\u003eupstash/ratelimit-js#153\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: add npm bugs and homepage metadata, fix repository URL by \u003ca href=\"https://github.com/XananasX7\"\u003e\u003ccode\u003e@​XananasX7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/152\"\u003eupstash/ratelimit-js#152\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDX-2954: poll npm for the ci version instead of a fixed sleep by \u003ca href=\"https://github.com/CahidArda\"\u003e\u003ccode\u003e@​CahidArda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/155\"\u003eupstash/ratelimit-js#155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: run lua scripts with allow-key-locking flag by \u003ca href=\"https://github.com/CahidArda\"\u003e\u003ccode\u003e@​CahidArda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/154\"\u003eupstash/ratelimit-js#154\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/XananasX7\"\u003e\u003ccode\u003e@​XananasX7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/152\"\u003eupstash/ratelimit-js#152\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/upstash/ratelimit-js/compare/v2.0.8...v2.1.0\"\u003ehttps://github.com/upstash/ratelimit-js/compare/v2.0.8...v2.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.1.0-rc\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDX-2363: add skill files by \u003ca href=\"https://github.com/CahidArda\"\u003e\u003ccode\u003e@​CahidArda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/148\"\u003eupstash/ratelimit-js#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDX-2278: update release to use npm OIDC by \u003ca href=\"https://github.com/CahidArda\"\u003e\u003ccode\u003e@​CahidArda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/149\"\u003eupstash/ratelimit-js#149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDX-2861: add sdk telemetry by \u003ca href=\"https://github.com/ytkimirti\"\u003e\u003ccode\u003e@​ytkimirti\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/153\"\u003eupstash/ratelimit-js#153\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/upstash/ratelimit-js/compare/v2.0.8...v2.1.0-rc\"\u003ehttps://github.com/upstash/ratelimit-js/compare/v2.0.8...v2.1.0-rc\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/upstash/ratelimit-js/commit/fccd840d6e0f893f50bc677107fba4d913a414e3\"\u003e\u003ccode\u003efccd840\u003c/code\u003e\u003c/a\u003e feat: support decimal values and week unit in duration parser (\u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/issues/158\"\u003e#158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/ratelimit-js/commit/a955a3c7cd99961efafa655040eb27847d4a5d33\"\u003e\u003ccode\u003ea955a3c\u003c/code\u003e\u003c/a\u003e Reject token-bucket requests that exceed the remaining tokens (\u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/issues/156\"\u003e#156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/ratelimit-js/commit/8f641c642bf078937b4f623b308ebf20ac358598\"\u003e\u003ccode\u003e8f641c6\u003c/code\u003e\u003c/a\u003e fix: avoid negative setTimeout delay in blockUntilReady (\u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/issues/159\"\u003e#159\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/ratelimit-js/commit/75a956e49149ea36a889a04949e415251da7bc8e\"\u003e\u003ccode\u003e75a956e\u003c/code\u003e\u003c/a\u003e fix: use last token successfully on cachedFixedWindow cache hits (\u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/issues/157\"\u003e#157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/ratelimit-js/commit/7e071b91d801a2e9345bbd751dc544b9b935e006\"\u003e\u003ccode\u003e7e071b9\u003c/code\u003e\u003c/a\u003e feat: run lua scripts with allow-key-locking flag (\u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/issues/154\"\u003e#154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/ratelimit-js/commit/89c481bf3b836a1ef5454c0615bc201e6386826b\"\u003e\u003ccode\u003e89c481b\u003c/code\u003e\u003c/a\u003e DX-2954: poll npm for the ci version instead of a fixed sleep (\u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/issues/155\"\u003e#155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/ratelimit-js/commit/91c0bad0afe4c41a35af5217bd331bf2b2611693\"\u003e\u003ccode\u003e91c0bad\u003c/code\u003e\u003c/a\u003e chore: add npm bugs and homepage metadata, fix repository URL (\u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/issues/152\"\u003e#152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/ratelimit-js/commit/f2fc2c724b9d1c33c729c3703fc112bf9a51727a\"\u003e\u003ccode\u003ef2fc2c7\u003c/code\u003e\u003c/a\u003e DX-2861: add sdk telemetry (\u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/issues/153\"\u003e#153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/ratelimit-js/commit/5b5448a5f0bae809cd624a7c639771a8b2e227cb\"\u003e\u003ccode\u003e5b5448a\u003c/code\u003e\u003c/a\u003e DX-2479: fix package.version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/ratelimit-js/commit/589cc3e234bc06d8afc05abc9e1f035793e8e506\"\u003e\u003ccode\u003e589cc3e\u003c/code\u003e\u003c/a\u003e Rename skill from 'ratelimit-ts' to 'upstash-ratelimit-ts'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/upstash/ratelimit-js/compare/v2.0.8...v2.2.0\"\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@​upstash/ratelimit\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@xyflow/react` from 12.11.6 to 12.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/xyflow/xyflow/releases\"\u003e@​xyflow/react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​xyflow/react\u003c/code\u003e\u003ca href=\"https://github.com/12\"\u003e\u003ccode\u003e@​12\u003c/code\u003e\u003c/a\u003e.12.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/xyflow/xyflow/pull/5998\"\u003e#5998\u003c/a\u003e \u003ca href=\"https://github.com/xyflow/xyflow/commit/91a4adf4f901d2c59ed77486bc0d3ec6d3843423\"\u003e\u003ccode\u003e91a4adf\u003c/code\u003e\u003c/a\u003e - Always fire onResizeEnd after onResizeStart\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/xyflow/xyflow/pull/5998\"\u003e#5998\u003c/a\u003e \u003ca href=\"https://github.com/xyflow/xyflow/commit/91a4adf4f901d2c59ed77486bc0d3ec6d3843423\"\u003e\u003ccode\u003e91a4adf\u003c/code\u003e\u003c/a\u003e - Fix incorrect values during resize when shouldResize returns false\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/xyflow/xyflow/commit/91a4adf4f901d2c59ed77486bc0d3ec6d3843423\"\u003e\u003ccode\u003e91a4adf\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/xyflow/xyflow/commit/91a4adf4f901d2c59ed77486bc0d3ec6d3843423\"\u003e\u003ccode\u003e91a4adf\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​xyflow/system\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.0.83\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/xyflow/xyflow/blob/main/packages/react/CHANGELOG.md\"\u003e@​xyflow/react's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.12.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/xyflow/xyflow/pull/5998\"\u003e#5998\u003c/a\u003e \u003ca href=\"https://github.com/xyflow/xyflow/commit/91a4adf4f901d2c59ed77486bc0d3ec6d3843423\"\u003e\u003ccode\u003e91a4adf\u003c/code\u003e\u003c/a\u003e - Always fire onResizeEnd after onResizeStart\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/xyflow/xyflow/pull/5998\"\u003e#5998\u003c/a\u003e \u003ca href=\"https://github.com/xyflow/xyflow/commit/91a4adf4f901d2c59ed77486bc0d3ec6d3843423\"\u003e\u003ccode\u003e91a4adf\u003c/code\u003e\u003c/a\u003e - Fix incorrect values during resize when shouldResize returns false\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/xyflow/xyflow/commit/91a4adf4f901d2c59ed77486bc0d3ec6d3843423\"\u003e\u003ccode\u003e91a4adf\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/xyflow/xyflow/commit/91a4adf4f901d2c59ed77486bc0d3ec6d3843423\"\u003e\u003ccode\u003e91a4adf\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​xyflow/system\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.0.83\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xyflow/xyflow/commit/8716946b6b7f537a29049767f1a8d16c2965fe14\"\u003e\u003ccode\u003e8716946\u003c/code\u003e\u003c/a\u003e chore(packages): bump\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/xyflow/xyflow/commits/@xyflow/react@12.12.0/packages/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `csv-stringify` from 6.8.3 to 6.9.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/adaltas/node-csv/blob/master/packages/csv-stringify/CHANGELOG.md\"\u003ecsv-stringify's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/adaltas/node-csv/compare/csv-stringify@6.8.3...csv-stringify@6.9.0\"\u003e6.9.0\u003c/a\u003e (2026-09-25)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecsv-stringify:\u003c/strong\u003e expose csv error and normalize_options (\u003ca href=\"https://github.com/adaltas/node-csv/commit/963388da88d150e0ab2dafa2ad4382917c25cc06\"\u003e963388d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecsv-stringify:\u003c/strong\u003e do not alter the source record when columns is set (\u003ca href=\"https://redirect.github.com/adaltas/node-csv/issues/504\"\u003e#504\u003c/a\u003e) (\u003ca href=\"https://github.com/adaltas/node-csv/commit/041deff3f9b811e73ac0d151d00c605eaf2a00d6\"\u003e041deff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecsv-stringify:\u003c/strong\u003e preserve header cast context when eof is false (\u003ca href=\"https://redirect.github.com/adaltas/node-csv/issues/505\"\u003e#505\u003c/a\u003e) (\u003ca href=\"https://github.com/adaltas/node-csv/commit/a38ef064a099cdac907cd170d028d8ced3fb1c52\"\u003ea38ef06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecsv-stringify:\u003c/strong\u003e preserve negative numeric values (\u003ca href=\"https://redirect.github.com/adaltas/node-csv/issues/510\"\u003e#510\u003c/a\u003e) (\u003ca href=\"https://github.com/adaltas/node-csv/commit/0002d56f882eb386510ee725d318f06bfeccc9cc\"\u003e0002d56\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecsv-stringify:\u003c/strong\u003e preserve objects returned by cast functions (\u003ca href=\"https://redirect.github.com/adaltas/node-csv/issues/509\"\u003e#509\u003c/a\u003e) (\u003ca href=\"https://github.com/adaltas/node-csv/commit/1742c9ff3386f9a20e3fdcf452322e75b3a19f1a\"\u003e1742c9f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecsv-stringify:\u003c/strong\u003e quote fields containing a carriage return (\u003ca href=\"https://redirect.github.com/adaltas/node-csv/issues/485\"\u003e#485\u003c/a\u003e) (\u003ca href=\"https://github.com/adaltas/node-csv/commit/d64d410b21cf126d410c79c9448b648531a2e8af\"\u003ed64d410\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/adaltas/node-csv/commit/594c6469c4a7376c1048d13c47859c2f91674206\"\u003e\u003ccode\u003e594c646\u003c/code\u003e\u003c/a\u003e chore(release): publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adaltas/node-csv/commit/9f041459c37f881ecf2f3a2610f7b76f5df89632\"\u003e\u003ccode\u003e9f04145\u003c/code\u003e\u003c/a\u003e build: latest dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adaltas/node-csv/commit/d64d410b21cf126d410c79c9448b648531a2e8af\"\u003e\u003ccode\u003ed64d410\u003c/code\u003e\u003c/a\u003e fix(csv-stringify): quote fields containing a carriage return (\u003ca href=\"https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-stringify/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adaltas/node-csv/commit/963388da88d150e0ab2dafa2ad4382917c25cc06\"\u003e\u003ccode\u003e963388d\u003c/code\u003e\u003c/a\u003e feat(csv-stringify): expose csv error and normalize_options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adaltas/node-csv/commit/041deff3f9b811e73ac0d151d00c605eaf2a00d6\"\u003e\u003ccode\u003e041deff\u003c/code\u003e\u003c/a\u003e fix(csv-stringify): do not alter the source record when columns is set (\u003ca href=\"https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-stringify/issues/504\"\u003e#504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adaltas/node-csv/commit/a38ef064a099cdac907cd170d028d8ced3fb1c52\"\u003e\u003ccode\u003ea38ef06\u003c/code\u003e\u003c/a\u003e fix(csv-stringify): preserve header cast context when eof is false (\u003ca href=\"https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-stringify/issues/505\"\u003e#505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adaltas/node-csv/commit/8d4173d6d8dbb375ba8699cfd1d83af93b921f80\"\u003e\u003ccode\u003e8d4173d\u003c/code\u003e\u003c/a\u003e build: latest dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adaltas/node-csv/commit/c8caa1ccd262151c7d11add8fb7b454ed1d447a9\"\u003e\u003ccode\u003ec8caa1c\u003c/code\u003e\u003c/a\u003e build: generate latest dist\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adaltas/node-csv/commit/3433750d78b890cb4c05c959af259e950c4ba473\"\u003e\u003ccode\u003e3433750\u003c/code\u003e\u003c/a\u003e test: eslint format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adaltas/node-csv/commit/6c45c9b2f5aac96b2097229749a3521840cf1dc2\"\u003e\u003ccode\u003e6c45c9b\u003c/code\u003e\u003c/a\u003e build: remove npx usage in package scripts\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/adaltas/node-csv/commits/csv-stringify@6.9.0/packages/csv-stringify\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dompurify` from 3.4.15 to 3.4.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cure53/DOMPurify/releases\"\u003edompurify's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDOMPurify 3.4.16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a problem with \u003ccode\u003eIN_PLACE\u003c/code\u003e node removal when working with hooks, thanks \u003ca href=\"https://github.com/manus-pi\"\u003e\u003ccode\u003e@​manus-pi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a problem with \u003ccode\u003eIN_PLACE\u003c/code\u003e sanitization and raw-text roots, thanks \u003ca href=\"https://github.com/h-t-m\"\u003e\u003ccode\u003e@​h-t-m\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a problem with ESM default exports landing in CommonJS declarations, thanks \u003ca href=\"https://github.com/ssi02014\"\u003e\u003ccode\u003e@​ssi02014\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrated from \u003ccode\u003erollup\u003c/code\u003e to \u003ccode\u003erolldown\u003c/code\u003e because performance, thanks \u003ca href=\"https://github.com/ssi02014\"\u003e\u003ccode\u003e@​ssi02014\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBumped several dependencies where possible\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/cure53/DOMPurify/commit/b9b9d80f7e401771c2ccaef5f45def7eec8f27d7\"\u003e\u003ccode\u003eb9b9d80\u003c/code\u003e\u003c/a\u003e release: 3.4.16 (\u003ca href=\"https://redirect.github.com/cure53/DOMPurify/issues/1636\"\u003e#1636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/cure53/DOMPurify/compare/3.4.15...3.4.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `html-react-parser` from 6.1.7 to 6.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/remarkablemark/html-react-parser/releases\"\u003ehtml-react-parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/compare/v6.1.7...v6.1.8\"\u003e6.1.8\u003c/a\u003e (2026-09-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erestore instanceof Text and Comment in replace callback (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2406\"\u003e#2406\u003c/a\u003e) (\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/e16b18709d3c4adeab636af75272767219bd9c1c\"\u003ee16b187\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2256\"\u003e#2256\u003c/a\u003e \u003ca href=\"https://github.com/ashwinmridul\"\u003e\u003ccode\u003e@​ashwinmridul\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/remarkablemark/html-react-parser/blob/master/CHANGELOG.md\"\u003ehtml-react-parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/compare/v6.1.7...v6.1.8\"\u003e6.1.8\u003c/a\u003e (2026-09-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erestore instanceof Text and Comment in replace callback (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2406\"\u003e#2406\u003c/a\u003e) (\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/e16b18709d3c4adeab636af75272767219bd9c1c\"\u003ee16b187\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2256\"\u003e#2256\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/remarkablemark/html-react-parser/commit/e3d02d1f5bb55830abef0dbee978d263e8e942dc\"\u003e\u003ccode\u003ee3d02d1\u003c/code\u003e\u003c/a\u003e chore(master): release 6.1.8 (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2407\"\u003e#2407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/8f377228935990c934b31141fa1c1bd7f6f88b1a\"\u003e\u003ccode\u003e8f37722\u003c/code\u003e\u003c/a\u003e build(package): upgrade devDependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/cd0228cf4f246ca7f5958fc6724d29be3998acbb\"\u003e\u003ccode\u003ecd0228c\u003c/code\u003e\u003c/a\u003e build(package): remove unused globals and tidy eslint config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/7e9e1b1a36855d40453e369ffa95e5d49d13e7ba\"\u003e\u003ccode\u003e7e9e1b1\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump rollup from 4.63.2 to 4.63.3 (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2408\"\u003e#2408\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/e16b18709d3c4adeab636af75272767219bd9c1c\"\u003e\u003ccode\u003ee16b187\u003c/code\u003e\u003c/a\u003e fix: restore instanceof Text and Comment in replace callback (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2406\"\u003e#2406\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/0c9092cc53c6f5320442dadc42e550bfb89b78b5\"\u003e\u003ccode\u003e0c9092c\u003c/code\u003e\u003c/a\u003e build(deps): bump codecov/codecov-action from 7.0.0 to 7.1.0 (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2405\"\u003e#2405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/47f06077edf3ed7e3c13a316f7bf32297cd23402\"\u003e\u003ccode\u003e47f0607\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump \u003ccode\u003e@​size-limit/preset-big-lib\u003c/code\u003e from 13.0.3 to 13.1.1 (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2404\"\u003e#2404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/f7ef5dc4354e0424b4aa456d21076247339e928f\"\u003e\u003ccode\u003ef7ef5dc\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump rollup from 4.63.1 to 4.63.2 (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2403\"\u003e#2403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/d63dfc3aa10bed3b065ef1b7bd8dc5545dd7331e\"\u003e\u003ccode\u003ed63dfc3\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump size-limit from 13.0.3 to 13.1.1 (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2402\"\u003e#2402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/43427a9ea3c6044b29dc5558851d63eda6754f9e\"\u003e\u003ccode\u003e43427a9\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action/upload-sarif (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2401\"\u003e#2401\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/remarkablemark/html-react-parser/compare/v6.1.7...v6.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.0.1 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.0.1...v30.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `maplibre-gl` from 6.11.1 to 6.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/maplibre/maplibre-gl-js/releases\"\u003emaplibre-gl's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.11.2\u003c/h2\u003e\n\u003ch3\u003e✨ Features and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove rendering performance by uploading each tile's projection data once per frame instead of before every draw call (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8545\"\u003e#8545\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multiple glyph variants in requests, caches, and atlases (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8488\"\u003e#8488\u003c/a\u003e) (by \u003ca href=\"https://github.com/NEKOYASAN\"\u003e\u003ccode\u003e@​NEKOYASAN\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐞 Bug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eMap#once(type, layerId, listener)\u003c/code\u003e unsubscribing on the first event that misses the layer instead of the first event that hits it (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8499\"\u003e#8499\u003c/a\u003e) (by \u003ca href=\"https://github.com/cherenkov\"\u003e\u003ccode\u003e@​cherenkov\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove hillshade gradient toward the poles (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8551\"\u003e#8551\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix camera settings being undone during camera movement with terrain or \u003ccode\u003etransformCameraUpdate\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8550\"\u003e#8550\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix zooming and panning with the pointer above the horizon moving the map in the opposite direction (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8544\"\u003e#8544\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the camera jumping when a drag over terrain ends at a pitch above 84° (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8541\"\u003e#8541\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEase the center elevation over terrain during \u003ccode\u003eeaseTo\u003c/code\u003e and \u003ccode\u003eflyTo\u003c/code\u003e instead of holding it and jumping when the animation ends (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8543\"\u003e#8543\u003c/a\u003e) (by \u003ca href=\"https://github.com/johncarmack1984\"\u003e\u003ccode\u003e@​johncarmack1984\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efitBounds\u003c/code\u003e and \u003ccode\u003ecameraForBounds\u003c/code\u003e throwing on the globe projection when the padding exceeds the viewport, instead of warning and returning \u003ccode\u003eundefined\u003c/code\u003e as on mercator (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8538\"\u003e#8538\u003c/a\u003e) (by \u003ca href=\"https://github.com/drakeo338\"\u003e\u003ccode\u003e@​drakeo338\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKeep raster tiles sharp at a fractional \u003ccode\u003edevicePixelRatio\u003c/code\u003e, where the canvas covered a different number of device pixels than its backing store held and the compositor rescaled it (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/1590\"\u003e#1590\u003c/a\u003e) (by \u003ca href=\"https://github.com/zdila\"\u003e\u003ccode\u003e@​zdila\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/maplibre/maplibre-gl-js/blob/main/CHANGELOG.md\"\u003emaplibre-gl's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.11.2\u003c/h2\u003e\n\u003ch3\u003e✨ Features and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove rendering performance by uploading each tile's projection data once per frame instead of before every draw call (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8545\"\u003e#8545\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multiple glyph variants in requests, caches, and atlases (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8488\"\u003e#8488\u003c/a\u003e) (by \u003ca href=\"https://github.com/NEKOYASAN\"\u003e\u003ccode\u003e@​NEKOYASAN\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐞 Bug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eMap#once(type, layerId, listener)\u003c/code\u003e unsubscribing on the first event that misses the layer instead of the first event that hits it (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8499\"\u003e#8499\u003c/a\u003e) (by \u003ca href=\"https://github.com/cherenkov\"\u003e\u003ccode\u003e@​cherenkov\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove hillshade gradient toward the poles (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8551\"\u003e#8551\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix camera settings being undone during camera movement with terrain or \u003ccode\u003etransformCameraUpdate\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8550\"\u003e#8550\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix zooming and panning with the pointer above the horizon moving the map in the opposite direction (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8544\"\u003e#8544\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the camera jumping when a drag over terrain ends at a pitch above 84° (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8541\"\u003e#8541\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEase the center elevation over terrain during \u003ccode\u003eeaseTo\u003c/code\u003e and \u003ccode\u003eflyTo\u003c/code\u003e instead of holding it and jumping when the animation ends (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8543\"\u003e#8543\u003c/a\u003e) (by \u003ca href=\"https://github.com/johncarmack1984\"\u003e\u003ccode\u003e@​johncarmack1984\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efitBounds\u003c/code\u003e and \u003ccode\u003ecameraForBounds\u003c/code\u003e throwing on the globe projection when the padding exceeds the viewport, instead of warning and returning \u003ccode\u003eundefined\u003c/code\u003e as on mercator (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8538\"\u003e#8538\u003c/a\u003e) (by \u003ca href=\"https://github.com/drakeo338\"\u003e\u003ccode\u003e@​drakeo338\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKeep raster tiles sharp at a fractional \u003ccode\u003edevicePixelRatio\u003c/code\u003e, where the canvas covered a different number of device pixels than its backing store held and the compositor rescaled it (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/1590\"\u003e#1590\u003c/a\u003e) (by \u003ca href=\"https://github.com/zdila\"\u003e\u003ccode\u003e@​zdila\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/maplibre/maplibre-gl-js/commit/acb7b722f6a752ac1a2ba98cf83006c83dc4fafa\"\u003e\u003ccode\u003eacb7b72\u003c/code\u003e\u003c/a\u003e Bump js version to 6.11.2 (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8555\"\u003e#8555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maplibre/maplibre-gl-js/commit/d28f8443e207be1b54669798b809d731070932b9\"\u003e\u003ccode\u003ed28f844\u003c/code\u003e\u003c/a\u003e fix: Map#once with layerId unsubscribes only after a real hit (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8499\"\u003e#8499\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maplibre/maplibre-gl-js/commit/99d0160b018e31dbe5ceba71b79806b36fc0d2ef\"\u003e\u003ccode\u003e99d0160\u003c/code\u003e\u003c/a\u003e Support multiple glyph variants (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8488\"\u003e#8488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maplibre/maplibre-gl-js/commit/98268d3829222064b81b8bfa112baf446ac32cf4\"\u003e\u003ccode\u003e98268d3\u003c/code\u003e\u003c/a\u003e Fix globe cameraForBoxAndBearing throwing when padding exceeds the viewport (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maplibre/maplibre-gl-js/commit/f560a83ac3491086024967fbf8cc0503eae3a76d\"\u003e\u003ccode\u003ef560a83\u003c/code\u003e\u003c/a\u003e Size the canvas to whole device pixels (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8513\"\u003e#8513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maplibre/maplibre-gl-js/commit/7a897d0b0db6a2bb4b9eae54e0b2b54896af63f1\"\u003e\u003ccode\u003e7a897d0\u003c/code\u003e\u003c/a\u003e Remove hillshade gradient toward the poles (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8551\"\u003e#8551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maplibre/maplibre-gl-js/commit/0dff33ab118c6d8ea41f7d9d30e0df9d4acf9ea3\"\u003e\u003ccode\u003e0dff33a\u003c/code\u003e\u003c/a\u003e Fix camera settings being undone during camera movement (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8550\"\u003e#8550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maplibre/maplibre-gl-js/commit/c2031bfb2bf54ee866fcb68bad5b149646a2f4b1\"\u003e\u003ccode\u003ec2031bf\u003c/code\u003e\u003c/a\u003e GM2.8 Upload projection data once per tile instead of once per draw (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8545\"\u003e#8545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maplibre/maplibre-gl-js/commit/728a44c08bdd55ca06f601edd1dbf334159fc99e\"\u003e\u003ccode\u003e728a44c\u003c/code\u003e\u003c/a\u003e Fix zoom and drag above the horizon moving the map the wrong way (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8544\"\u003e#8544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maplibre/maplibre-gl-js/commit/3dfdce0b796e27715a51d9c314448be9f6fd9efb\"\u003e\u003ccode\u003e3dfdce0\u003c/code\u003e\u003c/a\u003e refactor: one method builds the mercator animation's end transform (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8546\"\u003e#8546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/maplibre/maplibre-gl-js/compare/v6.11.1...v6.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `motion` from 13.2.0 to 13.4.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/motiondivision/motion/blob/main/CHANGELOG.md\"\u003emotion's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[13.4.6] 2026-09-29\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAnimatePresence\u003c/code\u003e: \u003ccode\u003emode=\u0026quot;wait\u0026quot;\u003c/code...\n\n_Description has been truncated_","html_url":"https://github.com/alveusgg/alveusgg/pull/2421","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/alveusgg%2Falveusgg/issues/2421","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2421/packages"},{"uuid":"5735574472","node_id":"PR_kwDOUP6d4s8AAAABHADVPg","number":16,"state":"open","title":"deps-dev(deps-dev): bump the npm-version group with 7 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":["SimplicityGuy"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-06T21:20:57.000Z","updated_at":"2026-10-06T21:21:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps-dev(deps-dev): bump","group_name":"npm-version","update_count":7,"packages":[{"name":"@testing-library/dom","old_version":"10.4.1","new_version":"10.4.2","repository_url":"https://github.com/testing-library/dom-testing-library"},{"name":"@types/node","old_version":"24.13.3","new_version":"24.19.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"jsdom","old_version":"30.0.1","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"oxlint","old_version":"1.80.0","new_version":"1.86.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"tsx","old_version":"4.23.13","new_version":"4.23.15","repository_url":"https://github.com/privatenumber/tsx"},{"name":"vite","old_version":"8.2.2","new_version":"8.3.1","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"5.0.0","new_version":"5.0.2","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-version group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@testing-library/dom](https://github.com/testing-library/dom-testing-library) | `10.4.1` | `10.4.2` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.13.3` | `24.19.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.0.1` | `30.1.1` |\n| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.80.0` | `1.86.0` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.23.13` | `4.23.15` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.2.2` | `8.3.1` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.0` | `5.0.2` |\n\nUpdates `@testing-library/dom` from 10.4.1 to 10.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testing-library/dom-testing-library/releases\"\u003e@​testing-library/dom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/testing-library/dom-testing-library/compare/v10.4.1...v10.4.2\"\u003e10.4.2\u003c/a\u003e (2026-09-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e pin \u003ccode\u003e@​types/node\u003c/code\u003e to a TypeScript 4-compatible version (\u003ca href=\"https://redirect.github.com/testing-library/dom-testing-library/issues/1386\"\u003e#1386\u003c/a\u003e) (\u003ca href=\"https://github.com/testing-library/dom-testing-library/commit/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b\"\u003e6049cc0\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/dom-testing-library/commit/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b\"\u003e\u003ccode\u003e6049cc0\u003c/code\u003e\u003c/a\u003e fix(deps): pin \u003ccode\u003e@​types/node\u003c/code\u003e to a TypeScript 4-compatible version (\u003ca href=\"https://redirect.github.com/testing-library/dom-testing-library/issues/1386\"\u003e#1386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/dom-testing-library/commit/e395d5b8ecd4ec95cc02540ddcf16571ecd33e0f\"\u003e\u003ccode\u003ee395d5b\u003c/code\u003e\u003c/a\u003e Switch to trusted publishing (\u003ca href=\"https://redirect.github.com/testing-library/dom-testing-library/issues/1368\"\u003e#1368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/testing-library/dom-testing-library/compare/v10.4.1...v10.4.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/dom\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 24.13.3 to 24.19.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/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.0.1 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.0.1...v30.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oxlint` from 1.80.0 to 1.86.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.86.0\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e9d80eed linter/react/only-export-components: Support \u003ccode\u003eallowCompoundComponents\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/27117\"\u003e#27117\u003c/a\u003e) (Kuroda Kayn)\u003c/li\u003e\n\u003cli\u003ee05b155 linter: Add typescript/no-generated-empty-object-type (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26958\"\u003e#26958\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e8306aa4 linter/typescript/no-unnecessary-parameter-property-assignment: Account for parameter property reassignment (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26955\"\u003e#26955\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e42dfbb5 linter/eslint/one-var: Keep \u003ccode\u003edeclare\u003c/code\u003e when splitting declarations (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/27081\"\u003e#27081\u003c/a\u003e) (Cheolhee Lee)\u003c/li\u003e\n\u003cli\u003e2ba7e33 linter/eslint/require-await: Count \u003ccode\u003eawait using\u003c/code\u003e as an await (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/27080\"\u003e#27080\u003c/a\u003e) (Cheolhee Lee)\u003c/li\u003e\n\u003cli\u003e611e4ed linter/plugins: Include executing selectors in JS plugin rule timings (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/27111\"\u003e#27111\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e2cac66f react-compiler: Handle recursive function expressions (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26796\"\u003e#26796\u003c/a\u003e) (Brennan Butler)\u003c/li\u003e\n\u003cli\u003ee996e6c react-compiler: Treat zero-argument new Date as impure (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26894\"\u003e#26894\u003c/a\u003e) (Boshen)\u003c/li\u003e\n\u003cli\u003e571cfa3 oxlint: Skip type-aware lint rules in type-check-only mode (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/27076\"\u003e#27076\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003ed0b2462 oxlint: Skip undefined children in CFG walker (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/27075\"\u003e#27075\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e5186328 parser: Handle HTML comment values (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22933\"\u003e#22933\u003c/a\u003e) (Boshen)\u003c/li\u003e\n\u003cli\u003e0b630e8 linter/typescript/unified-signatures: Align rule with upstream (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26956\"\u003e#26956\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003eebb22f1 linter/node/no-exports-assign: Change category from style to suspicious (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26555\"\u003e#26555\u003c/a\u003e) (Bartok)\u003c/li\u003e\n\u003cli\u003ecce28a0 linter/import/no-duplicates: Distinguish import attributes (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26936\"\u003e#26936\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003efeb733b linter/unicorn/prefer-spread: Stop checking string split calls (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26935\"\u003e#26935\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e929e154 linter/eslint/no-unused-vars: Honor ignore patterns inside array rest bindings (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26923\"\u003e#26923\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e5bdb9b8 linter/eslint/no-unused-vars: Recognize consumed update expressions (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26782\"\u003e#26782\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e5c05bef linter/eslint/prefer-const: Ignore embedded assignments (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26920\"\u003e#26920\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e⚡ Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eded4c29 linter/eslint/no-unused-vars: Skip sequence checks when absent (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26921\"\u003e#26921\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eoxlint v1.85.0\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e415b742 oxlint,oxfmt: Do not discover nested config in Vite+ mode (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26763\"\u003e#26763\u003c/a\u003e) (leaysgur)\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/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.86.0] - 2026-09-28\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e9d80eed linter/react/only-export-components: Support \u003ccode\u003eallowCompoundComponents\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/27117\"\u003e#27117\u003c/a\u003e) (Kuroda Kayn)\u003c/li\u003e\n\u003cli\u003ee05b155 linter: Add typescript/no-generated-empty-object-type (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26958\"\u003e#26958\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.82.0] - 2026-09-07\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e6a0e19c linter/eslint/no-unmodified-loop-condition: Support \u003ccode\u003echeckConditionalExpressions\u003c/code\u003e option (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26249\"\u003e#26249\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.81.0] - 2026-08-31\u003c/h2\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ed5be037 linter/typescript/switch-exhaustiveness-check: Clarify default case comment pattern (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26100\"\u003e#26100\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.79.0] - 2026-08-18\u003c/h2\u003e\n\u003ch3\u003e💥 BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e8c4552d linter: [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Split react/react-compiler into per-category rules (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25500\"\u003e#25500\u003c/a\u003e) (Boshen)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e228e8e0 linter: Resolve inactive React compiler rules (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25830\"\u003e#25830\u003c/a\u003e) (Boshen)\u003c/li\u003e\n\u003cli\u003eaa49d86 linter: Allow spread rule options in config types (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25675\"\u003e#25675\u003c/a\u003e) (ch3rry)\u003c/li\u003e\n\u003cli\u003e36f8451 linter/eslint/no-eval: Align indirect default with ESLint (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25656\"\u003e#25656\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003ebeb724d linter/eslint/no-unused-vars: Report bare underscore parameters (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25663\"\u003e#25663\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e4004c10 linter/eslint/no-irregular-whitespace: Check comments by default (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25660\"\u003e#25660\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e285820e linter/no-large-snapshots: Precompile and document allowed snapshot matchers (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25611\"\u003e#25611\u003c/a\u003e) (Mikhail Baev)\u003c/li\u003e\n\u003cli\u003e4df5835 linter: Allow capitalized built-in calls (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25516\"\u003e#25516\u003c/a\u003e) (Boshen)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.78.0] - 2026-08-10\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eccb8fe8 linter/jsdoc: Implement \u003ccode\u003eno-blank-blocks\u003c/code\u003e rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25207\"\u003e#25207\u003c/a\u003e) (Mikhail Baev)\u003c/li\u003e\n\u003cli\u003ed4a897c linter/eslint: Implement \u003ccode\u003eone-var\u003c/code\u003e rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/24470\"\u003e#24470\u003c/a\u003e) (Cole Ellison)\u003c/li\u003e\n\u003cli\u003e5ab9340 linter/jsx-a11y/anchor-has-content: Add options to match eslint (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/24571\"\u003e#24571\u003c/a\u003e) (Cole Ellison)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e9573937 linter/typescript: Validate \u003ccode\u003eban-ts-comment\u003c/code\u003e description_format (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25320\"\u003e#25320\u003c/a\u003e) (Mikhail Baev)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.77.0] - 2026-08-03\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug 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/oxc-project/oxc/commit/2ae2939bb2fd98796393658b21556b2a2467e047\"\u003e\u003ccode\u003e2ae2939\u003c/code\u003e\u003c/a\u003e release(apps): oxlint v1.86.0 \u0026amp;\u0026amp; oxfmt v0.71.0 (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/27132\"\u003e#27132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/9d80eeddbd1d84032e258cc3662182b7649b4161\"\u003e\u003ccode\u003e9d80eed\u003c/code\u003e\u003c/a\u003e feat(linter/react/only-export-components): support \u003ccode\u003eallowCompoundComponents\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/e05b155a6d1e7467f58225628705573c34d3cded\"\u003e\u003ccode\u003ee05b155\u003c/code\u003e\u003c/a\u003e feat(linter): add typescript/no-generated-empty-object-type (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26958\"\u003e#26958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/88a009621499725d891780b04c41f23ebba09f30\"\u003e\u003ccode\u003e88a0096\u003c/code\u003e\u003c/a\u003e chore(oxlint): require tsgolint 7.0.2003 (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/27021\"\u003e#27021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/288d8cc77984b0a3851c58c423ffe9e6edc79f2e\"\u003e\u003ccode\u003e288d8cc\u003c/code\u003e\u003c/a\u003e release(apps): oxlint v1.85.0 \u0026amp;\u0026amp; oxfmt v0.70.0 (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26903\"\u003e#26903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/f02a64a517a69a4eaa4ef83b722a3f10cf633f10\"\u003e\u003ccode\u003ef02a64a\u003c/code\u003e\u003c/a\u003e release(apps): oxlint v1.84.0 \u0026amp;\u0026amp; oxfmt v0.69.0 (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26874\"\u003e#26874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/7bf68f70c20f5329251f19be95076f6eab4fe396\"\u003e\u003ccode\u003e7bf68f7\u003c/code\u003e\u003c/a\u003e release(apps): oxlint v1.83.0 \u0026amp;\u0026amp; oxfmt v0.68.0 (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26631\"\u003e#26631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/b4da00b621ec2f6f67ed218f5366c45ed325331b\"\u003e\u003ccode\u003eb4da00b\u003c/code\u003e\u003c/a\u003e release(apps): oxlint v1.82.0 \u0026amp;\u0026amp; oxfmt v0.67.0 (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26384\"\u003e#26384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/aa38ddfbea657a9d332f86e42e235ff8cbdcac6d\"\u003e\u003ccode\u003eaa38ddf\u003c/code\u003e\u003c/a\u003e fix(linter/unicorn/numeric-separators-style): correct schema defaults (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26393\"\u003e#26393\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/6a0e19cfaae35ec882de6bc8dde7668d1b0cc58e\"\u003e\u003ccode\u003e6a0e19c\u003c/code\u003e\u003c/a\u003e feat(linter/eslint/no-unmodified-loop-condition): support `checkConditionalEx...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oxc-project/oxc/commits/oxlint_v1.86.0/npm/oxlint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tsx` from 4.23.13 to 4.23.15\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.23.15\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.23.14...v4.23.15\"\u003e4.23.15\u003c/a\u003e (2026-09-20)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eexclude bare builtins from namespace inheritance (\u003ca href=\"https://github.com/privatenumber/tsx/commit/38e158857e50bca311be7c232a5057e5a2e5347a\"\u003e38e1588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose require.cache and require.extensions to tsImport CommonJS modules (\u003ca href=\"https://github.com/privatenumber/tsx/commit/2da34075afaed43e2b7fd0aca5fbebaaf337ff3a\"\u003e2da3407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake namespaced register() overloads portable for declaration emit (\u003ca href=\"https://github.com/privatenumber/tsx/commit/562c434a5c8695e74327bbeb51cfeb9b86fc7e15\"\u003e562c434\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.23.15\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.23.14\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.23.13...v4.23.14\"\u003e4.23.14\u003c/a\u003e (2026-09-20)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erestore the CJS bridge namespace for Node 24 require(esm) under tsImport() (\u003ca href=\"https://redirect.github.com/privatenumber/tsx/issues/802\"\u003e#802\u003c/a\u003e) (\u003ca href=\"https://github.com/privatenumber/tsx/commit/6e5236b065738d3687a06396d064774cfede390f\"\u003e6e5236b\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.23.14\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\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/privatenumber/tsx/commit/ca66105a17a2a4c6503fe3a12b5b9ec408286011\"\u003e\u003ccode\u003eca66105\u003c/code\u003e\u003c/a\u003e test: fix drive-less file URLs in ESM resolver fixtures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/2da34075afaed43e2b7fd0aca5fbebaaf337ff3a\"\u003e\u003ccode\u003e2da3407\u003c/code\u003e\u003c/a\u003e fix: expose require.cache and require.extensions to tsImport CommonJS modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/38e158857e50bca311be7c232a5057e5a2e5347a\"\u003e\u003ccode\u003e38e1588\u003c/code\u003e\u003c/a\u003e fix: exclude bare builtins from namespace inheritance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/562c434a5c8695e74327bbeb51cfeb9b86fc7e15\"\u003e\u003ccode\u003e562c434\u003c/code\u003e\u003c/a\u003e fix: make namespaced register() overloads portable for declaration emit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/edfb1f05a3f40b879a41a03a0801c2abd3a3ecf9\"\u003e\u003ccode\u003eedfb1f0\u003c/code\u003e\u003c/a\u003e build: upgrade pkgroll and externalize CJS loader reference\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/70e78284837c859f09b96cd10cd71d007aa4b795\"\u003e\u003ccode\u003e70e7828\u003c/code\u003e\u003c/a\u003e test: upgrade tinyspy for disposable API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/9ed2022dfa9ea1be9511fe6abcde8110c25055a7\"\u003e\u003ccode\u003e9ed2022\u003c/code\u003e\u003c/a\u003e ci: avoid duplicate release notifications\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/872e77ffc5e96ca5c4727e74c0694debcb26219b\"\u003e\u003ccode\u003e872e77f\u003c/code\u003e\u003c/a\u003e refactor: use disposables for cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/6e5236b065738d3687a06396d064774cfede390f\"\u003e\u003ccode\u003e6e5236b\u003c/code\u003e\u003c/a\u003e fix: restore the CJS bridge namespace for Node 24 require(esm) under tsImport...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.23.13...v4.23.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite` from 8.2.2 to 8.3.1\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.3.1\u003c/h2\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/23482\"\u003e#23482\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/3c752c8932bc0599465ba4a6d8f44aaf1e934c3d\"\u003e3c752c8\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/issues/23537\"\u003e#23537\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e8990c4d6101dfaca2654ed8ab4d0574ee920248\"\u003ee8990c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23483\"\u003e#23483\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/9aecbbfa5fb5da4b9981c099cb9746a9fd210806\"\u003e9aecbbf\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ehandle \u003ccode\u003eserver.ws: false\u003c/code\u003e in mergeConfig (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23511\"\u003e#23511\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/f68c0d5a28c96555431413e3e2cbe644337b087f\"\u003ef68c0d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emerge \u003ccode\u003ebuild.rolldownOptions.output.comments\u003c/code\u003e correctly (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23514\"\u003e#23514\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/4aba8d8720e82e4c5b694a4b7877755a3f84fc57\"\u003e4aba8d8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e don't skip imports whose binding starts with type (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23540\"\u003e#23540\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/39330f489a0ae08923557f0ce10a307d6662a3f5\"\u003e39330f4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e resolve pending discovered dep processing on close before init (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23567\"\u003e#23567\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5f894339d27882fedc86bf6b1076fa6d92e404f3\"\u003e5f89433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e avoid reinitializing watcher when adding file after server close (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23572\"\u003e#23572\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6f831f9b58ebda77638b514042ad8d160edfb928\"\u003e6f831f9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esourcemap:\u003c/strong\u003e skip URL source roots when injecting sources content (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23519\"\u003e#23519\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/04fc30a4b91870e65a436b3420620a2e02a94a41\"\u003e04fc30a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emerge prereleases in changelog (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23466\"\u003e#23466\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/99bd9d1d46153fa939f4a304cc0177db42e28776\"\u003e99bd9d1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e add debug log when waiting for dep before init (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23566\"\u003e#23566\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/63567c73ac132e6384fef384e6b9f7e8d5a37fff\"\u003e63567c7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003eoptimizeDeps.include\u003c/code\u003e comment (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23489\"\u003e#23489\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6a84c72100da4e4be4badb2d9a0026279b4df136\"\u003e6a84c72\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eassets regexp use non-capture (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23491\"\u003e#23491\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/f4b4431a2f9097fd9bbb7aaebbf1b63c4b54dea1\"\u003ef4b4431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove duplicate configurations (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23532\"\u003e#23532\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/9abd99bfdd3117149d6faf87fc37bc9899b1c998\"\u003e9abd99b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace \u003ccode\u003efind\u003c/code\u003e with \u003ccode\u003esome\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23554\"\u003e#23554\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/af7cdf6964f124f58d66037e808fe687654948e2\"\u003eaf7cdf6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ecreate-vite@8.3.0\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/create-vite@8.3.0/packages/create-vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.3.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e avoid settling seen preload dependencies for performance (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23446\"\u003e#23446\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e6f6b3e3119256daa837b2dc399058c8aa45b470\"\u003ee6f6b3e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle CRLF line endings in code frame positions (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23219\"\u003e#23219\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/9913672bee9c34a2df7fff4c2538783cd4f43b4e\"\u003e9913672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eonly treat whole \u003ccode\u003enode_modules\u003c/code\u003e path segments as dependencies (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/17467\"\u003e#17467\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23437\"\u003e#23437\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/ef0dc17ada53d1169ae5a89cb8f6482831466755\"\u003eef0dc17\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eproxy:\u003c/strong\u003e pre-compile context matchers at server creation (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23263\"\u003e#23263\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8abf700eeb2411d8402d08f8e2696effafdbe774\"\u003e8abf700\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.3.0-beta.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edevtools:\u003c/strong\u003e enable dev server integration (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23333\"\u003e#23333\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/68aeb8a3b5a5a2ccd505288999bae1a5e6942ee1\"\u003e68aeb8a\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 keep hash placeholders as-is in \u003ccode\u003eresolveFileUrl\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23422\"\u003e#23422\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e8d6a4d3399c739772080d70c7f3c4d548a637c9\"\u003ee8d6a4d\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/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.3.0...v8.3.1\"\u003e8.3.1\u003c/a\u003e (2026-09-24)\u003c!-- raw HTML omitted --\u003e\u003c/h2\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/23482\"\u003e#23482\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/3c752c8932bc0599465ba4a6d8f44aaf1e934c3d\"\u003e3c752c8\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/issues/23537\"\u003e#23537\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e8990c4d6101dfaca2654ed8ab4d0574ee920248\"\u003ee8990c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23483\"\u003e#23483\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/9aecbbfa5fb5da4b9981c099cb9746a9fd210806\"\u003e9aecbbf\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ehandle \u003ccode\u003eserver.ws: false\u003c/code\u003e in mergeConfig (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23511\"\u003e#23511\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/f68c0d5a28c96555431413e3e2cbe644337b087f\"\u003ef68c0d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emerge \u003ccode\u003ebuild.rolldownOptions.output.comments\u003c/code\u003e correctly (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23514\"\u003e#23514\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/4aba8d8720e82e4c5b694a4b7877755a3f84fc57\"\u003e4aba8d8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e don't skip imports whose binding starts with type (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23540\"\u003e#23540\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/39330f489a0ae08923557f0ce10a307d6662a3f5\"\u003e39330f4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e resolve pending discovered dep processing on close before init (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23567\"\u003e#23567\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5f894339d27882fedc86bf6b1076fa6d92e404f3\"\u003e5f89433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e avoid reinitializing watcher when adding file after server close (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23572\"\u003e#23572\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6f831f9b58ebda77638b514042ad8d160edfb928\"\u003e6f831f9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esourcemap:\u003c/strong\u003e skip URL source roots when injecting sources content (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23519\"\u003e#23519\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/04fc30a4b91870e65a436b3420620a2e02a94a41\"\u003e04fc30a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emerge prereleases in changelog (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23466\"\u003e#23466\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/99bd9d1d46153fa939f4a304cc0177db42e28776\"\u003e99bd9d1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e add debug log when waiting for dep before init (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23566\"\u003e#23566\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/63567c73ac132e6384fef384e6b9f7e8d5a37fff\"\u003e63567c7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003eoptimizeDeps.include\u003c/code\u003e comment (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23489\"\u003e#23489\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6a84c72100da4e4be4badb2d9a0026279b4df136\"\u003e6a84c72\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eassets regexp use non-capture (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23491\"\u003e#23491\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/f4b4431a2f9097fd9bbb7aaebbf1b63c4b54dea1\"\u003ef4b4431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove duplicate configurations (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23532\"\u003e#23532\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/9abd99bfdd3117149d6faf87fc37bc9899b1c998\"\u003e9abd99b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace \u003ccode\u003efind\u003c/code\u003e with \u003ccode\u003esome\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23554\"\u003e#23554\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/af7cdf6964f124f58d66037e808fe687654948e2\"\u003eaf7cdf6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.2.2...v8.3.0\"\u003e8.3.0\u003c/a\u003e (2026-09-10)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e avoid settling seen preload dependencies for performance (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23446\"\u003e#23446\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e6f6b3e3119256daa837b2dc399058c8aa45b470\"\u003ee6f6b3e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edevtools:\u003c/strong\u003e enable dev server integration (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23333\"\u003e#23333\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/68aeb8a3b5a5a2ccd505288999bae1a5e6942ee1\"\u003e68aeb8a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaccept Rolldown watch options in \u003ccode\u003eserver.watch\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23133\"\u003e#23133\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/1b5cfe3d3777d4ceb7f35fcee9d3c4279316a084\"\u003e1b5cfe3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd closeServer and closePreviewServer hooks (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23110\"\u003e#23110\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e17d2d565b0288f169c7995adb2b192f917548e7\"\u003ee17d2d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd top-level \u003ccode\u003etsconfig\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23310\"\u003e#23310\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/93164c3530a7b4fc7bbedfb986d6afa9546cdef3\"\u003e93164c3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd warning for unsupported hooks in plugin returned from \u003ccode\u003eapplyToEnvironment\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23191\"\u003e#23191\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fdef04f112aadfea40ad3c448d96a49a04c168bd\"\u003efdef04f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e support naming the CPU profile via --profile [name] (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23042\"\u003e#23042\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/a500deeb6f52d93ca501a0fc612a5392b939f2f5\"\u003ea500dee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econfig:\u003c/strong\u003e warn on named imports from JSON modules (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23378\"\u003e#23378\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/472385e6ec4b21e3167c7abf9769883d1c9675f8\"\u003e472385e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e minify style tag (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23183\"\u003e#23183\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8156684572bdcf73e9d8568ed67971f0467fab60\"\u003e8156684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esearched params attached to workers are now preserved (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22280\"\u003e#22280\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/517b97f57ab9473e7417da856eb641d76870a56e\"\u003e517b97f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport subpath imports in dynamic import statements (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23185\"\u003e#23185\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/b78e2f1bc1cba404c4bd9faf518d26ec85e89fc7\"\u003eb78e2f1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse \u003ccode\u003eimport.meta.ROLLDOWN_FILE_URL_*\u003c/code\u003e for assets in JS (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22888\"\u003e#22888\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/4366ac468343252df6d5706361a6348afa66f9cc\"\u003e4366ac4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse \u003ccode\u003eimport.meta.ROLLDOWN_FILE_URL_*\u003c/code\u003e for other plugins (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22894\"\u003e#22894\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e38f29ee48bea5ea3178faec5b78708e86f38afb\"\u003ee38f29e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eworker:\u003c/strong\u003e remove worker chunk if it's detected that it's not referenced (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22473\"\u003e#22473\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/924997a4bdda9115faee9bdb622fcec4fc8357f0\"\u003e924997a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle CRLF line endings in code frame positions (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23219\"\u003e#23219\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/9913672bee9c34a2df7fff4c2538783cd4f43b4e\"\u003e9913672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eonly treat whole \u003ccode\u003enode_modules\u003c/code\u003e path segments as dependencies (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/17467\"\u003e#17467\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23437\"\u003e#23437\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/ef0dc17ada53d1169ae5a89cb8f6482831466755\"\u003eef0dc17\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e keep hash placeholders as-is in \u003ccode\u003eresolveFileUrl\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23422\"\u003e#23422\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e8d6a4d3399c739772080d70c7f3c4d548a637c9\"\u003ee8d6a4d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e mark payload delivered on client report (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23373\"\u003e#23373\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/a6d43bc9e3464faa4d49f090e75e1ab334ffb7b0\"\u003ea6d43bc\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/39ddf7ccf7e7469ff6a3ba37bca38c32ea804d6e\"\u003e\u003ccode\u003e39ddf7c\u003c/code\u003e\u003c/a\u003e release: v8.3.1 (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23573\"\u003e#23573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/f68c0d5a28c96555431413e3e2cbe644337b087f\"\u003e\u003ccode\u003ef68c0d5\u003c/code\u003e\u003c/a\u003e fix: handle \u003ccode\u003eserver.ws: false\u003c/code\u003e in mergeConfig (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23511\"\u003e#23511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/6f831f9b58ebda77638b514042ad8d160edfb928\"\u003e\u003ccode\u003e6f831f9\u003c/code\u003e\u003c/a\u003e fix(server): avoid reinitializing watcher when adding file after server close...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/04fc30a4b91870e65a436b3420620a2e02a94a41\"\u003e\u003ccode\u003e04fc30a\u003c/code\u003e\u003c/a\u003e fix(sourcemap): skip URL source roots when injecting sources content (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23519\"\u003e#23519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/5f894339d27882fedc86bf6b1076fa6d92e404f3\"\u003e\u003ccode\u003e5f89433\u003c/code\u003e\u003c/a\u003e fix(optimizer): resolve pending discovered dep processing on close before ini...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/63567c73ac132e6384fef384e6b9f7e8d5a37fff\"\u003e\u003ccode\u003e63567c7\u003c/code\u003e\u003c/a\u003e chore(optimizer): add debug log when waiting for dep before init (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23566\"\u003e#23566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/e8990c4d6101dfaca2654ed8ab4d0574ee920248\"\u003e\u003ccode\u003ee8990c4\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/23537\"\u003e#23537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/af7cdf6964f124f58d66037e808fe687654948e2\"\u003e\u003ccode\u003eaf7cdf6\u003c/code\u003e\u003c/a\u003e refactor: replace \u003ccode\u003efind\u003c/code\u003e with \u003ccode\u003esome\u003c/code\u003e (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23554\"\u003e#23554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/39330f489a0ae08923557f0ce10a307d6662a3f5\"\u003e\u003ccode\u003e39330f4\u003c/code\u003e\u003c/a\u003e fix(optimizer): don't skip imports whose binding starts with type (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23540\"\u003e#23540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/9abd99bfdd3117149d6faf87fc37bc9899b1c998\"\u003e\u003ccode\u003e9abd99b\u003c/code\u003e\u003c/a\u003e refactor: remove duplicate configurations (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23532\"\u003e#23532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitejs/vite/commits/v8.3.1/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 5.0.0 to 5.0.2\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\u003ev5.0.2\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBind \u003ccode\u003eprocess\u003c/code\u003e in case global is overwritten  -  by \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/11343\"\u003evitest-dev/vitest#11343\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0b79231ad\"\u003e\u003c!-- raw HTML omitted --\u003e(0b792)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edetect-async-leaks\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eIgnore \u003ccode\u003eprocess.stdio\u003c/code\u003e handles  -  by \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/11333\"\u003evitest-dev/vitest#11333\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0fd6b9790\"\u003e\u003c!-- raw HTML omitted --\u003e(0fd6b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003etoMatchObject\u003c/code\u003e with asymmetric matchers  -  by \u003ca href=\"https://github.com/ShreeBohara\"\u003e\u003ccode\u003e@​ShreeBohara\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 5\u003c/strong\u003e, \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-5)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11100\"\u003evitest-dev/vitest#11100\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/42523289e\"\u003e\u003c!-- raw HTML omitted --\u003e(42523)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ejsdom\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eRequest\u003c/code\u003e with \u003ccode\u003eBlob\u003c/code\u003e body on jsdom 28+  -  by \u003ca href=\"https://github.com/harshit-d3v\"\u003e\u003ccode\u003e@​harshit-d3v\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11295\"\u003evitest-dev/vitest#11295\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d1c3ecc93\"\u003e\u003c!-- raw HTML omitted --\u003e(d1c3e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporter\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eagent\u003c/code\u003e to respect \u003ccode\u003e--silent\u003c/code\u003e  -  by \u003ca href=\"https://github.com/Raj4478\"\u003e\u003ccode\u003e@​Raj4478\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/11271\"\u003evitest-dev/vitest#11271\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5b95efb6d\"\u003e\u003c!-- raw HTML omitted --\u003e(5b95e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporters\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eHandle concurrent \u003ccode\u003ecreateReport\u003c/code\u003e calls  -  by \u003ca href=\"https://github.com/7rulnik\"\u003e\u003ccode\u003e@​7rulnik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11278\"\u003evitest-dev/vitest#11278\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e8e556ff7\"\u003e\u003c!-- raw HTML omitted --\u003e(e8e55)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ehanging-process\u003c/code\u003e to use ESM entrypoint  -  by \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/11316\"\u003evitest-dev/vitest#11316\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4e91e5668\"\u003e\u003c!-- raw HTML omitted --\u003e(4e91e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003espy\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix stack overflow when spying \u003ccode\u003eSet.prototype.add\u003c/code\u003e  -  by \u003ca href=\"https://github.com/fengmk2\"\u003e\u003ccode\u003e@​fengmk2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11299\"\u003evitest-dev/vitest#11299\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a0a939653\"\u003e\u003c!-- raw HTML omitted --\u003e(a0a93)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePersist authentication cookie beyond current browser session  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eOpenCode (gpt-5.6-sol)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11066\"\u003evitest-dev/vitest#11066\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f88195e16\"\u003e\u003c!-- raw HTML omitted --\u003e(f8819)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v5.0.1...v5.0.2\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev5.0.1\u003c/h2\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eMove trace attempts selector to viewer header  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11189\"\u003evitest-dev/vitest#11189\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5dc4b5c92\"\u003e\u003c!-- raw HTML omitted --\u003e(5dc4b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd focused trace view layout mode  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e, \u003cstrong\u003eOpenCode (gpt-5.6-sol)\u003c/strong\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11190\"\u003evitest-dev/vitest#11190\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/376dc3bc1\"\u003e\u003c!-- raw HTML omitted --\u003e(376dc)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExit 1 when vitest list fails collection  -  by \u003ca href=\"https://github.com/hamed-bavar\"\u003e\u003ccode\u003e@​hamed-bavar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11145\"\u003evitest-dev/vitest#11145\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11146\"\u003evitest-dev/vitest#11146\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6108b8197\"\u003e\u003c!-- raw HTML omitted --\u003e(6108b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep parse error details in static collection  -  by \u003ca href=\"https://github.com/hamed-bavar\"\u003e\u003ccode\u003e@​hamed-bavar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11150\"\u003evitest-dev/vitest#11150\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11151\"\u003evitest-dev/vitest#11151\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c818153a\"\u003e\u003c!-- raw HTML omitted --\u003e(7c818)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid recursive prototype in automocking  -  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/11195\"\u003evitest-dev/vitest#11195\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/99fc52591\"\u003e\u003c!-- raw HTML omitted --\u003e(99fc5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent false Vitest import resolution  -  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/11196\"\u003evitest-dev/vitest#11196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b426c1976\"\u003e\u003c!-- raw HTML omitted --\u003e(b426c)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep metadata file when clearing the cache  -  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/11199\"\u003evitest-dev/vitest#11199\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/73614654a\"\u003e\u003c!-- raw HTML omitted --\u003e(73614)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect typos in error message and comments  -  by \u003ca href=\"https://github.com/shinji00222\"\u003e\u003ccode\u003e@​shinji00222\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eShinji\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11187\"\u003evitest-dev/vitest#11187\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/115c3f6d2\"\u003e\u003c!-- raw HTML omitted --\u003e(115c3)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve ResolvedConfig exactOptionalPropertyTypes errors  -  by \u003ca href=\"https://github.com/LukeAbby\"\u003e\u003ccode\u003e@​LukeAbby\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11175\"\u003evitest-dev/vitest#11175\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/498fbe922\"\u003e\u003c!-- raw HTML omitted --\u003e(498fb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShare the server on self-referencing \u003ccode\u003eextends\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/11034\"\u003evitest-dev/vitest#11034\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/23dda738c\"\u003e\u003c!-- raw HTML omitted --\u003e(23dda)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn when deprecated \u003ccode\u003edeps.optimizer.web\u003c/code\u003e is used  -  by \u003ca href=\"https://github.com/im10furry\"\u003e\u003ccode\u003e@​im10furry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11214\"\u003evitest-dev/vitest#11214\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2ce29d5fa\"\u003e\u003c!-- raw HTML omitted --\u003e(2ce29)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAvoid double quotes in \u003ccode\u003econfig.define\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/11198\"\u003evitest-dev/vitest#11198\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/972e24bab\"\u003e\u003c!-- raw HTML omitted --\u003e(972e2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edoctor\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eMeasure vm pools for custom environments  -  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/11212\"\u003evitest-dev/vitest#11212\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/91ab1588c\"\u003e\u003c!-- raw HTML omitted --\u003e(91ab1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eCorrect return value in \u003ccode\u003etoMatchAriaSnapshot\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/11208\"\u003evitest-dev/vitest#11208\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c119be016\"\u003e\u003c!-- raw HTML omitted --\u003e(c119b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efakeTimers\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eForce \u003ccode\u003equeueMicrotask\u003c/code\u003e and \u003ccode\u003enextTick\u003c/code\u003e in \u003ccode\u003etoNotFake\u003c/code\u003e  -  by \u003ca href=\"https://github.com/kingmakeruix\"\u003e\u003ccode\u003e@​kingmakeruix\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003ekingmakeruix\u003c/strong\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \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/11261\"\u003evitest-dev/vitest#11261\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a47d7908f\"\u003e\u003c!-- raw HTML omitted --\u003e(a47d7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eReport obsolete keys next to skipped tests  -  by \u003ca href=\"https://github.com/hamed-bavar\"\u003e\u003ccode\u003e@​hamed-bavar\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eOpenCode (gpt-5.6-sol)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11157\"\u003evitest-dev/vitest#11157\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11158\"\u003evitest-dev/vitest#11158\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/17e2b22dd\"\u003e\u003c!-- raw HTML omitted --\u003e(17e2b)\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/428e2e5043c64635b6b157358bde2fdeaa7b6b3a\"\u003e\u003ccode\u003e428e2e5\u003c/code\u003e\u003c/a\u003e chore: release v5.0.2 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11357\"\u003e#11357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0b79231ad7897f03de17940ef16684b63aa217fe\"\u003e\u003ccode\u003e0b79231\u003c/code\u003e\u003c/a\u003e fix: bind \u003ccode\u003eprocess\u003c/code\u003e in case global is overwritten (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11343\"\u003e#11343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/597df569aba3e8b24c9ad231aacd3cf641ac3bdf\"\u003e\u003ccode\u003e597df56\u003c/code\u003e\u003c/a\u003e docs: correct stale config defaults (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11354\"\u003e#11354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/ea1c44fb581978421f9f0901ce8c635970ea72fb\"\u003e\u003ccode\u003eea1c44f\u003c/code\u003e\u003c/a\u003e docs: \u003ccode\u003esequence.setupFiles\u003c/code\u003e default is \u003ccode\u003e'list'\u003c/code\u003e (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11351\"\u003e#11351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0fd6b97902bc828d489385e0a28b82515f57b7cf\"\u003e\u003ccode\u003e0fd6b97\u003c/code\u003e\u003c/a\u003e fix(detect-async-leaks): ignore \u003ccode\u003eprocess.stdio\u003c/code\u003e handles (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11333\"\u003e#11333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/4e91e56687de43427fbb664d86a63438ca73b681\"\u003e\u003ccode\u003e4e91e56\u003c/code\u003e\u003c/a\u003e fix(reporters): \u003ccode\u003ehanging-process\u003c/code\u003e to use ESM entrypoint (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11316\"\u003e#11316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/1a57929a49fb6fb2db02b47e56c4677ca5ae1704\"\u003e\u003ccode\u003e1a57929\u003c/code\u003e\u003c/a\u003e docs(browser): fix locators.exact default  (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11338\"\u003e#11338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/5b95efb6dfe378dc6fc8380f5b1e96832f019a5d\"\u003e\u003ccode\u003e5b95efb\u003c/code\u003e\u003c/a\u003e fix(reporter): \u003ccode\u003eagent\u003c/code\u003e to respect \u003ccode\u003e--silent\u003c/code\u003e (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11271\"\u003e#11271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/f58a209779ffd3007006481d0c9da0099d5226e6\"\u003e\u003ccode\u003ef58a209\u003c/code\u003e\u003c/a\u003e docs: correct benchmark.exclude and watch defaults (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11268\"\u003e#11268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/d1c3ecc932dcb4cd50420c54aa1f7fa3051deac7\"\u003e\u003ccode\u003ed1c3ecc\u003c/code\u003e\u003c/a\u003e fix(jsdom): fix \u003ccode\u003eRequest\u003c/code\u003e with \u003ccode\u003eBlob\u003c/code\u003e body on jsdom 28+ (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11295\"\u003e#11295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v5.0.2/packages/vitest\"\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/SimplicityGuy/herdr-corral/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimplicityGuy%2Fherdr-corral/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"},{"uuid":"5735506051","node_id":"PR_kwDOU-QcmM8AAAABG__2CQ","number":26,"state":"closed","title":"build(deps-dev): Bump jsdom from 26.1.0 to 30.1.1","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-10-06T21:16:45.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-06T21:14:50.000Z","updated_at":"2026-10-06T21:16:54.000Z","time_to_close":115,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): Bump","packages":[{"name":"jsdom","old_version":"26.1.0","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 26.1.0 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v26.1.0...v30.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=30.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/Msameim181/iran-map-react/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Msameim181%2Firan-map-react/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"},{"uuid":"5734180249","node_id":"PR_kwDOSFswoM8AAAABG-73Mg","number":265,"state":"open","title":"chore(deps-dev): bump jsdom from 29.1.1 to 30.1.1","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-06T19:24:21.000Z","updated_at":"2026-10-06T19:26:45.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":"29.1.1","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 29.1.1 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v29.1.1...v30.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=29.1.1\u0026new-version=30.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/roymcfarland/llm-workbench/pull/265","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/roymcfarland%2Fllm-workbench/issues/265","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/265/packages"},{"uuid":"5729810543","node_id":"PR_kwDOUxL1s88AAAABG7aKqA","number":15,"state":"open","title":"Bump jsdom from 26.1.0 to 30.1.1","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-06T14:07:29.000Z","updated_at":"2026-10-07T10:56:26.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":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 26.1.0 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v26.1.0...v30.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","html_url":"https://github.com/swissspidy/graft/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/swissspidy%2Fgraft/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"},{"uuid":"5724861528","node_id":"PR_kwDOQk5FCc8AAAABG3bVIQ","number":160,"state":"open","title":"chore(deps): bump the dev-dependencies group across 1 directory with 9 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-10-06T07:44:29.000Z","updated_at":"2026-10-06T07:44:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dev-dependencies","update_count":9,"packages":[{"name":"@commitlint/cli","old_version":"21.2.2","new_version":"21.2.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.2.2","new_version":"21.2.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"eslint","old_version":"10.9.0","new_version":"10.12.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-n","old_version":"18.3.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"fast-xml-parser","old_version":"5.11.0","new_version":"5.11.2","repository_url":"https://github.com/NaturalIntelligence/fast-xml-parser"},{"name":"jsdom","old_version":"30.0.1","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"lefthook","old_version":"2.1.10","new_version":"2.1.16","repository_url":"https://github.com/evilmartians/lefthook"},{"name":"markdownlint-cli2","old_version":"0.23.2","new_version":"0.23.3","repository_url":"https://github.com/DavidAnson/markdownlint-cli2"},{"name":"prettier","old_version":"3.9.6","new_version":"3.9.9","repository_url":"https://github.com/prettier/prettier"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.2.2` | `21.2.3` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.2.2` | `21.2.3` |\n| [eslint](https://github.com/eslint/eslint) | `10.9.0` | `10.12.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.3.0` | `18.4.1` |\n| [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) | `5.11.0` | `5.11.2` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.0.1` | `30.1.1` |\n| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.10` | `2.1.16` |\n| [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) | `0.23.2` | `0.23.3` |\n| [prettier](https://github.com/prettier/prettier) | `3.9.6` | `3.9.9` |\n\n\nUpdates `@commitlint/cli` from 21.2.2 to 21.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.2.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): correct breaking-change-exclamation-mark rule config type by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(config-nx-scopes): read scopes from the nx project graph by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(lint): trim trailing whitespace off the message handed to ignore matchers by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4960\"\u003econventional-changelog/commitlint#4960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): detect dynamic await support on node majors above 20 by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4961\"\u003econventional-changelog/commitlint#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rules): report the case that matched in case rule failure messages by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4962\"\u003econventional-changelog/commitlint#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): run the parser factory of scoped conventional-changelog presets by \u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(load): drop the node version check gating cosmiconfig loaders by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4972\"\u003econventional-changelog/commitlint#4972\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore, ci, build, etc.\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebuild: install pnpm via npm instead of corepack by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4948\"\u003econventional-changelog/commitlint#4948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: retire the docker compose dev environment by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4949\"\u003econventional-changelog/commitlint#4949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: verify pnpm tarball against the packageManager sha512 pin by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4952\"\u003econventional-changelog/commitlint#4952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: stabilize Windows CI by raising Vitest default timeout by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: drop the Node 24 config-loading workaround note by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4976\"\u003econventional-changelog/commitlint#4976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: move pnpm settings from .npmrc to pnpm-workspace.yaml by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4977\"\u003econventional-changelog/commitlint#4977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: swap pnpm resolutionMode time-based for minimumReleaseAge by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4984\"\u003econventional-changelog/commitlint#4984\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/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\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/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elint:\u003c/strong\u003e trim trailing whitespace off the message handed to ignore matchers (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4960\"\u003e#4960\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a6f279b931bb4cf01d17a9ced48de5b9377172bd\"\u003ea6f279b\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/conventional-changelog/commitlint/commit/95d40569d2592bf9719bc27da2d51fc6b801e4ef\"\u003e\u003ccode\u003e95d4056\u003c/code\u003e\u003c/a\u003e v21.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a6f279b931bb4cf01d17a9ced48de5b9377172bd\"\u003e\u003ccode\u003ea6f279b\u003c/code\u003e\u003c/a\u003e fix(lint): trim trailing whitespace off the message handed to ignore matchers...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.2.3/@commitlint/cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/config-conventional` from 21.2.2 to 21.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.2.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): correct breaking-change-exclamation-mark rule config type by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(config-nx-scopes): read scopes from the nx project graph by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(lint): trim trailing whitespace off the message handed to ignore matchers by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4960\"\u003econventional-changelog/commitlint#4960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): detect dynamic await support on node majors above 20 by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4961\"\u003econventional-changelog/commitlint#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rules): report the case that matched in case rule failure messages by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4962\"\u003econventional-changelog/commitlint#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): run the parser factory of scoped conventional-changelog presets by \u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(load): drop the node version check gating cosmiconfig loaders by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4972\"\u003econventional-changelog/commitlint#4972\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore, ci, build, etc.\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebuild: install pnpm via npm instead of corepack by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4948\"\u003econventional-changelog/commitlint#4948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: retire the docker compose dev environment by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4949\"\u003econventional-changelog/commitlint#4949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: verify pnpm tarball against the packageManager sha512 pin by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4952\"\u003econventional-changelog/commitlint#4952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: stabilize Windows CI by raising Vitest default timeout by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: drop the Node 24 config-loading workaround note by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4976\"\u003econventional-changelog/commitlint#4976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: move pnpm settings from .npmrc to pnpm-workspace.yaml by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4977\"\u003econventional-changelog/commitlint#4977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: swap pnpm resolutionMode time-based for minimumReleaseAge by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4984\"\u003econventional-changelog/commitlint#4984\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/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\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/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erules:\u003c/strong\u003e report the case that matched in case rule failure messages (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4962\"\u003e#4962\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/9f5f7bc0304f85f270097a4046da6d0509c44620\"\u003e9f5f7bc\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/conventional-changelog/commitlint/commit/95d40569d2592bf9719bc27da2d51fc6b801e4ef\"\u003e\u003ccode\u003e95d4056\u003c/code\u003e\u003c/a\u003e v21.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/9f5f7bc0304f85f270097a4046da6d0509c44620\"\u003e\u003ccode\u003e9f5f7bc\u003c/code\u003e\u003c/a\u003e fix(rules): report the case that matched in case rule failure messages (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4962\"\u003e#4962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.2.3/@commitlint/config-conventional\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.9.0 to 10.12.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.12.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4618052eed6bb3ef420cf0db0490bbda2fd835a5\"\u003e\u003ccode\u003e4618052\u003c/code\u003e\u003c/a\u003e feat: handle astral letters in \u003ccode\u003enew-cap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21357\"\u003e#21357\u003c/a\u003e) (sary)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4ec5168d6d6888e3f7b163eb82963d40e45a75fa\"\u003e\u003ccode\u003e4ec5168\u003c/code\u003e\u003c/a\u003e feat: allow \u003ccode\u003eSourceCode#getText()\u003c/code\u003e to accept tokens and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21340\"\u003e#21340\u003c/a\u003e) (electrohyun)\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/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e) (Daniel Pinto)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/efc4d6bdc4c4d1dfba8bdab6a8f44f27a1b1d00a\"\u003e\u003ccode\u003eefc4d6b\u003c/code\u003e\u003c/a\u003e fix: astral letters in \u003ccode\u003econsistent-return\u003c/code\u003e, \u003ccode\u003eno-eval\u003c/code\u003e, \u003ccode\u003eno-invalid-this\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21360\"\u003e#21360\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/93de066d4125f8df013d40305e8009f4634a5cba\"\u003e\u003ccode\u003e93de066\u003c/code\u003e\u003c/a\u003e fix: prefer-exponentiation-operator autofix for async function base (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21322\"\u003e#21322\u003c/a\u003e) (Vladimir Babin)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/02e34ffba6adbed72365177c7caee71d950834e5\"\u003e\u003ccode\u003e02e34ff\u003c/code\u003e\u003c/a\u003e fix: add missing space after \u003ccode\u003eelse\u003c/code\u003e in \u003ccode\u003ecurly\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21355\"\u003e#21355\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b14b8bc213ccfc19d3edcfa9ce6af62622661160\"\u003e\u003ccode\u003eb14b8bc\u003c/code\u003e\u003c/a\u003e fix: correct \u003ccode\u003eid-length\u003c/code\u003e message for long private names (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21348\"\u003e#21348\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/69aac01d898837a934c9e735e0b7881cc1df09e8\"\u003e\u003ccode\u003e69aac01\u003c/code\u003e\u003c/a\u003e fix: support \u003ccode\u003eTSFunctionType\u003c/code\u003e in \u003ccode\u003egetFunctionHeadLoc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21335\"\u003e#21335\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/686630eb34ec1cddf399a4e6eaeebb080116a532\"\u003e\u003ccode\u003e686630e\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eno-loss-of-precision\u003c/code\u003e false positive with \u003ccode\u003e0.e5\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21337\"\u003e#21337\u003c/a\u003e) (sethamus)\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/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\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/5370d7ee35a6523873f798e87f3ccc73779d5d21\"\u003e\u003ccode\u003e5370d7e\u003c/code\u003e\u003c/a\u003e docs: clarify \u003ccode\u003eone-var\u003c/code\u003e \u003ccode\u003eseparateRequires\u003c/code\u003e matches any \u003ccode\u003erequire()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21192\"\u003e#21192\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8816c1ddfcfa31318ad17cddcfb68acffa30940f\"\u003e\u003ccode\u003e8816c1d\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/3d2e7cedb7409d8a2c5f2c2fafb14fa22790e40e\"\u003e\u003ccode\u003e3d2e7ce\u003c/code\u003e\u003c/a\u003e docs: fix typo in no-unused-expressions documentation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21346\"\u003e#21346\u003c/a\u003e) (bytedoe)\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/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e) (James Ross)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/29585ceba7ad35368d1b763bd1e80d899f28842c\"\u003e\u003ccode\u003e29585ce\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-expect-type to ^0.7.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21359\"\u003e#21359\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39d79ba9650542ac66d585d1899304abd630c07d\"\u003e\u003ccode\u003e39d79ba\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21354\"\u003e#21354\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/182a6e993a8a5dbdad5a628b69ad7382d48bf24f\"\u003e\u003ccode\u003e182a6e9\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21352\"\u003e#21352\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f995127230dad258069c29b7f51971681bd53f00\"\u003e\u003ccode\u003ef995127\u003c/code\u003e\u003c/a\u003e chore: remove CLAUDE.md in favor of AGENTS.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21339\"\u003e#21339\u003c/a\u003e) (Jarren)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b95fb6cb335f82a0ccabb0944ac3b89c703bd947\"\u003e\u003ccode\u003eb95fb6c\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21347\"\u003e#21347\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3782dd458fdfbe492e600d9a54b295a9721ed815\"\u003e\u003ccode\u003e3782dd4\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21342\"\u003e#21342\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.11.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d136fa4b0d2dd4a9e738ca1c012cc674d1441127\"\u003e\u003ccode\u003ed136fa4\u003c/code\u003e\u003c/a\u003e feat: object-shorthand handle quoted properties for \u003ccode\u003eignoreConstructors\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21271\"\u003e#21271\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/397b3b8134b8ce1a61cbf414d4c29c945ba25690\"\u003e\u003ccode\u003e397b3b8\u003c/code\u003e\u003c/a\u003e feat: report unsafe labeled \u003ccode\u003econtinue\u003c/code\u003e in \u003ccode\u003eno-unsafe-finally\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21316\"\u003e#21316\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d3dd47f42e4cb5f9da27e3a2e741aa21e02ea1a4\"\u003e\u003ccode\u003ed3dd47f\u003c/code\u003e\u003c/a\u003e feat: only exempt \u003ccode\u003enew-cap\u003c/code\u003e built-ins that reference the global (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21290\"\u003e#21290\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/22b09f54f67a9512d4cea39ddbab9b6973d5c476\"\u003e\u003ccode\u003e22b09f5\u003c/code\u003e\u003c/a\u003e fix: ignore \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eprefer-object-spread\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21311\"\u003e#21311\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b684bb1cd7e6be03ad1b7a951baead936d9c2166\"\u003e\u003ccode\u003eb684bb1\u003c/code\u003e\u003c/a\u003e fix: make TimePass.parse optional in types and docs (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21313\"\u003e#21313\u003c/a\u003e) (ntnyq)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/26d11bce3e0e21f223613d4bb4be3423839b229e\"\u003e\u003ccode\u003e26d11bc\u003c/code\u003e\u003c/a\u003e fix: don't report \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eobject-shorthand\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21310\"\u003e#21310\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/9ecfdc5319f83580cf3b81beab7e936015fef2fa\"\u003e\u003ccode\u003e9ecfdc5\u003c/code\u003e\u003c/a\u003e docs: note that --cache can serve stale results for cross-file rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21312\"\u003e#21312\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6c789ff39bc5420e94e8dafeb328bf2b7e3d35ab\"\u003e\u003ccode\u003e6c789ff\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/5997825635dc9c4e81434894607ef2e3887e0ea3\"\u003e\u003ccode\u003e5997825\u003c/code\u003e\u003c/a\u003e docs: clarify preserve-caught-error known limitation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21294\"\u003e#21294\u003c/a\u003e) (Akinyemi Toluwalase)\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/a438ec39512c3381f4785a1f3058982ce9845970\"\u003e\u003ccode\u003ea438ec3\u003c/code\u003e\u003c/a\u003e 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/32a73f144198510e23c40c5ca6808e2c09b7e5e5\"\u003e\u003ccode\u003e32a73f1\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.9.0...v10.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 18.3.0 to 18.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\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/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\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/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fast-xml-parser` from 5.11.0 to 5.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/releases\"\u003efast-xml-parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: decode Uint8Array XML input as UTF-8 by \u003ca href=\"https://github.com/emme1t\"\u003e\u003ccode\u003e@​emme1t\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/875\"\u003eNaturalIntelligence/fast-xml-parser#875\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: type EntityDecoderOptions.setXmlVersion's version as a number by \u003ca href=\"https://github.com/YevheniiKotyrlo\"\u003e\u003ccode\u003e@​YevheniiKotyrlo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/880\"\u003eNaturalIntelligence/fast-xml-parser#880\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/emme1t\"\u003e\u003ccode\u003e@​emme1t\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/875\"\u003eNaturalIntelligence/fast-xml-parser#875\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/YevheniiKotyrlo\"\u003e\u003ccode\u003e@​YevheniiKotyrlo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/880\"\u003eNaturalIntelligence/fast-xml-parser#880\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.1...v5.11.2\"\u003ehttps://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.1...v5.11.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.11.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 7.0.0 to 7.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/858\"\u003eNaturalIntelligence/fast-xml-parser#858\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump zizmorcore/zizmor-action from 0.5.7 to 0.6.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/856\"\u003eNaturalIntelligence/fast-xml-parser#856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-node from 6.4.0 to 7.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/854\"\u003eNaturalIntelligence/fast-xml-parser#854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix two 404 documentation links by \u003ca href=\"https://github.com/rajanpanth\"\u003e\u003ccode\u003e@​rajanpanth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/862\"\u003eNaturalIntelligence/fast-xml-parser#862\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/rajanpanth\"\u003e\u003ccode\u003e@​rajanpanth\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/862\"\u003eNaturalIntelligence/fast-xml-parser#862\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.0...v5.11.1\"\u003ehttps://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.0...v5.11.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md\"\u003efast-xml-parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003eNote: If you find missing information about particular minor version, that version must have been changed without any functional change in this library.\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003cp\u003eNote: Due to some last quick changes on v4, detail of v4.5.3 \u0026amp; v4.5.4 are not updated here. v4.5.4x is the last tag of v4 in github repository. I'm extremely sorry for the confusion\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e5.11.2 / 2026-09-29\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/875\"\u003e#875\u003c/a\u003e): decode Uint8Array XML input as UTF-8 (By emme1t)\u003c/li\u003e\n\u003cli\u003efix (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/880\"\u003e#880\u003c/a\u003e) :type EntityDecoderOptions.setXmlVersion's version as a number (By Yevhenii Kotyrlo)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.11.1 / 2026-08-27\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: validator; Replace regex with a single-pass scanner for attribute tokens, eliminating quadratic behavior on long whitespace runs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.11.0 / 2026-08-16\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support for endIndex in node metadata (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/850\"\u003e#850\u003c/a\u003e) [By \u003ca href=\"https://github.com/Wain-PC\"\u003ePavel Dranichnikov\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003efix: don't crash on a closing tag with no matching opening tag (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/861\"\u003e#861\u003c/a\u003e) [By \u003ca href=\"https://github.com/hdimer\"\u003eHaïm Dimer\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003efix: DOCTYPE to read SYSTEM/PUBLIC\u003c/li\u003e\n\u003cli\u003edeps: strnum v2.4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.10.1 / 2026-07-17\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: multiple DOCTYPE declarations.\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003e@nodable/entities\u003c/code\u003e for treeshaking\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.10.0 / 2026-07-11\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade:\n\u003cul\u003e\n\u003cli\u003exml-naming v0.3.0: cache support\u003c/li\u003e\n\u003cli\u003ePEM v1.6.2: sibling bug fix\u003c/li\u003e\n\u003cli\u003eis-unsafe v2.0.0: tree shaking\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.3 / 2026-06-19\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupdate strnum\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.2 / 2026-06-17\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edummy release to test changes in github action\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.1 / 2026-06-17\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edummy release to test release from github action\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.0 / 2026-06-15\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupdate strnum to 2.3.0\n\u003cul\u003e\n\u003cli\u003eyou can set hex, binary, enotation, infinity, unicode\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003evalidate unsafe HTML or XML data in doctype entities unsing 'is-unsafe' library.\nUser can override rules by overriding EntityDecoder.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.8.0 / 2026-05-12\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eintegrate xml-naming to validate DOCTYPE entity name and notation name (using qname becaue of backward compatibility)\n\u003cul\u003e\n\u003cli\u003eThis will consider xml-version as well. '1.0' is default\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eupdate strnum to 2.3.0\n\u003cul\u003e\n\u003cli\u003eYou can set octal and binary parsing which is bydeault off\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eupdate fast-xml-builder to 1.2.0\n\u003cul\u003e\n\u003cli\u003ecan sanitize tag names if found invalid\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/NaturalIntelligence/fast-xml-parser/commit/80e88a848b073fd630bc181291a24922c6d1e839\"\u003e\u003ccode\u003e80e88a8\u003c/code\u003e\u003c/a\u003e 5.11.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/0718e417385d109bc63f509ef0821b0328c4e2d8\"\u003e\u003ccode\u003e0718e41\u003c/code\u003e\u003c/a\u003e changelog, browser bundles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/1a6646b8949ca54f2e2ea205a5923a9980d8fa1d\"\u003e\u003ccode\u003e1a6646b\u003c/code\u003e\u003c/a\u003e deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/d39644185031299e2f5a84241dcce9bcd3238095\"\u003e\u003ccode\u003ed396441\u003c/code\u003e\u003c/a\u003e audit fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/513d0b3cac51a52d62d79cdf01440aa3bbc21553\"\u003e\u003ccode\u003e513d0b3\u003c/code\u003e\u003c/a\u003e fix: type EntityDecoderOptions.setXmlVersion's version as a number (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/880\"\u003e#880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/bb2ec6ce4bfc3f62d621df6e6bf2b3152965175a\"\u003e\u003ccode\u003ebb2ec6c\u003c/code\u003e\u003c/a\u003e fix: decode Uint8Array XML input as UTF-8 (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/875\"\u003e#875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/3617550adfb280989f482d662b7e9ece55a32a34\"\u003e\u003ccode\u003e3617550\u003c/code\u003e\u003c/a\u003e 5.11.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/6021128c3251d4c1456d2c6cd8442a5005a1f39a\"\u003e\u003ccode\u003e6021128\u003c/code\u003e\u003c/a\u003e update for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/6ddcb65f240005988457af6af6dd68fa0947acf5\"\u003e\u003ccode\u003e6ddcb65\u003c/code\u003e\u003c/a\u003e remove regex from validator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/7d608151078d47040841e9804d490feb5c07dfe7\"\u003e\u003ccode\u003e7d60815\u003c/code\u003e\u003c/a\u003e docs: fix two 404 documentation links (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/862\"\u003e#862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.0...v5.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.0.1 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.0.1...v30.1.1\"\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.10 to 2.1.16\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.16\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e3ee04318fd06d56a70cc9c90dc8385b19918f520 ci: refactor publishing scripts (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1559\"\u003e#1559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e91407e537b2fa36539506963a33e582dca394798 deps: bump mod and text deps to resolve CVEs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1560\"\u003e#1560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebe6f0ae8793533449cb9a07a253fa9a381e82206 fix: preserve unrelated unstaged changes on conflict (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1483\"\u003e#1483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecf4ef1e19baf0581871f69b40914d64c94ff19d7 fix: test staging fixed files with partially staged\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.15\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e2388dde2b31dc9a782e967764046b41b404cece9 feat: propagate forced colors to hook commands via CLICOLOR_FORCE (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1547\"\u003e#1547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e49260b57c2a56bc4d65d09395458bb3ce3c63311 fix(lfs): do not pipe stdin into post-checkout git-lfs hook (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1523\"\u003e#1523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38bc1c6cef3192a36002d0dcc37973416249c07e fix: quote paths in the generated hook shim (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1509\"\u003e#1509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e0892f5f256ebe162485492af5ca14c2ced45586f fix: remove color blending (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1558\"\u003e#1558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ef1de41cd5cd6a6c5e0179c65e00d5ed6d90078c2 fix: resolve push-files fallback against the remote-tracking ref (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1485\"\u003e#1485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e07ce565bcc73465bc18fb36561b935ee2a53eab6 fix: sanitize slashes in remote ref when building the checkout dir name (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1486\"\u003e#1486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec465ca8ef4fc9ee0695aa4a9530fc404ed838b7a test(cmd): regression for valid fish shell completion output (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1527\"\u003e#1527\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.14\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003ev2.1.12\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eb8350fde604197b2422adfc4ae0af080725822b9 ci: fix npm publishing by bumping Node to 24 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1508\"\u003e#1508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9fb290d786a0e122fe113b1b49a45bbd0ffa7d28 fix: LEFTHOOK_OUTPUT precedence (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1506\"\u003e#1506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2f0a9f37cef73e10d95043ba3754329a21850d57 fix: fail the hook when staging fixed files errors (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1484\"\u003e#1484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.11\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ee5b10ac3a2645784ee2e4260620c49c31b44992a deps: bump Go to 1.26.6 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1495\"\u003e#1495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed4a259f460b7c1d8c512dd75eedc7068310ee961 fix: inherit terminal size for PTY commands (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1498\"\u003e#1498\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.16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: test staging fixed files with partially staged by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve unrelated unstaged changes on conflict (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1483\"\u003e#1483\u003c/a\u003e) by \u003ca href=\"https://github.com/Sakshamm-Goyal\"\u003e\u003ccode\u003e@​Sakshamm-Goyal\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump mod and text deps to resolve CVEs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1560\"\u003e#1560\u003c/a\u003e) by \u003ca href=\"https://github.com/devindavies\"\u003e\u003ccode\u003e@​devindavies\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: refactor publishing scripts (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1559\"\u003e#1559\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: do not pipe stdin into post-checkout git-lfs hook (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1523\"\u003e#1523\u003c/a\u003e) by \u003ca href=\"https://github.com/rwinkelman\"\u003e\u003ccode\u003e@​rwinkelman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove color blending (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1558\"\u003e#1558\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve push-files fallback against the remote-tracking ref (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1485\"\u003e#1485\u003c/a\u003e) by \u003ca href=\"https://github.com/hamodywe\"\u003e\u003ccode\u003e@​hamodywe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: regression for valid fish shell completion output (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1527\"\u003e#1527\u003c/a\u003e) by \u003ca href=\"https://github.com/rwinkelman\"\u003e\u003ccode\u003e@​rwinkelman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: sanitize slashes in remote ref when building the checkout dir name (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1486\"\u003e#1486\u003c/a\u003e) by \u003ca href=\"https://github.com/hamodywe\"\u003e\u003ccode\u003e@​hamodywe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: quote paths in the generated hook shim (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1509\"\u003e#1509\u003c/a\u003e) by \u003ca href=\"https://github.com/addielaruee\"\u003e\u003ccode\u003e@​addielaruee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: propagate forced colors to hook commands via CLICOLOR_FORCE (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1547\"\u003e#1547\u003c/a\u003e) by \u003ca href=\"https://github.com/Yash121l\"\u003e\u003ccode\u003e@​Yash121l\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.13/2.1.14 (2026-09-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: error when --job/--command matches nothing (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1512\"\u003e#1512\u003c/a\u003e) by \u003ca href=\"https://github.com/nityanand123gupta\"\u003e\u003ccode\u003e@​nityanand123gupta\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disable tty things when stdout is not TTY (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1545\"\u003e#1545\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document files inheritance for grouped jobs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1536\"\u003e#1536\u003c/a\u003e) by \u003ca href=\"https://github.com/chiliec\"\u003e\u003ccode\u003e@​chiliec\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: force colors when colors are explicitly enabled (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1538\"\u003e#1538\u003c/a\u003e) by \u003ca href=\"https://github.com/Yash121l\"\u003e\u003ccode\u003e@​Yash121l\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve file_types paths from the repo root (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1537\"\u003e#1537\u003c/a\u003e) by \u003ca href=\"https://github.com/Yash121l\"\u003e\u003ccode\u003e@​Yash121l\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: don't force-install hooks from the npm postinstall (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1510\"\u003e#1510\u003c/a\u003e) by \u003ca href=\"https://github.com/hamodywe\"\u003e\u003ccode\u003e@​hamodywe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: quote template run examples (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1472\"\u003e#1472\u003c/a\u003e) by \u003ca href=\"https://github.com/Guflly\"\u003e\u003ccode\u003e@​Guflly\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.12 (2026-08-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: fail the hook when staging fixed files errors (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1484\"\u003e#1484\u003c/a\u003e) by \u003ca href=\"https://github.com/teddytennant\"\u003e\u003ccode\u003e@​teddytennant\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: LEFTHOOK_OUTPUT precedence (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1506\"\u003e#1506\u003c/a\u003e) by \u003ca href=\"https://github.com/Yuki9814\"\u003e\u003ccode\u003e@​Yuki9814\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix npm publishing by bumping Node to 24 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1508\"\u003e#1508\u003c/a\u003e) by \u003ca href=\"https://github.com/mariokresic\"\u003e\u003ccode\u003e@​mariokresic\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.11 (2026-08-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: inherit terminal size for PTY commands (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1498\"\u003e#1498\u003c/a\u003e) by \u003ca href=\"https://github.com/mariokresic\"\u003e\u003ccode\u003e@​mariokresic\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: correct Lefthook commit message configuration (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1499\"\u003e#1499\u003c/a\u003e) by \u003ca href=\"https://github.com/codersjj\"\u003e\u003ccode\u003e@​codersjj\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: hide contributors regenerate tip from the site (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1500\"\u003e#1500\u003c/a\u003e) by \u003ca href=\"https://github.com/MikevPeeren\"\u003e\u003ccode\u003e@​MikevPeeren\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify signed-off commit example (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1492\"\u003e#1492\u003c/a\u003e) by \u003ca href=\"https://github.com/nightcityblade\"\u003e\u003ccode\u003e@​nightcityblade\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump Go to 1.26.6 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1495\"\u003e#1495\u003c/a\u003e) by \u003ca href=\"https://github.com/quaacxlok\"\u003e\u003ccode\u003e@​quaacxlok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix em notice by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update docmd (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1481\"\u003e#1481\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix EM mention HTML by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify remote script folders (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1477\"\u003e#1477\u003c/a\u003e) by \u003ca href=\"https://github.com/scop\"\u003e\u003ccode\u003e@​scop\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document script args (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1479\"\u003e#1479\u003c/a\u003e) by \u003ca href=\"https://github.com/lntutor\"\u003e\u003ccode\u003e@​lntutor\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update em logo by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\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/433e6b9067d5d138bf63b47403e0df8895a40e33\"\u003e\u003ccode\u003e433e6b9\u003c/code\u003e\u003c/a\u003e 2.1.16: preserve unrelated unstaged changes on conflicts after autofixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/cf4ef1e19baf0581871f69b40914d64c94ff19d7\"\u003e\u003ccode\u003ecf4ef1e\u003c/code\u003e\u003c/a\u003e fix: test staging fixed files with partially staged\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/be6f0ae8793533449cb9a07a253fa9a381e82206\"\u003e\u003ccode\u003ebe6f0ae\u003c/code\u003e\u003c/a\u003e fix: preserve unrelated unstaged changes on conflict (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1483\"\u003e#1483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/91407e537b2fa36539506963a33e582dca394798\"\u003e\u003ccode\u003e91407e5\u003c/code\u003e\u003c/a\u003e deps: bump mod and text deps to resolve CVEs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1560\"\u003e#1560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmar...\n\n_Description has been truncated_","html_url":"https://github.com/jonathan-vella/apex-accelerator/pull/160","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathan-vella%2Fapex-accelerator/issues/160","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/160/packages"},{"uuid":"5721605668","node_id":"PR_kwDOU9ZQ188AAAABG02YuA","number":7,"state":"open","title":"deps(frontend): Bump jsdom from 24.1.3 to 30.1.1 in /frontend","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-10-06T01:47:31.000Z","updated_at":"2026-10-06T02:03:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(frontend): Bump","packages":[{"name":"jsdom","old_version":"24.1.3","new_version":"30.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 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v24.1.3...v30.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","html_url":"https://github.com/geoai-latam/geo-copilot/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/geoai-latam%2Fgeo-copilot/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"},{"uuid":"5720960201","node_id":"PR_kwDOU9MZws8AAAABG0Vo-A","number":63,"state":"open","title":"Bump jsdom from 25.0.1 to 30.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-10-06T00:31:41.000Z","updated_at":"2026-10-06T00:34:00.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"jsdom","old_version":"25.0.1","new_version":"30.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 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v25.0.1...v30.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=30.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\n\n\u003c!-- angada-body-summary:start --\u003e\n## Summary by Angada\n\n`2 files` `+452` `-282` `jsdom major: 25 → 30` `New packages: 14` `Removed packages: 9`\n\nBumps the jsdom dev dependency of the admin-ui workspace from 25.0.1 to 30.1.1 and re-resolves the lockfile, pulling a new DOM/CSS parsing stack and newer Babel, browserslist and undici transitive versions.\n\n1. **Manifest raises the jsdom floor** — admin-ui/package.json swaps jsdom ^25.0.1 for ^30.1.1 in devDependencies; nothing else in the workspace changes.\n2. **Lockfile re-resolves the graph** — pnpm-lock.yaml pins jsdom 30.1.1 and rewrites the transitive tree, adding selector, CSS color and bytes packages.\n3. **jsdom internals are replaced** — Selector matching, CSS color parsing, HTML parsing and URL handling move to new major versions of their packages.\n4. **Vitest picks up the new peer** — Both admin-ui and create-keycloak-theme vitest entries now resolve against jsdom 30.1.1 instead of 25.0.1.\n5. **Node floor moves with it** — jsdom 30 requires Node ^22.22.2 || ^24.15.0 || \u0026gt;=26.0.0, so the test environment must meet that.\n\n```mermaid\nflowchart LR\n  subgraph l0[\"Entry points\"]\n    n0[\"package.json\u003cbr/\u003e\u003csmall\u003eadmin-ui devDependencies\u003c/small\u003e\"]:::modified\n    n1[\"pnpm-lock.yaml\u003cbr/\u003e\u003csmall\u003eResolved dependency graph\u003c/small\u003e\"]:::modified\n  end\n  subgraph l1[\"Application\"]\n    n2[\"vitest\u003cbr/\u003e\u003csmall\u003eTest runner, jsdom peer\u003c/small\u003e\"]:::modified\n    n3[\"jsdom\u003cbr/\u003e\u003csmall\u003eDOM implementation for tests\u003c/small\u003e\"]:::modified\n  end\n  subgraph l2[\"Adapters\"]\n    n4[\"@asamuzakjp/dom-selector\u003cbr/\u003e\u003csmall\u003eSelector engine\u003c/small\u003e\"]:::added\n    n5[\"@asamuzakjp/css-color\u003cbr/\u003e\u003csmall\u003eCSS color resolution\u003c/small\u003e\"]:::added\n    n6[\"parse5\u003cbr/\u003e\u003csmall\u003eHTML parser\u003c/small\u003e\"]:::modified\n    n7[\"whatwg-url\u003cbr/\u003e\u003csmall\u003eURL and encoding\u003c/small\u003e\"]:::modified\n    n8[\"tough-cookie\u003cbr/\u003e\u003csmall\u003eCookie jar\u003c/small\u003e\"]:::modified\n    n9[\"@babel/core\u003cbr/\u003e\u003csmall\u003eTranspiler, transitive\u003c/small\u003e\"]:::modified\n    n10[\"browserslist\u003cbr/\u003e\u003csmall\u003eTarget resolution\u003c/small\u003e\"]:::modified\n  end\n  subgraph l3[\"External\"]\n    n11[\"undici\u003cbr/\u003e\u003csmall\u003eHTTP client\u003c/small\u003e\"]:::modified\n  end\n  l0 ~~~ l1\n  l1 ~~~ l2\n  l2 ~~~ l3\n  n0 ==\u003e|\"declares ^30.1.1\"| n3\n  n1 ==\u003e|\"resolves 30.1.1\"| n3\n  n2 --\u003e|\"runs tests in\"| n3\n  n3 --\u003e|\"queries with\"| n4\n  n3 --\u003e|\"parses colors with\"| n5\n  n3 --\u003e|\"parses HTML with\"| n6\n  n3 --\u003e|\"builds URLs with\"| n7\n  n3 --\u003e|\"stores cookies in\"| n8\n  n3 --\u003e|\"fetches with\"| n11\n  n9 --\u003e|\"resolves targets via\"| n10\n  classDef added fill:#dcfce7,stroke:#16a34a,color:#14532d\n  classDef modified fill:#fef3c7,stroke:#d97706,color:#78350f\n  classDef removed fill:#fee2e2,stroke:#dc2626,color:#7f1d1d,stroke-dasharray:4\n  classDef unchanged fill:#f4f4f5,stroke:#a1a1aa,color:#3f3f46\n  style l0 fill:none\n  style l1 fill:none\n  style l2 fill:none\n  style l3 fill:none\n```\n\n\u003cdetails\u003e\u003csummary\u003eData flow\u003c/summary\u003e\n\n```mermaid\nsequenceDiagram\n  participant p0 as package.json\n  participant p1 as pnpm-lock.yaml\n  participant p2 as jsdom\n  participant p3 as vitest\n  p0-\u003e\u003ep1: jsdom ^30.1.1\n  p1-\u003e\u003ep2: resolve 30.1.1\n  p2--\u003e\u003ep1: transitive tree\n  p1-\u003e\u003ep3: jsdom@30.1.1 peer\n  p3--\u003e\u003ep0: install complete\n```\n\n\u003c/details\u003e\n\n\u003ca href=\"https://app.angada.ai/angada-bench/angada-bench/keycloak__keycloak__angada-2026-10__PR33832__20261006/pull/63?utm_source=github\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\u003cimg alt=\"Review with angada\" src=\"https://img.shields.io/badge/Review_with_angada-1f2328?style=for-the-badge\"\u003e\u003c/a\u003e\n\u003c!-- angada-body-summary:end --\u003e","html_url":"https://github.com/angada-bench/keycloak__keycloak__angada-2026-10__PR33832__20261006/pull/63","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/angada-bench%2Fkeycloak__keycloak__angada-2026-10__PR33832__20261006/issues/63","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/63/packages"},{"uuid":"5720479617","node_id":"PR_kwDOUbRSs88AAAABGz84sg","number":31,"state":"closed","title":"build(deps): bump the web group in /web with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-10-06T00:49:08.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-05T23:39:27.000Z","updated_at":"2026-10-06T00:49:11.000Z","time_to_close":4181,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"web","update_count":12,"packages":[{"name":"@tanstack/react-query","old_version":"5.103.2","new_version":"5.104.1","repository_url":"https://github.com/TanStack/query"},{"name":"@tanstack/react-table","old_version":"8.21.3","new_version":"9.2.4","repository_url":"https://github.com/TanStack/table"},{"name":"react","old_version":"18.3.1","new_version":"19.3.0","repository_url":"https://github.com/react/react"},{"name":"@types/react","old_version":"18.3.31","new_version":"19.3.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-dom","old_version":"18.3.1","new_version":"19.3.0","repository_url":"https://github.com/react/react"},{"name":"@types/react-dom","old_version":"18.3.7","new_version":"19.3.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-router","old_version":"7.18.4","new_version":"8.4.0","repository_url":"https://github.com/remix-run/react-router"},{"name":"@types/node","old_version":"22.20.4","new_version":"26.6.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"jsdom","old_version":"25.0.1","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"typescript","old_version":"5.9.3","new_version":"7.0.2","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"vite","old_version":"8.3.1","new_version":"8.3.2","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"5.0.1","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"}],"path":"/web","ecosystem":"npm"},"body":"Bumps the web group in /web with 12 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.103.2` | `5.104.1` |\n| [@tanstack/react-table](https://github.com/TanStack/table/tree/HEAD/packages/react-table) | `8.21.3` | `9.2.4` |\n| [react](https://github.com/react/react/tree/HEAD/packages/react) | `18.3.1` | `19.3.0` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `18.3.31` | `19.3.0` |\n| [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) | `18.3.1` | `19.3.0` |\n| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `18.3.7` | `19.3.0` |\n| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `7.18.4` | `8.4.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.20.4` | `26.6.4` |\n| [jsdom](https://github.com/jsdom/jsdom) | `25.0.1` | `30.1.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `7.0.2` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.3.1` | `8.3.2` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.1` | `5.0.3` |\n\nUpdates `@tanstack/react-query` from 5.103.2 to 5.104.1\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'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.104.1\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/ec060b6f74b2e51f4b0c78932beec656ef6f6878\"\u003e\u003ccode\u003eec060b6\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.104.1\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.104.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-next-experimental\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.104.1\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/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.104.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-persist-client\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.104.1\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-persist-client-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.104.1\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.104.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\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.104.1\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-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.104.1\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.104.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/TanStack/query/pull/11650\"\u003e#11650\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/query/commit/5279b05211223dd719803ca22a9d1fa46c98638e\"\u003e\u003ccode\u003e5279b05\u003c/code\u003e\u003c/a\u003e - Build projects with Vite 8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/5279b05211223dd719803ca22a9d1fa46c98638e\"\u003e\u003ccode\u003e5279b05\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.104.0\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.104.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-next-experimental\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.104.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/TanStack/query/pull/11650\"\u003e#11650\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/query/commit/5279b05211223dd719803ca22a9d1fa46c98638e\"\u003e\u003ccode\u003e5279b05\u003c/code\u003e\u003c/a\u003e - Build projects with Vite 8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/5279b05211223dd719803ca22a9d1fa46c98638e\"\u003e\u003ccode\u003e5279b05\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.104.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-persist-client\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.104.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/blob/main/packages/react-query/CHANGELOG.md\"\u003e@​tanstack/react-query's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.104.1\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-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.104.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.104.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/TanStack/query/pull/11650\"\u003e#11650\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/query/commit/5279b05211223dd719803ca22a9d1fa46c98638e\"\u003e\u003ccode\u003e5279b05\u003c/code\u003e\u003c/a\u003e - Build projects with Vite 8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/5279b05211223dd719803ca22a9d1fa46c98638e\"\u003e\u003ccode\u003e5279b05\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.104.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.103.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/TanStack/query/pull/11647\"\u003e#11647\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/query/commit/1c9693eac75495a04ae4328a35818b1fdf264978\"\u003e\u003ccode\u003e1c9693e\u003c/code\u003e\u003c/a\u003e - fix(codemods): avoid copying unnecessary files from codemods project\u003c/li\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.103.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/29859ae60c8dca0a5cdbf8abccc775b655cf43e2\"\u003e\u003ccode\u003e29859ae\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/11806\"\u003e#11806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/339e09f4e50f5e693e7d9d35b25ecac43f818cd0\"\u003e\u003ccode\u003e339e09f\u003c/code\u003e\u003c/a\u003e chore(*): manage 'react' eslint plugins with pnpm 'catalog' (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/11781\"\u003e#11781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/0a5727935a56db69e720222730e28523400c8f30\"\u003e\u003ccode\u003e0a57279\u003c/code\u003e\u003c/a\u003e test({react,preact,solid,angular}-query/mutationOptions): fix 'mutationOpt1' ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/c51bb623bb3999aa28aa7afde404d054689d2ee0\"\u003e\u003ccode\u003ec51bb62\u003c/code\u003e\u003c/a\u003e chore(*): declare '\u003ccode\u003e@​eslint-react/eslint-plugin\u003c/code\u003e' in the react packages and exa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/a91461326bd6708601104b2cfdb27af72c59dc7a\"\u003e\u003ccode\u003ea914613\u003c/code\u003e\u003c/a\u003e chore(*): declare 'eslint-plugin-react-hooks' in the react packages that use ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/d99c84b6b55775ce8ef4eca41f24ee90aefc578e\"\u003e\u003ccode\u003ed99c84b\u003c/code\u003e\u003c/a\u003e chore(*): update '\u003ccode\u003e@​eslint-react/eslint-plugin\u003c/code\u003e' to v5 and apply its 'recommend...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/fd96529f3e0b748874be4655516caecc5d6a0521\"\u003e\u003ccode\u003efd96529\u003c/code\u003e\u003c/a\u003e chore(*): update 'eslint-plugin-react-hooks' to v7 and use its stable 'recomm...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/e878990b869da186ade549145193cfc718ca3330\"\u003e\u003ccode\u003ee878990\u003c/code\u003e\u003c/a\u003e chore(*): manage 'react' packages with pnpm 'catalog' (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/11712\"\u003e#11712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/2e1ad64b525f6ff2034f169ab9c2f48f82f17296\"\u003e\u003ccode\u003e2e1ad64\u003c/code\u003e\u003c/a\u003e chore(*): declare 'npm-run-all2' once in the root 'package.json' like other s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/c1de23a80e8c2b69299101c9fb6b22bc7c17552f\"\u003e\u003ccode\u003ec1de23a\u003c/code\u003e\u003c/a\u003e chore(*): manage 'typescript' with pnpm 'catalog' and declare it in each pack...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TanStack/query/commits/@tanstack/react-query@5.104.1/packages/react-query\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tanstack/react-table` from 8.21.3 to 9.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/table/releases\"\u003e@​tanstack/react-table's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-table\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.2.4\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/table/commit/f72e5164bcfe749403ec173035c226f8719647fc\"\u003e\u003ccode\u003ef72e516\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.2.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-table\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.2.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/table/commit/468f26768d6f7e31010e14c3363b54696cb6a1eb\"\u003e\u003ccode\u003e468f267\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/TanStack/table/commit/3b946481795b53a53d6d823cea0ab3e368befec7\"\u003e\u003ccode\u003e3b94648\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.2.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-table-devtools\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.2\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/table-devtools\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-table\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/table/commit/ff436663f808e22091e8a4d2ee7ca81b37ea99c2\"\u003e\u003ccode\u003eff43666\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-table-devtools\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.1\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/table-devtools\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-table\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/table/commit/269e0d81c8b5c128de01cbab4ddb40240a4b8b38\"\u003e\u003ccode\u003e269e0d8\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.1\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/table/blob/main/packages/react-table/CHANGELOG.md\"\u003e@​tanstack/react-table's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.2.4\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/table/commit/f72e5164bcfe749403ec173035c226f8719647fc\"\u003e\u003ccode\u003ef72e516\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.2.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.2.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/table/commit/468f26768d6f7e31010e14c3363b54696cb6a1eb\"\u003e\u003ccode\u003e468f267\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/TanStack/table/commit/3b946481795b53a53d6d823cea0ab3e368befec7\"\u003e\u003ccode\u003e3b94648\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.2.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.1.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/table/commit/ff436663f808e22091e8a4d2ee7ca81b37ea99c2\"\u003e\u003ccode\u003eff43666\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.1.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/table/commit/269e0d81c8b5c128de01cbab4ddb40240a4b8b38\"\u003e\u003ccode\u003e269e0d8\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.1.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/table/commit/09598d2e413fe63396d183a8a4fc145c31c6d2ea\"\u003e\u003ccode\u003e09598d2\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.0.1\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/TanStack/table/pull/6521\"\u003e#6521\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/table/commit/10accb27cef872d84118580dba03b541c887378e\"\u003e\u003ccode\u003e10accb2\u003c/code\u003e\u003c/a\u003e - Column defs built with \u003ccode\u003elegacyCreateColumnHelper\u003c/code\u003e now accept the built-in \u003ccode\u003efilterFn\u003c/code\u003e, \u003ccode\u003esortFn\u003c/code\u003e, and \u003ccode\u003eaggregationFn\u003c/code\u003e names, matching the registries \u003ccode\u003euseLegacyTable\u003c/code\u003e registers at runtime.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.0.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.0.0\u003c/h2\u003e\n\u003ch3\u003eMajor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/TanStack/table/pull/6512\"\u003e#6512\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/table/commit/2327f80906bebbfef5766cebf556d195952f459e\"\u003e\u003ccode\u003e2327f80\u003c/code\u003e\u003c/a\u003e - TanStack Table v9 stable release. See the \u0026quot;Migrating to V9\u0026quot; guide for your framework (e.g. \u003ca href=\"https://tanstack.com/table/latest/docs/framework/react/guide/migrating\"\u003eReact\u003c/a\u003e) for upgrade instructions.\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/TanStack/table/commit/d01c01bedbab0ff6c2641f18b2fc9a11545d9bf6\"\u003e\u003ccode\u003ed01c01b\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/table/tree/HEAD/packages/react-table/issues/6580\"\u003e#6580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/table/commit/f72e5164bcfe749403ec173035c226f8719647fc\"\u003e\u003ccode\u003ef72e516\u003c/code\u003e\u003c/a\u003e fix: Add realtime (w/ fake data) trading table example (\u003ca href=\"https://github.com/TanStack/table/tree/HEAD/packages/react-table/issues/6561\"\u003e#6561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/table/commit/3bfc1bf60b3f00218394b744939eda4699e9ca2b\"\u003e\u003ccode\u003e3bfc1bf\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/table/tree/HEAD/packages/react-table/issues/6575\"\u003e#6575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/table/commit/ac4f1345220649da3c60a24471b7f130fb159ab4\"\u003e\u003ccode\u003eac4f134\u003c/code\u003e\u003c/a\u003e docs: add react compiler guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/table/commit/faa261b54c00ab4758861c1903bfce70a158f1c6\"\u003e\u003ccode\u003efaa261b\u003c/code\u003e\u003c/a\u003e feat: support latest TanStack Devtools and refresh package versions (\u003ca href=\"https://github.com/TanStack/table/tree/HEAD/packages/react-table/issues/6553\"\u003e#6553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/table/commit/ff7653dad0bf1525ed8c3e8d6fe2e64c64e8a280\"\u003e\u003ccode\u003eff7653d\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/table/tree/HEAD/packages/react-table/issues/6533\"\u003e#6533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/table/commit/ff436663f808e22091e8a4d2ee7ca81b37ea99c2\"\u003e\u003ccode\u003eff43666\u003c/code\u003e\u003c/a\u003e refactor(table-core): centralize no-op state update guarding in setStateSlice...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/table/commit/058a5208ef56a03a6e7caeaf64adb6be49830b2d\"\u003e\u003ccode\u003e058a520\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/table/tree/HEAD/packages/react-table/issues/6531\"\u003e#6531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/table/commit/3af6abca64da187e1cdf16ae370716d2d94cdf60\"\u003e\u003ccode\u003e3af6abc\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/table/tree/HEAD/packages/react-table/issues/6527\"\u003e#6527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/table/commit/896e998827555b6d851c443fd54fc105bac00363\"\u003e\u003ccode\u003e896e998\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/table/tree/HEAD/packages/react-table/issues/6525\"\u003e#6525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TanStack/table/commits/@tanstack/react-table@9.2.4/packages/react-table\"\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@​tanstack/react-table\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react` from 18.3.1 to 19.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/react/react/releases\"\u003ereact's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e19.3.0 (September 9, 2026)\u003c/h2\u003e\n\u003cp\u003eBelow is a list of all new features, APIs, and bug fixes.\u003c/p\u003e\n\u003cp\u003eRead the \u003ca href=\"https://react.dev/blog/2026/09/09/react-19-3\"\u003eReact 19.3 release post\u003c/a\u003e for more information.\u003c/p\u003e\n\u003ch2\u003eNew React Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e\u0026lt;ViewTransition /\u0026gt;\u003c/code\u003e: Adds \u003ccode\u003e\u0026lt;ViewTransition /\u0026gt;\u003c/code\u003e and \u003ccode\u003eaddTransitionType\u003c/code\u003e APIs to power View Transition animations in React (\u003ca href=\"https://github.com/sebmarkbage\"\u003e\u003ccode\u003e@​sebmarkbage\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jackpope\"\u003e\u003ccode\u003e@​jackpope\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gaearon\"\u003e\u003ccode\u003e@​gaearon\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/31975\"\u003e#31975\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/31987\"\u003e#31987\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/31996\"\u003e#31996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/31999\"\u003e#31999\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32001\"\u003e#32001\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32002\"\u003e#32002\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32028\"\u003e#32028\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32029\"\u003e#32029\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32031\"\u003e#32031\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32034\"\u003e#32034\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32038\"\u003e#32038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32041\"\u003e#32041\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32050\"\u003e#32050\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32090\"\u003e#32090\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32105\"\u003e#32105\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32254\"\u003e#32254\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32379\"\u003e#32379\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32422\"\u003e#32422\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32462\"\u003e#32462\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32540\"\u003e#32540\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32545\"\u003e#32545\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32585\"\u003e#32585\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32599\"\u003e#32599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32611\"\u003e#32611\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32612\"\u003e#32612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32617\"\u003e#32617\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32651\"\u003e#32651\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32653\"\u003e#32653\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32656\"\u003e#32656\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32664\"\u003e#32664\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32699\"\u003e#32699\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32723\"\u003e#32723\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32734\"\u003e#32734\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32751\"\u003e#32751\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32752\"\u003e#32752\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32760\"\u003e#32760\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32761\"\u003e#32761\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32764\"\u003e#32764\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32772\"\u003e#32772\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32790\"\u003e#32790\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32819\"\u003e#32819\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32820\"\u003e#32820\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32822\"\u003e#32822\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32833\"\u003e#32833\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32849\"\u003e#32849\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33094\"\u003e#33094\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33191\"\u003e#33191\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33200\"\u003e#33200\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33206\"\u003e#33206\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33293\"\u003e#33293\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33330\"\u003e#33330\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33331\"\u003e#33331\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33332\"\u003e#33332\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33357\"\u003e#33357\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33362\"\u003e#33362\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33433\"\u003e#33433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33576\"\u003e#33576\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34374\"\u003e#34374\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34450\"\u003e#34450\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34481\"\u003e#34481\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34500\"\u003e#34500\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34502\"\u003e#34502\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34510\"\u003e#34510\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34511\"\u003e#34511\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34539\"\u003e#34539\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35567\"\u003e#35567\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35564\"\u003e#35564\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35485\"\u003e#35485\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35380\"\u003e#35380\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35063\"\u003e#35063\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35060\"\u003e#35060\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34676\"\u003e#34676\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/36917\"\u003e#36917\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35337\"\u003e#35337\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35520\"\u003e#35520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFragment Refs: Add Refs to \u003ccode\u003e\u0026lt;Fragment /\u0026gt;\u003c/code\u003e to support composable platform behavior (\u003ca href=\"https://github.com/jackpope\"\u003e\u003ccode\u003e@​jackpope\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/sebmarkbage\"\u003e\u003ccode\u003e@​sebmarkbage\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Dhakshin2007\"\u003e\u003ccode\u003e@​Dhakshin2007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/chirokas\"\u003e\u003ccode\u003e@​chirokas\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/teamleaderleo\"\u003e\u003ccode\u003e@​teamleaderleo\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/fallintoplace\"\u003e\u003ccode\u003e@​fallintoplace\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/32465\"\u003e#32465\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32613\"\u003e#32613\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32619\"\u003e#32619\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32654\"\u003e#32654\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32660\"\u003e#32660\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32682\"\u003e#32682\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32722\"\u003e#32722\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32813\"\u003e#32813\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32814\"\u003e#32814\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33056\"\u003e#33056\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33058\"\u003e#33058\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33093\"\u003e#33093\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34069\"\u003e#34069\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34103\"\u003e#34103\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34544\"\u003e#34544\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34545\"\u003e#34545\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37062\"\u003e#37062\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37061\"\u003e#37061\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37060\"\u003e#37060\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/36047\"\u003e#36047\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/36010\"\u003e#36010\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35642\"\u003e#35642\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35641\"\u003e#35641\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35637\"\u003e#35637\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35630\"\u003e#35630\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34935\"\u003e#34935\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37457\"\u003e#37457\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37408\"\u003e#37408\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37326\"\u003e#37326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37251\"\u003e#37251\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37171\"\u003e#37171\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37169\"\u003e#37169\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37168\"\u003e#37168\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37167\"\u003e#37167\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37166\"\u003e#37166\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37165\"\u003e#37165\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37164\"\u003e#37164\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37163\"\u003e#37163\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37162\"\u003e#37162\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37161\"\u003e#37161\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37160\"\u003e#37160\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37125\"\u003e#37125\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37063\"\u003e#37063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew React DOM Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebrowser()\u003c/code\u003e: a new \u003ccode\u003ereact-dom\u003c/code\u003e API that returns a usable which errors during server rendering and resolves in the browser. \u003ccode\u003euse(browser())\u003c/code\u003e inside a \u003ccode\u003e\u0026lt;Suspense\u0026gt;\u003c/code\u003e boundary marks a subtree as browser-only without reporting a recoverable error (\u003ca href=\"https://github.com/gnoff\"\u003e\u003ccode\u003e@​gnoff\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/37143\"\u003e#37143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37241\"\u003e#37241\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eAdded an \u003ccode\u003eonBrowserBailout\u003c/code\u003e option to the \u003ccode\u003ereact-dom/server\u003c/code\u003e APIs to observe when a subtree defers to the browser (\u003ca href=\"https://github.com/gnoff\"\u003e\u003ccode\u003e@​gnoff\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/37193\"\u003e#37193\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotable changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable Trusted Types API integration (\u003ca href=\"https://github.com/rickhanlonii\"\u003e\u003ccode\u003e@​rickhanlonii\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35816\"\u003e#35816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTransitions now render independently instead of being entangled into a single render, so a slow transition no longer holds up unrelated ones (\u003ca href=\"https://github.com/acdlite\"\u003e\u003ccode\u003e@​acdlite\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/37290\"\u003e#37290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded a DEV-only warning when a component appears to have been unblocked by calling \u003ccode\u003euse()\u003c/code\u003e conditionally (\u003ca href=\"https://github.com/hoxyq\"\u003e\u003ccode\u003e@​hoxyq\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/37104\"\u003e#37104\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37203\"\u003e#37203\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37491\"\u003e#37491\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAll Changes\u003c/h2\u003e\n\u003ch3\u003eReact\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFast Refresh Fixes\n\u003cul\u003e\n\u003cli\u003eFix Fast Refresh to find and remount edits to components wrapped behind \u003ccode\u003elazy()\u003c/code\u003e (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36965\"\u003e#36965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Fast Refresh so edits to a \u003ccode\u003ememo()\u003c/code\u003e comparison function take effect (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36964\"\u003e#36964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Fast Refresh crash when an edit changes the kind of a component's type (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36963\"\u003e#36963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnify hot reload type resolution for Fast Refresh (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36962\"\u003e#36962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Fast Refresh to remount correctly when an edit changes the component kind (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36950\"\u003e#36950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDouble invoke effects in StrictMode after Fast Refresh (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35962\"\u003e#35962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ePerformance Track Fixes\n\u003cul\u003e\n\u003cli\u003ePrevent crash when accessing \u003ccode\u003e$$typeof\u003c/code\u003e in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35679\"\u003e#35679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-string function names in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35659\"\u003e#35659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse minus (\u003ccode\u003e-\u003c/code\u003e) instead of en dash for removed props in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35649\"\u003e#35649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle arrays with bigints in deep objects in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35648\"\u003e#35648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't enumerate typed array props in Performance Tracks in DEV (\u003ca href=\"https://github.com/UditDewan\"\u003e\u003ccode\u003e@​UditDewan\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36913\"\u003e#36913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBail out of diffing wide objects and arrays in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34742\"\u003e#34742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClear potentially large performance measures in DEV (\u003ca href=\"https://github.com/hoxyq\"\u003e\u003ccode\u003e@​hoxyq\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34803\"\u003e#34803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing else branch for renders with no props change in Performance Tracks (\u003ca href=\"https://github.com/hoxyq\"\u003e\u003ccode\u003e@​hoxyq\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34837\"\u003e#34837\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eActivity Fixes\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003euseSyncExternalStore\u003c/code\u003e missing store mutations that happened while an Activity tree was hidden (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36947\"\u003e#36947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHide portal contents when an Activity is hidden (\u003ca href=\"https://github.com/acdlite\"\u003e\u003ccode\u003e@​acdlite\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35091\"\u003e#35091\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent metadata hoisting in hidden \u003ccode\u003e\u0026lt;Activity\u0026gt;\u003c/code\u003e trees (\u003ca href=\"https://github.com/ronnakamoto\"\u003e\u003ccode\u003e@​ronnakamoto\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34983\"\u003e#34983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent errors thrown inside a hidden Activity from escaping to the visible UI (\u003ca href=\"https://github.com/acdlite\"\u003e\u003ccode\u003e@​acdlite\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35074\"\u003e#35074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't unhide a node if a direct parent Offscreen is still hidden (\u003ca href=\"https://github.com/sebmarkbage\"\u003e\u003ccode\u003e@​sebmarkbage\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34821\"\u003e#34821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't show internal \u003ccode\u003e\u0026lt;Offscreen\u0026gt;\u003c/code\u003e component in error messages (\u003ca href=\"https://github.com/rickhanlonii\"\u003e\u003ccode\u003e@​rickhanlonii\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35763\"\u003e#35763\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eWarn in DEV when a component appears to have been unblocked by a conditional \u003ccode\u003euse()\u003c/code\u003e (\u003ca href=\"https://github.com/hoxyq\"\u003e\u003ccode\u003e@​hoxyq\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/37104\"\u003e#37104\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37203\"\u003e#37203\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37491\"\u003e#37491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRender transitions independently instead of entangling them into a single render (\u003ca href=\"https://github.com/acdlite\"\u003e\u003ccode\u003e@​acdlite\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/37290\"\u003e#37290\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/react/react/blob/main/CHANGELOG.md\"\u003ereact's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e19.3.0 (September 9, 2026)\u003c/h2\u003e\n\u003ch3\u003eNew React Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e\u0026lt;ViewTransition /\u0026gt;\u003c/code\u003e: Adds \u003ccode\u003e\u0026lt;ViewTransition /\u0026gt;\u003c/code\u003e and \u003ccode\u003eaddTransitionType\u003c/code\u003e APIs to power View Transition animations in React (\u003ca href=\"https://github.com/sebmarkbage\"\u003e\u003ccode\u003e@​sebmarkbage\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jackpope\"\u003e\u003ccode\u003e@​jackpope\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gaearon\"\u003e\u003ccode\u003e@​gaearon\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/31975\"\u003e#31975\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/31987\"\u003e#31987\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/31996\"\u003e#31996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/31999\"\u003e#31999\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32001\"\u003e#32001\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32002\"\u003e#32002\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32028\"\u003e#32028\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32029\"\u003e#32029\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32031\"\u003e#32031\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32034\"\u003e#32034\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32038\"\u003e#32038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32041\"\u003e#32041\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32050\"\u003e#32050\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32090\"\u003e#32090\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32105\"\u003e#32105\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32254\"\u003e#32254\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32379\"\u003e#32379\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32422\"\u003e#32422\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32462\"\u003e#32462\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32540\"\u003e#32540\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32545\"\u003e#32545\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32585\"\u003e#32585\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32599\"\u003e#32599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32611\"\u003e#32611\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32612\"\u003e#32612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32617\"\u003e#32617\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32651\"\u003e#32651\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32653\"\u003e#32653\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32656\"\u003e#32656\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32664\"\u003e#32664\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32699\"\u003e#32699\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32723\"\u003e#32723\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32734\"\u003e#32734\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32751\"\u003e#32751\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32752\"\u003e#32752\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32760\"\u003e#32760\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32761\"\u003e#32761\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32764\"\u003e#32764\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32772\"\u003e#32772\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32790\"\u003e#32790\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32819\"\u003e#32819\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32820\"\u003e#32820\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32822\"\u003e#32822\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32833\"\u003e#32833\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32849\"\u003e#32849\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33094\"\u003e#33094\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33191\"\u003e#33191\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33200\"\u003e#33200\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33206\"\u003e#33206\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33293\"\u003e#33293\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33330\"\u003e#33330\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33331\"\u003e#33331\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33332\"\u003e#33332\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33357\"\u003e#33357\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33362\"\u003e#33362\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33433\"\u003e#33433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33576\"\u003e#33576\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34374\"\u003e#34374\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34450\"\u003e#34450\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34481\"\u003e#34481\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34500\"\u003e#34500\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34502\"\u003e#34502\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34510\"\u003e#34510\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34511\"\u003e#34511\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34539\"\u003e#34539\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35567\"\u003e#35567\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35564\"\u003e#35564\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35485\"\u003e#35485\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35380\"\u003e#35380\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35063\"\u003e#35063\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35060\"\u003e#35060\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34676\"\u003e#34676\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/36917\"\u003e#36917\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35337\"\u003e#35337\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35520\"\u003e#35520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFragment Refs: Add Refs to \u003ccode\u003e\u0026lt;Fragment /\u0026gt;\u003c/code\u003e to support composable platform behavior (\u003ca href=\"https://github.com/jackpope\"\u003e\u003ccode\u003e@​jackpope\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/sebmarkbage\"\u003e\u003ccode\u003e@​sebmarkbage\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Dhakshin2007\"\u003e\u003ccode\u003e@​Dhakshin2007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/chirokas\"\u003e\u003ccode\u003e@​chirokas\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/teamleaderleo\"\u003e\u003ccode\u003e@​teamleaderleo\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/fallintoplace\"\u003e\u003ccode\u003e@​fallintoplace\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/32465\"\u003e#32465\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32613\"\u003e#32613\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32619\"\u003e#32619\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32654\"\u003e#32654\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32660\"\u003e#32660\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32682\"\u003e#32682\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32722\"\u003e#32722\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32813\"\u003e#32813\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32814\"\u003e#32814\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33056\"\u003e#33056\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33058\"\u003e#33058\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33093\"\u003e#33093\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34069\"\u003e#34069\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34103\"\u003e#34103\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34544\"\u003e#34544\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34545\"\u003e#34545\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37062\"\u003e#37062\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37061\"\u003e#37061\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37060\"\u003e#37060\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/36047\"\u003e#36047\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/36010\"\u003e#36010\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35642\"\u003e#35642\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35641\"\u003e#35641\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35637\"\u003e#35637\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35630\"\u003e#35630\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34935\"\u003e#34935\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37457\"\u003e#37457\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37408\"\u003e#37408\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37326\"\u003e#37326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37251\"\u003e#37251\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37171\"\u003e#37171\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37169\"\u003e#37169\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37168\"\u003e#37168\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37167\"\u003e#37167\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37166\"\u003e#37166\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37165\"\u003e#37165\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37164\"\u003e#37164\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37163\"\u003e#37163\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37162\"\u003e#37162\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37161\"\u003e#37161\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37160\"\u003e#37160\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37125\"\u003e#37125\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37063\"\u003e#37063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew React DOM Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebrowser()\u003c/code\u003e: a new \u003ccode\u003ereact-dom\u003c/code\u003e API that returns a usable which errors during server rendering and resolves in the browser. \u003ccode\u003euse(browser())\u003c/code\u003e inside a \u003ccode\u003e\u0026lt;Suspense\u0026gt;\u003c/code\u003e boundary marks a subtree as browser-only without reporting a recoverable error (\u003ca href=\"https://github.com/gnoff\"\u003e\u003ccode\u003e@​gnoff\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/37143\"\u003e#37143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37241\"\u003e#37241\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eAdded an \u003ccode\u003eonBrowserBailout\u003c/code\u003e option to the \u003ccode\u003ereact-dom/server\u003c/code\u003e APIs to observe when a subtree defers to the browser (\u003ca href=\"https://github.com/gnoff\"\u003e\u003ccode\u003e@​gnoff\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/37193\"\u003e#37193\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNotable changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable Trusted Types API integration (\u003ca href=\"https://github.com/rickhanlonii\"\u003e\u003ccode\u003e@​rickhanlonii\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35816\"\u003e#35816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTransitions now render independently instead of being entangled into a single render, so a slow transition no longer holds up unrelated ones (\u003ca href=\"https://github.com/acdlite\"\u003e\u003ccode\u003e@​acdlite\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/37290\"\u003e#37290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded a DEV-only warning when a component appears to have been unblocked by calling \u003ccode\u003euse()\u003c/code\u003e conditionally (\u003ca href=\"https://github.com/hoxyq\"\u003e\u003ccode\u003e@​hoxyq\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/37104\"\u003e#37104\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37203\"\u003e#37203\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37491\"\u003e#37491\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAll Changes\u003c/h3\u003e\n\u003ch4\u003eReact\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFast Refresh Fixes\n\u003cul\u003e\n\u003cli\u003eFix Fast Refresh to find and remount edits to components wrapped behind \u003ccode\u003elazy()\u003c/code\u003e (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36965\"\u003e#36965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Fast Refresh so edits to a \u003ccode\u003ememo()\u003c/code\u003e comparison function take effect (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36964\"\u003e#36964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Fast Refresh crash when an edit changes the kind of a component's type (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36963\"\u003e#36963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnify hot reload type resolution for Fast Refresh (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36962\"\u003e#36962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Fast Refresh to remount correctly when an edit changes the component kind (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36950\"\u003e#36950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDouble invoke effects in StrictMode after Fast Refresh (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35962\"\u003e#35962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ePerformance Track Fixes\n\u003cul\u003e\n\u003cli\u003ePrevent crash when accessing \u003ccode\u003e$$typeof\u003c/code\u003e in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35679\"\u003e#35679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-string function names in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35659\"\u003e#35659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse minus (\u003ccode\u003e-\u003c/code\u003e) instead of en dash for removed props in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35649\"\u003e#35649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle arrays with bigints in deep objects in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35648\"\u003e#35648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't enumerate typed array props in Performance Tracks in DEV (\u003ca href=\"https://github.com/UditDewan\"\u003e\u003ccode\u003e@​UditDewan\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36913\"\u003e#36913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBail out of diffing wide objects and arrays in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34742\"\u003e#34742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClear potentially large performance measures in DEV (\u003ca href=\"https://github.com/hoxyq\"\u003e\u003ccode\u003e@​hoxyq\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34803\"\u003e#34803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing else branch for renders with no props change in Performance Tracks (\u003ca href=\"https://github.com/hoxyq\"\u003e\u003ccode\u003e@​hoxyq\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34837\"\u003e#34837\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eActivity Fixes\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003euseSyncExternalStore\u003c/code\u003e missing store mutations that happened while an Activity tree was hidden (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36947\"\u003e#36947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHide portal contents when an Activity is hidden (\u003ca href=\"https://github.com/acdlite\"\u003e\u003ccode\u003e@​acdlite\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35091\"\u003e#35091\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent metadata hoisting in hidden \u003ccode\u003e\u0026lt;Activity\u0026gt;\u003c/code\u003e trees (\u003ca href=\"https://github.com/ronnakamoto\"\u003e\u003ccode\u003e@​ronnakamoto\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34983\"\u003e#34983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent errors thrown inside a hidden Activity from escaping to the visible UI (\u003ca href=\"https://github.com/acdlite\"\u003e\u003ccode\u003e@​acdlite\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35074\"\u003e#35074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't unhide a node if a direct parent Offscreen is still hidden (\u003ca href=\"https://github.com/sebmarkbage\"\u003e\u003ccode\u003e@​sebmarkbage\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34821\"\u003e#34821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't show internal \u003ccode\u003e\u0026lt;Offscreen\u0026gt;\u003c/code\u003e component in error messages (\u003ca href=\"https://github.com/rickhanlonii\"\u003e\u003ccode\u003e@​rickhanlonii\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35763\"\u003e#35763\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eWarn in DEV when a component appears to have been unblocked by a conditional \u003ccode\u003euse()\u003c/code\u003e (\u003ca href=\"https://github.com/hoxyq\"\u003e\u003ccode\u003e@​hoxyq\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/37104\"\u003e#37104\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37203\"\u003e#37203\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37491\"\u003e#37491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRender transitions independently instead of entangling them into a single render (\u003ca href=\"https://github.com/acdlite\"\u003e\u003ccode\u003e@​acdlite\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/37290\"\u003e#37290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix hang when updating a dehydrated boundary inside a hidden tree (\u003ca href=\"https://github.com/gaearon\"\u003e\u003ccode\u003e@​gaearon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/37135\"\u003e#37135\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't reacquire Host Singletons during dev effect validation (\u003ca href=\"https://github.com/gnoff\"\u003e\u003ccode\u003e@​gnoff\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/37113\"\u003e#37113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly remove properties from Host Singletons on release (\u003ca href=\"https://github.com/gnoff\"\u003e\u003ccode\u003e@​gnoff\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/37112\"\u003e#37112\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/react/react/commit/2dc7da790d6388b95b83198ca9b588b2ad5f5c0b\"\u003e\u003ccode\u003e2dc7da7\u003c/code\u003e\u003c/a\u003e [test] Bump Jest to 30.4 (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/37382\"\u003e#37382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react/react/commit/4f9389423b7319e1f7acc3d158c84a8365462748\"\u003e\u003ccode\u003e4f93894\u003c/code\u003e\u003c/a\u003e docs: remove stale parentType param from validateChildKeys JSDoc (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/36928\"\u003e#36928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react/react/commit/dbc37501ffeaf8fec45af5898caf1c3d64ad10bf\"\u003e\u003ccode\u003edbc3750\u003c/code\u003e\u003c/a\u003e Update required references to GitHub repo (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/36752\"\u003e#36752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react/react/commit/900ae094d85b11c67d53dd14af50a2bda5db4495\"\u003e\u003ccode\u003e900ae09\u003c/code\u003e\u003c/a\u003e [flow] Bump flow to v0.317.0 (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/36701\"\u003e#36701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react/react/commit/fbb137059e4aacfaab1d36516e9b55050b4a0454\"\u003e\u003ccode\u003efbb1370\u003c/code\u003e\u003c/a\u003e [flow] Bump flow to v0.307.1 (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/36199\"\u003e#36199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react/react/commit/56922cf751fab6c7ab4c12ddbbd15839959fa255\"\u003e\u003ccode\u003e56922cf\u003c/code\u003e\u003c/a\u003e [react-native-renderer] Delete Paper (legacy) renderer (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/36285\"\u003e#36285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react/react/commit/74568e8627aa43469b74f2972f427a209639d0b6\"\u003e\u003ccode\u003e74568e8\u003c/code\u003e\u003c/a\u003e [Flight] Transport \u003ccode\u003eAggregateErrors.errors\u003c/code\u003e (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/36156\"\u003e#36156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react/react/commit/e66ef6480ecd19c6885f2c06dec34fec1fdc0a98\"\u003e\u003ccode\u003ee66ef64\u003c/code\u003e\u003c/a\u003e [tests] remove withoutStack from assertConsole helpers (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/35498\"\u003e#35498\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react/react/commit/db71391c5c70dc113560d1c23d0b6548604d827f\"\u003e\u003ccode\u003edb71391\u003c/code\u003e\u003c/a\u003e [Fiber] Instrument the lazy initializer thenable in all cases (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/35521\"\u003e#35521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react/react/commit/3e1abcc8d7083a13adf4774feb0d67ecbe4a2bc4\"\u003e\u003ccode\u003e3e1abcc\u003c/code\u003e\u003c/a\u003e [tests] Require exact error messages in assertConsole helpers (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/35497\"\u003e#35497\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/react/react/commits/v19.3.0/packages/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 react since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/react` from 18.3.31 to 19.3.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/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 18.3.1 to 19.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/react/react/releases\"\u003ereact-dom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e19.3.0 (September 9, 2026)\u003c/h2\u003e\n\u003cp\u003eBelow is a list of all new features, APIs, and bug fixes.\u003c/p\u003e\n\u003cp\u003eRead the \u003ca href=\"https://react.dev/blog/2026/09/09/react-19-3\"\u003eReact 19.3 release post\u003c/a\u003e for more information.\u003c/p\u003e\n\u003ch2\u003eNew React Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e\u0026lt;ViewTransition /\u0026gt;\u003c/code\u003e: Adds \u003ccode\u003e\u0026lt;ViewTransition /\u0026gt;\u003c/code\u003e and \u003ccode\u003eaddTransitionType\u003c/code\u003e APIs to power View Transition animations in React (\u003ca href=\"https://github.com/sebmarkbage\"\u003e\u003ccode\u003e@​sebmarkbage\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jackpope\"\u003e\u003ccode\u003e@​jackpope\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gaearon\"\u003e\u003ccode\u003e@​gaearon\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/31975\"\u003e#31975\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/31987\"\u003e#31987\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/31996\"\u003e#31996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/31999\"\u003e#31999\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32001\"\u003e#32001\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32002\"\u003e#32002\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32028\"\u003e#32028\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32029\"\u003e#32029\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32031\"\u003e#32031\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32034\"\u003e#32034\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32038\"\u003e#32038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32041\"\u003e#32041\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32050\"\u003e#32050\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32090\"\u003e#32090\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32105\"\u003e#32105\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32254\"\u003e#32254\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32379\"\u003e#32379\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32422\"\u003e#32422\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32462\"\u003e#32462\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32540\"\u003e#32540\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32545\"\u003e#32545\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32585\"\u003e#32585\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32599\"\u003e#32599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32611\"\u003e#32611\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32612\"\u003e#32612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32617\"\u003e#32617\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32651\"\u003e#32651\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32653\"\u003e#32653\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32656\"\u003e#32656\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32664\"\u003e#32664\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32699\"\u003e#32699\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32723\"\u003e#32723\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32734\"\u003e#32734\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32751\"\u003e#32751\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32752\"\u003e#32752\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32760\"\u003e#32760\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32761\"\u003e#32761\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32764\"\u003e#32764\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32772\"\u003e#32772\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32790\"\u003e#32790\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32819\"\u003e#32819\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32820\"\u003e#32820\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32822\"\u003e#32822\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32833\"\u003e#32833\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32849\"\u003e#32849\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33094\"\u003e#33094\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33191\"\u003e#33191\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33200\"\u003e#33200\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33206\"\u003e#33206\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33293\"\u003e#33293\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33330\"\u003e#33330\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33331\"\u003e#33331\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33332\"\u003e#33332\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33357\"\u003e#33357\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33362\"\u003e#33362\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33433\"\u003e#33433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33576\"\u003e#33576\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34374\"\u003e#34374\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34450\"\u003e#34450\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34481\"\u003e#34481\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34500\"\u003e#34500\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34502\"\u003e#34502\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34510\"\u003e#34510\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34511\"\u003e#34511\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34539\"\u003e#34539\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35567\"\u003e#35567\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35564\"\u003e#35564\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35485\"\u003e#35485\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35380\"\u003e#35380\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35063\"\u003e#35063\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35060\"\u003e#35060\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34676\"\u003e#34676\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/36917\"\u003e#36917\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35337\"\u003e#35337\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35520\"\u003e#35520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFragment Refs: Add Refs to \u003ccode\u003e\u0026lt;Fragment /\u0026gt;\u003c/code\u003e to support composable platform behavior (\u003ca href=\"https://github.com/jackpope\"\u003e\u003ccode\u003e@​jackpope\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/sebmarkbage\"\u003e\u003ccode\u003e@​sebmarkbage\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Dhakshin2007\"\u003e\u003ccode\u003e@​Dhakshin2007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/chirokas\"\u003e\u003ccode\u003e@​chirokas\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/teamleaderleo\"\u003e\u003ccode\u003e@​teamleaderleo\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/fallintoplace\"\u003e\u003ccode\u003e@​fallintoplace\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/32465\"\u003e#32465\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32613\"\u003e#32613\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32619\"\u003e#32619\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32654\"\u003e#32654\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32660\"\u003e#32660\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32682\"\u003e#32682\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32722\"\u003e#32722\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32813\"\u003e#32813\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32814\"\u003e#32814\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33056\"\u003e#33056\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33058\"\u003e#33058\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33093\"\u003e#33093\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34069\"\u003e#34069\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34103\"\u003e#34103\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34544\"\u003e#34544\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34545\"\u003e#34545\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37062\"\u003e#37062\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37061\"\u003e#37061\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37060\"\u003e#37060\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/36047\"\u003e#36047\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/36010\"\u003e#36010\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35642\"\u003e#35642\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35641\"\u003e#35641\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35637\"\u003e#35637\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35630\"\u003e#35630\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34935\"\u003e#34935\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37457\"\u003e#374...\n\n_Description has been truncated_","html_url":"https://github.com/MMALI3287/vibewatt/pull/31","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MMALI3287%2Fvibewatt/issues/31","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/31/packages"},{"uuid":"5719835203","node_id":"PR_kwDOSamjfs8AAAABGzbZXg","number":87,"state":"open","title":"chore(deps-dev): bump jsdom from 24.1.3 to 30.1.1 in /frontend","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":7,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-05T22:32:10.000Z","updated_at":"2026-10-06T16:47:45.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":"24.1.3","new_version":"30.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 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v24.1.3...v30.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","html_url":"https://github.com/fairglen/spacerental/pull/87","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/fairglen%2Fspacerental/issues/87","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/87/packages"},{"uuid":"5719760127","node_id":"PR_kwDORAI9I88AAAABGzXfrw","number":32,"state":"open","title":"chore(deps): bump jsdom from 26.1.0 to 30.1.1","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-10-05T22:24:48.000Z","updated_at":"2026-10-05T22:26:41.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"jsdom","old_version":"26.1.0","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 26.1.0 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v26.1.0...v30.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=30.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/SIMP-SIMPLIFICA/SIMP-FRONTEND/pull/32","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SIMP-SIMPLIFICA%2FSIMP-FRONTEND/issues/32","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/32/packages"},{"uuid":"5719187770","node_id":"PR_kwDOPJI6188AAAABGy5-hA","number":7272,"state":"closed","title":"chore(deps): bump jsdom from 26.1.0 to 30.1.1","user":"dependabot[bot]","labels":["frontend","major","dependencies","json","javascript","dco-signoff: yes","needs-ok-to-test","size/L","copilot"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-10-05T21:38:47.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-05T21:31:17.000Z","updated_at":"2026-10-05T21:41:59.000Z","time_to_close":450,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"jsdom","old_version":"26.1.0","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"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 [jsdom](https://github.com/jsdom/jsdom) from 26.1.0 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v26.1.0...v30.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=30.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/kubestellar/docs/pull/7272","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubestellar%2Fdocs/issues/7272","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7272/packages"},{"uuid":"5717244966","node_id":"PR_kwDOQNRdbM8AAAABGxV_Hg","number":454,"state":"open","title":"chore(deps): bump the npm-dependencies group across 1 directory with 41 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-05T18:41:16.000Z","updated_at":"2026-10-05T21:01:17.999Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm-dependencies","update_count":41,"packages":[{"name":"@typescript-eslint/eslint-plugin","old_version":"8.69.0","new_version":"8.70.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.69.0","new_version":"8.70.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"eslint","old_version":"10.9.1","new_version":"10.11.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-n","old_version":"17.24.0","new_version":"18.3.0","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"knip","old_version":"6.34.0","new_version":"6.38.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"prettier","old_version":"3.9.6","new_version":"3.9.9","repository_url":"https://github.com/prettier/prettier"},{"name":"turbo","old_version":"2.10.12","new_version":"2.11.4","repository_url":"https://github.com/vercel/turborepo"},{"name":"@tanstack/react-query","old_version":"5.102.8","new_version":"5.103.2","repository_url":"https://github.com/TanStack/query"},{"name":"react-router","old_version":"7.18.3","new_version":"8.4.0","repository_url":"https://github.com/remix-run/react-router"},{"name":"@testing-library/dom","old_version":"10.4.1","new_version":"10.4.2","repository_url":"https://github.com/testing-library/dom-testing-library"},{"name":"jsdom","old_version":"30.0.1","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"nanostores","old_version":"1.5.3","new_version":"1.5.4","repository_url":"https://github.com/nanostores/nanostores"},{"name":"orval","old_version":"8.27.0","new_version":"8.37.0","repository_url":"https://github.com/orval-labs/orval"},{"name":"vite","old_version":"8.2.2","new_version":"8.3.1","repository_url":"https://github.com/vitejs/vite"},{"name":"@fastify/cors","old_version":"10.1.0","new_version":"11.3.0","repository_url":"https://github.com/fastify/fastify-cors"},{"name":"@fastify/rate-limit","old_version":"10.3.0","new_version":"11.2.0","repository_url":"https://github.com/fastify/fastify-rate-limit"},{"name":"@fastify/swagger","old_version":"9.8.1","new_version":"9.9.0","repository_url":"https://github.com/fastify/fastify-swagger"},{"name":"@fastify/under-pressure","old_version":"9.1.0","new_version":"9.2.0","repository_url":"https://github.com/fastify/under-pressure"},{"name":"fastify-plugin","old_version":"5.1.0","new_version":"6.0.0","repository_url":"https://github.com/fastify/fastify-plugin"},{"name":"tsc-alias","old_version":"1.9.3","new_version":"1.9.5","repository_url":"https://github.com/justkey007/tsc-alias"},{"name":"resend","old_version":"6.28.1","new_version":"6.30.0","repository_url":"https://github.com/resend/resend-node"},{"name":"drizzle-kit","old_version":"0.31.10","new_version":"0.31.11","repository_url":"https://github.com/drizzle-team/drizzle-orm"},{"name":"@langchain/anthropic","old_version":"1.5.9","new_version":"1.5.11","repository_url":"https://github.com/langchain-ai/langchainjs"},{"name":"@langchain/core","old_version":"1.2.9","new_version":"1.2.12","repository_url":"https://github.com/langchain-ai/langchainjs"},{"name":"@langchain/openai","old_version":"1.5.11","new_version":"1.5.13","repository_url":"https://github.com/langchain-ai/langchainjs"},{"name":"langchain","old_version":"1.5.10","new_version":"1.5.12","repository_url":"https://github.com/langchain-ai/langchainjs"},{"name":"langsmith","old_version":"0.10.1","new_version":"0.10.5","repository_url":"https://github.com/langchain-ai/langsmith-sdk"},{"name":"p-limit","old_version":"7.3.2","new_version":"7.3.3","repository_url":"https://github.com/sindresorhus/p-limit"},{"name":"ioredis","old_version":"5.11.1","new_version":"6.0.0","repository_url":"https://github.com/redis/ioredis"},{"name":"@dotenvx/dotenvx","old_version":"2.28.0","new_version":"2.30.0","repository_url":"https://github.com/dotenvx/dotenvx"},{"name":"@types/node","old_version":"26.5.1","new_version":"26.6.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"5.0.0","new_version":"5.0.2","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"better-auth","old_version":"1.7.4","new_version":"1.7.6","repository_url":"https://github.com/better-auth/better-auth"},{"name":"drizzle-orm","old_version":"0.45.2","new_version":"0.45.3","repository_url":"https://github.com/drizzle-team/drizzle-orm"},{"name":"react-dom","old_version":"19.2.8","new_version":"19.3.0","repository_url":"https://github.com/react/react"},{"name":"@types/react-dom","old_version":"19.2.5","new_version":"19.3.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react","old_version":"19.2.8","new_version":"19.3.0","repository_url":"https://github.com/react/react"},{"name":"@types/react","old_version":"19.2.18","new_version":"19.3.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"tsx","old_version":"4.23.13","new_version":"4.23.15","repository_url":"https://github.com/privatenumber/tsx"},{"name":"vitest","old_version":"5.0.0","new_version":"5.0.2","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"zod","old_version":"4.5.4","new_version":"4.6.5","repository_url":"https://github.com/colinhacks/zod"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-dependencies group with 41 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.69.0` | `8.70.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.69.0` | `8.70.1` |\n| [eslint](https://github.com/eslint/eslint) | `10.9.1` | `10.11.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `17.24.0` | `18.3.0` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.34.0` | `6.38.0` |\n| [prettier](https://github.com/prettier/prettier) | `3.9.6` | `3.9.9` |\n| [turbo](https://github.com/vercel/turborepo) | `2.10.12` | `2.11.4` |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.102.8` | `5.103.2` |\n| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `7.18.3` | `8.4.0` |\n| [@testing-library/dom](https://github.com/testing-library/dom-testing-library) | `10.4.1` | `10.4.2` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.0.1` | `30.1.1` |\n| [nanostores](https://github.com/nanostores/nanostores) | `1.5.3` | `1.5.4` |\n| [orval](https://github.com/orval-labs/orval) | `8.27.0` | `8.37.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.2.2` | `8.3.1` |\n| [@fastify/cors](https://github.com/fastify/fastify-cors) | `10.1.0` | `11.3.0` |\n| [@fastify/rate-limit](https://github.com/fastify/fastify-rate-limit) | `10.3.0` | `11.2.0` |\n| [@fastify/swagger](https://github.com/fastify/fastify-swagger) | `9.8.1` | `9.9.0` |\n| [@fastify/under-pressure](https://github.com/fastify/under-pressure) | `9.1.0` | `9.2.0` |\n| [fastify-plugin](https://github.com/fastify/fastify-plugin) | `5.1.0` | `6.0.0` |\n| [tsc-alias](https://github.com/justkey007/tsc-alias) | `1.9.3` | `1.9.5` |\n| [resend](https://github.com/resend/resend-node) | `6.28.1` | `6.30.0` |\n| [drizzle-kit](https://github.com/drizzle-team/drizzle-orm) | `0.31.10` | `0.31.11` |\n| [@langchain/anthropic](https://github.com/langchain-ai/langchainjs) | `1.5.9` | `1.5.11` |\n| [@langchain/core](https://github.com/langchain-ai/langchainjs) | `1.2.9` | `1.2.12` |\n| [@langchain/openai](https://github.com/langchain-ai/langchainjs) | `1.5.11` | `1.5.13` |\n| [langchain](https://github.com/langchain-ai/langchainjs) | `1.5.10` | `1.5.12` |\n| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.10.1` | `0.10.5` |\n| [p-limit](https://github.com/sindresorhus/p-limit) | `7.3.2` | `7.3.3` |\n| [ioredis](https://github.com/redis/ioredis) | `5.11.1` | `6.0.0` |\n| [@dotenvx/dotenvx](https://github.com/dotenvx/dotenvx) | `2.28.0` | `2.30.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.5.1` | `26.6.2` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `5.0.0` | `5.0.2` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.7.4` | `1.7.6` |\n| [drizzle-orm](https://github.com/drizzle-team/drizzle-orm) | `0.45.2` | `0.45.3` |\n| [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) | `19.2.8` | `19.3.0` |\n| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.2.5` | `19.3.0` |\n| [react](https://github.com/react/react/tree/HEAD/packages/react) | `19.2.8` | `19.3.0` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.18` | `19.3.0` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.23.13` | `4.23.15` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.0` | `5.0.2` |\n| [zod](https://github.com/colinhacks/zod) | `4.5.4` | `4.6.5` |\n\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.69.0 to 8.70.1\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.70.1\u003c/h2\u003e\n\u003ch2\u003e8.70.1 (2026-09-21)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003east-spec:\u003c/strong\u003e narrow import attribute keys to identifiers and strings (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12879\"\u003e#12879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] avoid false positives on tuples with a rest element (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12768\"\u003e#12768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] handle type precedence in the suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12637\"\u003e#12637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-explicit-any] use unknown[] for bare any rest parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12818\"\u003e#12818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-generated-empty-object-type] don't report a mapped type whose keys are not resolved yet (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12854\"\u003e#12854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-spread] omit WeakMap spread suggestions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12850\"\u003e#12850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] false positive for empty object asserted to a type alias of Record (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12869\"\u003e#12869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-meaningless-void-operator] allow void on assignment expressions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12873\"\u003e#12873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [await-thenable] prevent autofix from breaking code when removing \u003ccode\u003eawait\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12716\"\u003e#12716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-parameter-property-assignment] account for parameter reassignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12880\"\u003e#12880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unbound-method] treat Intl.Collator.prototype.compare as spec-bound (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12845\"\u003e#12845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] handle union-keyed index access on the left-hand side of nullish assignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12747\"\u003e#12747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] convert the fixer to a suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12826\"\u003e#12826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] handle multiple Promise constituents (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12904\"\u003e#12904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e test the final autofix output instead of the first pass (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12867\"\u003e#12867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003escope-manager:\u003c/strong\u003e merge implicit global definitions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12809\"\u003e#12809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match package specifiers on whole path components (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12838\"\u003e#12838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e resolve symlinked paths when matching files to projects (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12725\"\u003e#12725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e add missing \u003ccode\u003e\u0026lt;\u003c/code\u003e token opening type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12821\"\u003e#12821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e require string literal import attribute values (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12894\"\u003e#12894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewebsite:\u003c/strong\u003e prevent playground from breaking down after opening link with the .js file type (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12777\"\u003e#12777\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAmin \u003ca href=\"https://github.com/amiin-dev\"\u003e\u003ccode\u003e@​amiin-dev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCameron\u003c/li\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\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\u003eGrit \u003ca href=\"https://github.com/Grit03\"\u003e\u003ccode\u003e@​Grit03\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHugo \u003ca href=\"https://github.com/hugop95\"\u003e\u003ccode\u003e@​hugop95\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eMichael Naumov \u003ca href=\"https://github.com/mnaoumov\"\u003e\u003ccode\u003e@​mnaoumov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMikhail Baev \u003ca href=\"https://github.com/baevm\"\u003e\u003ccode\u003e@​baevm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOm Rawat\u003c/li\u003e\n\u003cli\u003eoverlookmotel\u003c/li\u003e\n\u003cli\u003eSanath \u003ca href=\"https://github.com/sansynx\"\u003e\u003ccode\u003e@​sansynx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShinji\u003c/li\u003e\n\u003cli\u003estoicism \u003ca href=\"https://github.com/stoicism02\"\u003e\u003ccode\u003e@​stoicism02\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e김채영 \u003ca href=\"https://github.com/cchaeyoung\"\u003e\u003ccode\u003e@​cchaeyoung\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e송재욱\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\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/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.70.1 (2026-09-21)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] handle multiple Promise constituents (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12904\"\u003e#12904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] convert the fixer to a suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12826\"\u003e#12826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] handle union-keyed index access on the left-hand side of nullish assignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12747\"\u003e#12747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unbound-method] treat Intl.Collator.prototype.compare as spec-bound (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12845\"\u003e#12845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-parameter-property-assignment] account for parameter reassignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12880\"\u003e#12880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [await-thenable] prevent autofix from breaking code when removing \u003ccode\u003eawait\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12716\"\u003e#12716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-meaningless-void-operator] allow void on assignment expressions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12873\"\u003e#12873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] false positive for empty object asserted to a type alias of Record (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12869\"\u003e#12869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-spread] omit WeakMap spread suggestions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12850\"\u003e#12850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-generated-empty-object-type] don't report a mapped type whose keys are not resolved yet (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12854\"\u003e#12854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-explicit-any] use unknown[] for bare any rest parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12818\"\u003e#12818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] handle type precedence in the suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12637\"\u003e#12637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] avoid false positives on tuples with a rest element (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12768\"\u003e#12768\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGrit \u003ca href=\"https://github.com/Grit03\"\u003e\u003ccode\u003e@​Grit03\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHugo \u003ca href=\"https://github.com/hugop95\"\u003e\u003ccode\u003e@​hugop95\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMichael Naumov \u003ca href=\"https://github.com/mnaoumov\"\u003e\u003ccode\u003e@​mnaoumov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMikhail Baev \u003ca href=\"https://github.com/baevm\"\u003e\u003ccode\u003e@​baevm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOm Rawat\u003c/li\u003e\n\u003cli\u003eSanath \u003ca href=\"https://github.com/sansynx\"\u003e\u003ccode\u003e@​sansynx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShinji\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003e김채영 \u003ca href=\"https://github.com/cchaeyoung\"\u003e\u003ccode\u003e@​cchaeyoung\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e송재욱\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.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.70.0 (2026-09-07)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-generated-empty-object-type] add rule (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12730\"\u003e#12730\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-deprecated] report deprecated imported values used in object shorthand properties (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12780\"\u003e#12780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] no false positive on RHS of a nested logical expression (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12728\"\u003e#12728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [member-ordering] don't report fields that read fields declared before them (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12729\"\u003e#12729\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\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/23d38ceeb8fb1237f55cb62fc2b54419e1fa1ed7\"\u003e\u003ccode\u003e23d38ce\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.70.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/9d82e4b1d9011da31d62d14387bb5a539853fafa\"\u003e\u003ccode\u003e9d82e4b\u003c/code\u003e\u003c/a\u003e chore: expand eslint-plugin rules test files glob (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12878\"\u003e#12878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f7482f636b89b8eab966b4191ce4a53a3f4b4d9c\"\u003e\u003ccode\u003ef7482f6\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-misused-promises] handle multiple Promise constituent...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/267304477e04538614fe72ad71e7e13082eb7a90\"\u003e\u003ccode\u003e2673044\u003c/code\u003e\u003c/a\u003e docs(eslint-plugin): [prefer-promise-reject-errors] add option sections and e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8f141a2ba63d539465eb4e4604f7d79f6f50ce14\"\u003e\u003ccode\u003e8f141a2\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-useless-default-assignment] convert the fixer to a su...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/479cd85ff82b81dbec9989621681257ebc317a69\"\u003e\u003ccode\u003e479cd85\u003c/code\u003e\u003c/a\u003e chore: enable assertion option \u003ccode\u003erequireData\u003c/code\u003e for all rule tests (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12816\"\u003e#12816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f3c190c5b5cfa9edaba15fa3f944a76a7364b3ed\"\u003e\u003ccode\u003ef3c190c\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unnecessary-condition] handle union-keyed index acces...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/b1993dfd3c45b2c2d83058627499f1dfec5d6d2c\"\u003e\u003ccode\u003eb1993df\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [unbound-method] treat Intl.Collator.prototype.compare as...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/da394bc9c21afe97f456040da723d2c558f99658\"\u003e\u003ccode\u003eda394bc\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unnecessary-parameter-property-assignment] account fo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4a742ff890b7cca8cbf79e78a9a3b345913094c6\"\u003e\u003ccode\u003e4a742ff\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [await-thenable] prevent autofix from breaking code when ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.70.1/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.69.0 to 8.70.1\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.70.1\u003c/h2\u003e\n\u003ch2\u003e8.70.1 (2026-09-21)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003east-spec:\u003c/strong\u003e narrow import attribute keys to identifiers and strings (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12879\"\u003e#12879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] avoid false positives on tuples with a rest element (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12768\"\u003e#12768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] handle type precedence in the suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12637\"\u003e#12637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-explicit-any] use unknown[] for bare any rest parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12818\"\u003e#12818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-generated-empty-object-type] don't report a mapped type whose keys are not resolved yet (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12854\"\u003e#12854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-spread] omit WeakMap spread suggestions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12850\"\u003e#12850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] false positive for empty object asserted to a type alias of Record (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12869\"\u003e#12869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-meaningless-void-operator] allow void on assignment expressions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12873\"\u003e#12873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [await-thenable] prevent autofix from breaking code when removing \u003ccode\u003eawait\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12716\"\u003e#12716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-parameter-property-assignment] account for parameter reassignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12880\"\u003e#12880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unbound-method] treat Intl.Collator.prototype.compare as spec-bound (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12845\"\u003e#12845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] handle union-keyed index access on the left-hand side of nullish assignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12747\"\u003e#12747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] convert the fixer to a suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12826\"\u003e#12826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] handle multiple Promise constituents (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12904\"\u003e#12904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e test the final autofix output instead of the first pass (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12867\"\u003e#12867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003escope-manager:\u003c/strong\u003e merge implicit global definitions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12809\"\u003e#12809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match package specifiers on whole path components (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12838\"\u003e#12838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e resolve symlinked paths when matching files to projects (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12725\"\u003e#12725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e add missing \u003ccode\u003e\u0026lt;\u003c/code\u003e token opening type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12821\"\u003e#12821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e require string literal import attribute values (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12894\"\u003e#12894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewebsite:\u003c/strong\u003e prevent playground from breaking down after opening link with the .js file type (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12777\"\u003e#12777\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAmin \u003ca href=\"https://github.com/amiin-dev\"\u003e\u003ccode\u003e@​amiin-dev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCameron\u003c/li\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\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\u003eGrit \u003ca href=\"https://github.com/Grit03\"\u003e\u003ccode\u003e@​Grit03\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHugo \u003ca href=\"https://github.com/hugop95\"\u003e\u003ccode\u003e@​hugop95\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eMichael Naumov \u003ca href=\"https://github.com/mnaoumov\"\u003e\u003ccode\u003e@​mnaoumov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMikhail Baev \u003ca href=\"https://github.com/baevm\"\u003e\u003ccode\u003e@​baevm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOm Rawat\u003c/li\u003e\n\u003cli\u003eoverlookmotel\u003c/li\u003e\n\u003cli\u003eSanath \u003ca href=\"https://github.com/sansynx\"\u003e\u003ccode\u003e@​sansynx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShinji\u003c/li\u003e\n\u003cli\u003estoicism \u003ca href=\"https://github.com/stoicism02\"\u003e\u003ccode\u003e@​stoicism02\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e김채영 \u003ca href=\"https://github.com/cchaeyoung\"\u003e\u003ccode\u003e@​cchaeyoung\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e송재욱\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\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/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.70.1 (2026-09-21)\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.70.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.70.0 (2026-09-07)\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.70.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\u003c/blockquote\u003e\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/23d38ceeb8fb1237f55cb62fc2b54419e1fa1ed7\"\u003e\u003ccode\u003e23d38ce\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.70.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/7ee76085c22e923c0036b8e0733a3ca7dfd82b60\"\u003e\u003ccode\u003e7ee7608\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.70.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.70.1/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.9.1 to 10.11.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.11.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d136fa4b0d2dd4a9e738ca1c012cc674d1441127\"\u003e\u003ccode\u003ed136fa4\u003c/code\u003e\u003c/a\u003e feat: object-shorthand handle quoted properties for \u003ccode\u003eignoreConstructors\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21271\"\u003e#21271\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/397b3b8134b8ce1a61cbf414d4c29c945ba25690\"\u003e\u003ccode\u003e397b3b8\u003c/code\u003e\u003c/a\u003e feat: report unsafe labeled \u003ccode\u003econtinue\u003c/code\u003e in \u003ccode\u003eno-unsafe-finally\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21316\"\u003e#21316\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d3dd47f42e4cb5f9da27e3a2e741aa21e02ea1a4\"\u003e\u003ccode\u003ed3dd47f\u003c/code\u003e\u003c/a\u003e feat: only exempt \u003ccode\u003enew-cap\u003c/code\u003e built-ins that reference the global (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21290\"\u003e#21290\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/22b09f54f67a9512d4cea39ddbab9b6973d5c476\"\u003e\u003ccode\u003e22b09f5\u003c/code\u003e\u003c/a\u003e fix: ignore \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eprefer-object-spread\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21311\"\u003e#21311\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b684bb1cd7e6be03ad1b7a951baead936d9c2166\"\u003e\u003ccode\u003eb684bb1\u003c/code\u003e\u003c/a\u003e fix: make TimePass.parse optional in types and docs (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21313\"\u003e#21313\u003c/a\u003e) (ntnyq)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/26d11bce3e0e21f223613d4bb4be3423839b229e\"\u003e\u003ccode\u003e26d11bc\u003c/code\u003e\u003c/a\u003e fix: don't report \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eobject-shorthand\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21310\"\u003e#21310\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/9ecfdc5319f83580cf3b81beab7e936015fef2fa\"\u003e\u003ccode\u003e9ecfdc5\u003c/code\u003e\u003c/a\u003e docs: note that --cache can serve stale results for cross-file rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21312\"\u003e#21312\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6c789ff39bc5420e94e8dafeb328bf2b7e3d35ab\"\u003e\u003ccode\u003e6c789ff\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/5997825635dc9c4e81434894607ef2e3887e0ea3\"\u003e\u003ccode\u003e5997825\u003c/code\u003e\u003c/a\u003e docs: clarify preserve-caught-error known limitation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21294\"\u003e#21294\u003c/a\u003e) (Akinyemi Toluwalase)\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/520dd77a35922fb537e2dbfb3c839d047acbdd68\"\u003e\u003ccode\u003e520dd77\u003c/code\u003e\u003c/a\u003e perf: Implement fast paths in critical areas (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21210\"\u003e#21210\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92086c87e042413a3d0363d8fc3fbb11db98d06a\"\u003e\u003ccode\u003e92086c8\u003c/code\u003e\u003c/a\u003e test: update \u003ccode\u003eEMFILE\u003c/code\u003e error generation for Node.js 26.9.0 compatibility (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21330\"\u003e#21330\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9ac7eb60525ec768c2fdc6699e5a292aa913ce9e\"\u003e\u003ccode\u003e9ac7eb6\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21331\"\u003e#21331\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/24310e3a0e22b3c086ca402f88448676f2e1cfcd\"\u003e\u003ccode\u003e24310e3\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21324\"\u003e#21324\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/45ad79e54a39b54b4ce8eb47e612bd2f72a7a651\"\u003e\u003ccode\u003e45ad79e\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21318\"\u003e#21318\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ac74e37322ebf122ada676f153dc55c81f3caab0\"\u003e\u003ccode\u003eac74e37\u003c/code\u003e\u003c/a\u003e chore: Add AGENTS.md with AI disclosure requirements (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21221\"\u003e#21221\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c8326608e710e670beaf982501aed80ea104919a\"\u003e\u003ccode\u003ec832660\u003c/code\u003e\u003c/a\u003e chore: Upgrade Stylelint to the latest version in docs (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21245\"\u003e#21245\u003c/a\u003e) (Jung Hyeon Jun)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f9f88fcccd965fdc162b89c4615dd4018e3cabdf\"\u003e\u003ccode\u003ef9f88fc\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21308\"\u003e#21308\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fc81076a5b8145360654d81cbc130cf7d25dca77\"\u003e\u003ccode\u003efc81076\u003c/code\u003e\u003c/a\u003e ci: add more types integration tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20395\"\u003e#20395\u003c/a\u003e) (Nitin Kumar)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.10.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/264b4346d1963701df0c398b4aeb2f6e8b2af93e\"\u003e\u003ccode\u003e264b434\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003ed\u003c/code\u003e and \u003ccode\u003ev\u003c/code\u003e flags to \u003ccode\u003eno-unexpected-multiline\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21305\"\u003e#21305\u003c/a\u003e) (Gihyeon Jeong / 정기현)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6cc6c592f30901345d94ef75e0d42c1894fae6c\"\u003e\u003ccode\u003ec6cc6c5\u003c/code\u003e\u003c/a\u003e feat: check \u003ccode\u003eObject.prototype\u003c/code\u003e property names in \u003ccode\u003enew-cap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21269\"\u003e#21269\u003c/a\u003e) (crimsonjay0)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5661fa65fde9fd4c14f0b730e3cee6a42fc657c1\"\u003e\u003ccode\u003e5661fa6\u003c/code\u003e\u003c/a\u003e feat: no-extra-bind false negatives with class fields and static blocks (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21260\"\u003e#21260\u003c/a\u003e) (synthex-byte)\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/bb47dc6da2399a8f76c0c0c3273e6bc314c480e5\"\u003e\u003ccode\u003ebb47dc6\u003c/code\u003e\u003c/a\u003e fix: update dependency file-entry-cache to v11 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20801\"\u003e#20801\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/427ac0a014066c36aa57fa8fa9af20fd9fb591e1\"\u003e\u003ccode\u003e427ac0a\u003c/code\u003e\u003c/a\u003e fix: use format strings in debug calls (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21247\"\u003e#21247\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9d8153223dbf47b9aecdc1474202aaee4845f146\"\u003e\u003ccode\u003e9d81532\u003c/code\u003e\u003c/a\u003e fix: support \u003ccode\u003e__proto__\u003c/code\u003e in \u003ccode\u003e/* exported */\u003c/code\u003e comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21261\"\u003e#21261\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/87e0a082438264ad90b87fd74165ab4fd90f63ef\"\u003e\u003ccode\u003e87e0a08\u003c/code\u003e\u003c/a\u003e fix: prefer-object-has-own autofix breaks when Object is shadowed (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21282\"\u003e#21282\u003c/a\u003e) (김채영)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8e2cb142217f2efee1d10dcc02bfb75145ae775d\"\u003e\u003ccode\u003e8e2cb14\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003enew-cap\u003c/code\u003e false positive for \u003ccode\u003eUTC\u003c/code\u003e calls with \u003ccode\u003eproperties: false\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21275\"\u003e#21275\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9f4a364ab0ade048dfce1f37792b1d461d866e55\"\u003e\u003ccode\u003e9f4a364\u003c/code\u003e\u003c/a\u003e fix: Ignore static imports in no-unreachable (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21276\"\u003e#21276\u003c/a\u003e) (Taha Kotil)\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/2417cad57d7d1bc4cf3ecf0f0575cfb10ff2011c\"\u003e\u003ccode\u003e2417cad\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/9cecb8a0a2348070abf72321965d41919c7cc626\"\u003e\u003ccode\u003e9cecb8a\u003c/code\u003e\u003c/a\u003e docs: document \u003ccode\u003e\\c\u003c/code\u003e control letter escapes in no-control-regex (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21286\"\u003e#21286\u003c/a\u003e) (한국)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8724829f69f8ed80c876e3a5a017da199ce78739\"\u003e\u003ccode\u003e8724829\u003c/code\u003e\u003c/a\u003e docs: update compat table links (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21263\"\u003e#21263\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5634542be580750ffb1a5766470f9e9c72719696\"\u003e\u003ccode\u003e5634542\u003c/code\u003e\u003c/a\u003e docs: Clarify eqeqeq suggestion behavior (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21256\"\u003e#21256\u003c/a\u003e) (Müslüm Yılmaz)\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/b3d876b46083d67899eb1d9613118c1c583632a2\"\u003e\u003ccode\u003eb3d876b\u003c/code\u003e\u003c/a\u003e chore: disable npm audit in ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21306\"\u003e#21306\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1696682791661c13167eb905da2f38d1b8f4a3bf\"\u003e\u003ccode\u003e1696682\u003c/code\u003e\u003c/a\u003e ci: restore EMFILE test on Node.js 26 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21297\"\u003e#21297\u003c/a\u003e) (Marry (Subin Yang))\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/3c0b7c6e1fe2dec778b97a996018126f22d437ae\"\u003e\u003ccode\u003e3c0b7c6\u003c/code\u003e\u003c/a\u003e 10.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/321f0a70dd908ed461b11142e17fbdc0c0f1f198\"\u003e\u003ccode\u003e321f0a7\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/520dd77a35922fb537e2dbfb3c839d047acbdd68\"\u003e\u003ccode\u003e520dd77\u003c/code\u003e\u003c/a\u003e perf: Implement fast paths in critical areas (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21210\"\u003e#21210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9ecfdc5319f83580cf3b81beab7e936015fef2fa\"\u003e\u003ccode\u003e9ecfdc5\u003c/code\u003e\u003c/a\u003e docs: note that --cache can serve stale results for cross-file rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21312\"\u003e#21312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92086c87e042413a3d0363d8fc3fbb11db98d06a\"\u003e\u003ccode\u003e92086c8\u003c/code\u003e\u003c/a\u003e test: update \u003ccode\u003eEMFILE\u003c/code\u003e error generation for Node.js 26.9.0 compatibility (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21330\"\u003e#21330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9ac7eb60525ec768c2fdc6699e5a292aa913ce9e\"\u003e\u003ccode\u003e9ac7eb6\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21331\"\u003e#21331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22b09f54f67a9512d4cea39ddbab9b6973d5c476\"\u003e\u003ccode\u003e22b09f5\u003c/code\u003e\u003c/a\u003e fix: ignore \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eprefer-object-spread\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21311\"\u003e#21311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/24310e3a0e22b3c086ca402f88448676f2e1cfcd\"\u003e\u003ccode\u003e24310e3\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21324\"\u003e#21324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d136fa4b0d2dd4a9e738ca1c012cc674d1441127\"\u003e\u003ccode\u003ed136fa4\u003c/code\u003e\u003c/a\u003e feat: object-shorthand handle quoted properties for \u003ccode\u003eignoreConstructors\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21\"\u003e#21\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/45ad79e54a39b54b4ce8eb47e612bd2f72a7a651\"\u003e\u003ccode\u003e45ad79e\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21318\"\u003e#21318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.9.1...v10.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 17.24.0 to 18.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erename default export \u003ccode\u003en\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/556\"\u003e#556\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d499fc1129df5a35042fe44008b002fdfe7731d6\"\u003ed499fc1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.2.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.1...v18.2.2\"\u003e18.2.2\u003c/a\u003e (2026-07-11)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore HTTP imports in no-missing-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/547\"\u003e#547\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3ff929dc6145055b97f147b2ee371a831f44b73a\"\u003e3ff929d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-callback-literal:\u003c/strong\u003e report object, array, and template literals (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/552\"\u003e#552\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/dca23307d9af2cb07c13192e5bf9192ff7ff8981\"\u003edca2330\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.2.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.0...v18.2.1\"\u003e18.2.1\u003c/a\u003e (2026-06-26)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eensure types have valid syntax (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/544\"\u003e#544\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a0d78197665a0587c3f45f171835eaa8d18c7fc9\"\u003ea0d7819\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.2.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.1.0...v18.2.0\"\u003e18.2.0\u003c/a\u003e (2026-06-25)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erename default export \u003ccode\u003en\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/556\"\u003e#556\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d499fc1129df5a35042fe44008b002fdfe7731d6\"\u003ed499fc1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.1...v18.2.2\"\u003e18.2.2\u003c/a\u003e (2026-07-11)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore HTTP imports in no-missing-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/547\"\u003e#547\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3ff929dc6145055b97f147b2ee371a831f44b73a\"\u003e3ff929d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-callback-literal:\u003c/strong\u003e report object, array, and template literals (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/552\"\u003e#552\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/dca23307d9af2cb07c13192e5bf9192ff7ff8981\"\u003edca2330\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.0...v18.2.1\"\u003e18.2.1\u003c/a\u003e (2026-06-26)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eensure types have valid syntax (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/544\"\u003e#544\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a0d78197665a0587c3f45f171835eaa8d18c7fc9\"\u003ea0d7819\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.1.0...v18.2.0\"\u003e18.2.0\u003c/a\u003e (2026-06-25)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003emodule.exports\u003c/code\u003e for \u003ccode\u003erequire(esm)\u003c/code\u003e interop (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/542\"\u003e#542\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/04c99dfafa53482dcfb307d966f3c9996e707011\"\u003e04c99df\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.0.1...v18.1.0\"\u003e18.1.0\u003c/a\u003e (2026-06-08)\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/eslint-community/eslint-plugin-n/commit/6a9980a999defd64664a3b9626b6a9f2f67fac67\"\u003e\u003ccode\u003e6a9980a\u003c/code\u003e\u003c/a\u003e chore(master): release 18.3.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003e\u003ccode\u003ed7afbed\u003c/code\u003e\u003c/a\u003e feat: implement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d499fc1129df5a35042fe44008b002fdfe7731d6\"\u003e\u003ccode\u003ed499fc1\u003c/code\u003e\u003c/a\u003e chore: rename default export \u003ccode\u003en\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/556\"\u003e#556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e\u003ccode\u003e8d9bd05\u003c/code\u003e\u003c/a\u003e feat: add prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e\u003ccode\u003e8cae1af\u003c/code\u003e\u003c/a\u003e fix: support brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003e\u003ccode\u003ea6b3ce2\u003c/code\u003e\u003c/a\u003e fix: handle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003e\u003ccode\u003eb8e39c5\u003c/code\u003e\u003c/a\u003e fix(no-unsupported-features): classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003e\u003ccode\u003ea6cd6a5\u003c/code\u003e\u003c/a\u003e docs: update outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e\u003ccode\u003e4138d4e\u003c/code\u003e\u003c/a\u003e docs: add eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/0c31d00a050825b520dc25767ac2cf1707c9383e\"\u003e\u003ccode\u003e0c31d00\u003c/code\u003e\u003c/a\u003e chore(master): release 18.2.2 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/548\"\u003e#548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v17.24.0...v18.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `knip` from 6.34.0 to 6.38.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/webpro-nl/knip/releases\"\u003eknip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 6.38.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInclude co-authors in docs contributor list (0c334100df59d89a512ad598ec50e7f62f6da0c3)\u003c/li\u003e\n\u003cli\u003eFilter bots and agents from docs contributors (617f70d8179c6b8668ca41fe5df77ced5e2b37c0)\u003c/li\u003e\n\u003cli\u003eUpdate Eve plugin conventions (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2049\"\u003e#2049\u003c/a\u003e) (260dbb91a85f3a3bc2727e8f255d73df3737552c) - thanks \u003ca href=\"https://github.com/matchai\"\u003e\u003ccode\u003e@​matchai\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eargs\u003c/code\u003e example to that doc page (50b271b98fc930a05a3b045a2f691486f9f06528)\u003c/li\u003e\n\u003cli\u003eAdd Turborepo plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2055\"\u003e#2055\u003c/a\u003e) (e49d3db05f1d69ce7db3efcb8467a4af63c27379) - thanks \u003ca href=\"https://github.com/changbaebang\"\u003e\u003ccode\u003e@​changbaebang\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eimport-x/*\u003c/code\u003e settings in ESLint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2050\"\u003e#2050\u003c/a\u003e) (1a34cf82a3d6a1202717ef910bedba55838e9dd9) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve file option in Mocha configuration files (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2051\"\u003e#2051\u003c/a\u003e) (9b5c5f60468c8a92a3e74adca5c0931f008677af) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSupport oxlint extends (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2054\"\u003e#2054\u003c/a\u003e) (a149a98219bb14b15f446fc5f8c4f815e28b2183) - thanks \u003ca href=\"https://github.com/matthewnitschke-wk\"\u003e\u003ccode\u003e@​matthewnitschke-wk\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix import.meta handling in built-in compilers (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2059\"\u003e#2059\u003c/a\u003e) (8b0c85076bf3dce15ef5f3c0c4e58bfefdf59ded) - thanks \u003ca href=\"https://github.com/vdavid\"\u003e\u003ccode\u003e@​vdavid\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix tag hints for enum and namespace members (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2061\"\u003e#2061\u003c/a\u003e) (8a8805e48945863248429d18b7f6c4e4b7dc9ebd) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFlag unused member tags in tagged enums and namespaces (584e53ff3e0846fbfe04fa5b5bfefe2420576a34)\u003c/li\u003e\n\u003cli\u003efeat: resolve MDX content mapper remarkPlugins (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2060\"\u003e#2060\u003c/a\u003e) (34dbccf25359f9e9fefe9d0be6ef2ec0252223cc) - thanks \u003ca href=\"https://github.com/gioboa\"\u003e\u003ccode\u003e@​gioboa\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eRefactor and separate concerns w/ new typescript-content-mapper plugin (11e94509bd0f350d747facf4003fc5b248d1b02d)\u003c/li\u003e\n\u003cli\u003eResolve mdx content mapper providerImportSource (7b5825117f97f2f87b7141509a254f88d0957cf7)\u003c/li\u003e\n\u003cli\u003eFix config → entry in plop plugin (25a380c9e1165b76583d69b48b5fa7cdf5db0ae2)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.37.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(graphql-codegen): mark near-operation-file outputs as entries, not the documents directory (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2048\"\u003e#2048\u003c/a\u003e) (06a68fcf99a90e559daeb0b8fb2d24e173124774) - thanks \u003ca href=\"https://github.com/RobHannay\"\u003e\u003ccode\u003e@​RobHannay\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: enable JSX in the config loader (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1959\"\u003e#1959\u003c/a\u003e) (5b21dc9192f773613d1c5db8edf35f0a68820268) - thanks \u003ca href=\"https://github.com/addielaruee\"\u003e\u003ccode\u003e@​addielaruee\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eMatch binaries only to their actual dependency providers (c5bdb69ccbcb7e1056233f346d0ada3495d1013d)\u003c/li\u003e\n\u003cli\u003ePreserve executable references across package manager commands (54af171638db22f5d903faae05c37c2ea6adc869)\u003c/li\u003e\n\u003cli\u003eCorrect binary provider metadata in Relay fixtures (e67dfcb96d055c27be9c8601e077656855bb632b)\u003c/li\u003e\n\u003cli\u003eSeparate shell binary expectations from reporting exemptions (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2022\"\u003e#2022\u003c/a\u003e) (c1d7d75a3529d9faff7f4c0df11dd0ca1bdfb149)\u003c/li\u003e\n\u003cli\u003eRespect npx no-install flags before the executable (4237010c9a834eb8b04f4a528c76d10a5c38ee98)\u003c/li\u003e\n\u003cli\u003eUpdate dependencies (038ea179f7d6bf7ca43bc5daf553a68b13a9067c)\u003c/li\u003e\n\u003cli\u003eRemove npm auth check now that's in release-it (4aaf77c58004ac64063a1982b98e53107c2ebe93)\u003c/li\u003e\n\u003cli\u003eFix --format name resolution in the ESLint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2046\"\u003e#2046\u003c/a\u003e) (1269e98bb700384811fadc124d69ea720832037e) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.36.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@​tailwindcss/webpack\u003c/code\u003e as Tailwind plugin enabler (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2027\"\u003e#2027\u003c/a\u003e) (b5ac0cf734dda3c6c6c51c817981dfc558b7c582) - thanks \u003ca href=\"https://github.com/igas\"\u003e\u003ccode\u003e@​igas\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix Next.js Turbopack loader dependencies (23419b4edfd48796dd484fa880e1bad49a043d2e)\u003c/li\u003e\n\u003cli\u003eExplain ambiguous star exports in traces (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2025\"\u003e#2025\u003c/a\u003e) (3c2c1a53f9c2b7ff3057a4e46761791979e0b09c) - thanks \u003ca href=\"https://github.com/gioboa\"\u003e\u003ccode\u003e@​gioboa\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix eslintrc \u003ccode\u003eparserOptions.parser\u003c/code\u003e handling in ESLint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2028\"\u003e#2028\u003c/a\u003e) (c79463cec81d09518eda325ec00e6f12327dea8d) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(compilers): require word boundary around import keyword (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2029\"\u003e#2029\u003c/a\u003e) (68bbe51c39b564022b63942bc83cb570778cca00) - thanks \u003ca href=\"https://github.com/thanadolps\"\u003e\u003ccode\u003e@​thanadolps\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: recover from corrupt cache file (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2034\"\u003e#2034\u003c/a\u003e) (30ff7568c84e0a6731ca634a52314228d23d1a2b) - thanks \u003ca href=\"https://github.com/gioboa\"\u003e\u003ccode\u003e@​gioboa\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: fix trailing comma on dependency removal (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2033\"\u003e#2033\u003c/a\u003e) (adfaf4f78878b6d55b0939a92d70a1fbb0ae1240) - thanks \u003ca href=\"https://github.com/gioboa\"\u003e\u003ccode\u003e@​gioboa\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eDocument built-in compiler scope (a05e155276dad4ead16992580d17572cebf045e7)\u003c/li\u003e\n\u003cli\u003eAdd babel, khan and oxc to projects and optimize svgs (1c26560b98bc3109e93d15761d02f089213bfb6c)\u003c/li\u003e\n\u003cli\u003eAdd section to test preview packages \u0026amp; extension (d911c18385f0aa41f53653a2a15cc90a1e0251b8)\u003c/li\u003e\n\u003cli\u003eFix shared info/exclude handling in linked Git worktrees (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2037\"\u003e#2037\u003c/a\u003e) (c1f18d5a7d25fc5a614747bbcbd62d043457eb48) - thanks \u003ca href=\"https://github.com/kenfdev\"\u003e\u003ccode\u003e@​kenfdev\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eShard Node specs on Windows and enable Bun test parallelism (66e966b6edec4460b40b05847fefa9f90ee69068)\u003c/li\u003e\n\u003cli\u003eAdd Varlock plugin support (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2000\"\u003e#2000\u003c/a\u003e) (e4fbf46acff08e78370e72b142e795bd81f28561) - thanks \u003ca href=\"https://github.com/Joehoel\"\u003e\u003ccode\u003e@​Joehoel\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eApply NODE_OPTIONS inputs to package manager binaries (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2038\"\u003e#2038\u003c/a\u003e) (c8df8a28e9a19484efe7097f984abc0c6556aff5) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eHandle array form of \u003ccode\u003eimport/resolver\u003c/code\u003e setting in ESLint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2041\"\u003e#2041\u003c/a\u003e) (a80d386a80fdafc89c610d4887ec82184ac178db) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(node): add valueless Node CLI flags to boolean options (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2042\"\u003e#2042\u003c/a\u003e) (4c6768501f7115a894d7ece9e5c32090b684cc6f) - thanks \u003ca href=\"https://github.com/shoutoutuoadi325\"\u003e\u003ccode\u003e@​shoutoutuoadi325\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(typedoc): accept string form of plugin and theme options (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2043\"\u003e#2043\u003c/a\u003e) (ce387b05c8f136546e860ec73e29557563c63afa) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd textlint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2039\"\u003e#2039\u003c/a\u003e) (532dab595fc9a910e320418dc0390222fb2d7478) - thanks \u003ca href=\"https://github.com/anandghegde\"\u003e\u003ccode\u003e@​anandghegde\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: Correctly resolve Vitest setupFiles from nested configs (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2040\"\u003e#2040\u003c/a\u003e) (84a494334e125d229dc865893b21d69d0d201e85) - thanks \u003ca href=\"https://github.com/CruseCtrl\"\u003e\u003ccode\u003e@​CruseCtrl\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd n8n to projects (3f756a7e70c4164d57a7dbbd58f3604afe4043e2)\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/webpro-nl/knip/commit/c0e42f83bda7664065465f2f3faca7af97c988ac\"\u003e\u003ccode\u003ec0e42f8\u003c/code\u003e\u003c/a\u003e Release knip@6.38.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/25a380c9e1165b76583d69b48b5fa7cdf5db0ae2\"\u003e\u003ccode\u003e25a380c\u003c/code\u003e\u003c/a\u003e Fix config → entry in plop plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/7b5825117f97f2f87b7141509a254f88d0957cf7\"\u003e\u003ccode\u003e7b58251\u003c/code\u003e\u003c/a\u003e Resolve mdx content mapper providerImportSource\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/11e94509bd0f350d747facf4003fc5b248d1b02d\"\u003e\u003ccode\u003e11e9450\u003c/code\u003e\u003c/a\u003e Refactor and separate concerns w/ new typescript-content-mapper plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/34dbccf25359f9e9fefe9d0be6ef2ec0252223cc\"\u003e\u003ccode\u003e34dbccf\u003c/code\u003e\u003c/a\u003e feat: resolve MDX content mapper remarkPlugins (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2060\"\u003e#2060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/584e53ff3e0846fbfe04fa5b5bfefe2420576a34\"\u003e\u003ccode\u003e584e53f\u003c/code\u003e\u003c/a\u003e Flag unused member tags in tagged enums and namespaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/8a8805e48945863248429d18b7f6c4e4b7dc9ebd\"\u003e\u003ccode\u003e8a8805e\u003c/code\u003e\u003c/a\u003e Fix tag hints for enum and namespace members (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2061\"\u003e#2061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/8b0c85076bf3dce15ef5f3c0c4e58bfefdf59ded\"\u003e\u003ccode\u003e8b0c850\u003c/code\u003e\u003c/a\u003e Fix import.meta handling in built-in compilers (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2059\"\u003e#2059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/a149a98219bb14b15f446fc5f8c4f815e28b2183\"\u003e\u003ccode\u003ea149a98\u003c/code\u003e\u003c/a\u003e Support oxlint extends (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2054\"\u003e#2054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/9b5c5f60468c8a92a3e74adca5c0931f008677af\"\u003e\u003ccode\u003e9b5c5f6\u003c/code\u003e\u003c/a\u003e Resolve file option in Mocha configuration files (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2051\"\u003e#2051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/webpro-nl/knip/commits/knip@6.38.0/packages/knip\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.9.6 to 3.9.9\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.9.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\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.9.9/CHANGELOG.md#399\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Don't let Liquid objects interrupt paragraphs (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20087\"\u003e#20087\u003c/a\u003e by \u003ca href=\"https://github.com/seiyab\"\u003e\u003ccode\u003e@​seiyab\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.9.8/CHANGELOG.md#398\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Angular 22.2\u003c/li\u003e\n\u003cli\u003eFix regressions in v3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.7/CHANGELOG.md#397\"\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.9.9\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.8...3.9.9\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"md\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here.\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.8 --\u0026gt;\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003efrom\u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.9 --\u0026gt;\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003e from \u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.9.8\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.7...3.9.8\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Don't let Liquid objects interrupt paragraphs (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20087\"\u003e#20087\u003c/a\u003e by \u003ca href=\"https://github.com/seiyab\"\u003e\u003ccode\u003e@​seiyab\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\nIf `module` is not a [`WebAssembly.Module`](https://github.com/prettier/prettier/blob/main/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a\n{{jsxref(\u0026quot;TypeError\u0026quot;)}} is thrown.\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.7 --\u0026gt;\nIf \u003ccode\u003emodule\u003c/code\u003e is not a \u003ca href=\"https://github.com/prettier/prettier/blob/main/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module\"\u003e\u003ccode\u003eWebAssembly.Module\u003c/code\u003e\u003c/a\u003e object instance, a\u003c/p\u003e\n\u003cp\u003e{{jsxref(\u0026quot;TypeError\u0026quot;)}} is thrown.\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.8 --\u0026gt;\nIf \u003ccode\u003emodule\u003c/code\u003e is not a \u003ca href=\"https://github.com/prettier/prettier/blob/main/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module\"\u003e\u003ccode\u003eWebAssembly.Module\u003c/code\u003e\u003c/a\u003e object instance, a\n{{jsxref(\u0026quot;TypeError\u0026quot;)}} is thrown.\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.9.7\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.6...3.9.7\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Prevent indentation drift in list-item code blocks (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19647\"\u003e#19647\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19990\"\u003e#19990\u003c/a\u003e by \u003ca href=\"https://github.com/Austin1serb\"\u003e\u003ccode\u003e@​Austin1serb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n- [x] short first line.\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/prettier/prettier/commit/cdd17f2288b28b170a76416c72dac56e3ea5daff\"\u003e\u003ccode\u003ecdd17f2\u003c/code\u003e\u003c/a\u003e Release 3.9.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dc7b8968e678f51ea00e2be3fe8c717d114691a3\"\u003e\u003ccode\u003edc7b896\u003c/code\u003e\u003c/a\u003e Disable \u003ccode\u003esingleDollarTextMath\u003c/code\u003e in \u003ccode\u003emdast-util-math\u003c/code\u003e (\u003ca ...\n\n_Description has been truncated_","html_url":"https://github.com/itsDaiton/nebula-chat/pull/454","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsDaiton%2Fnebula-chat/issues/454","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/454/packages"}],"issue_packages":[{"old_version":"30.0.1","new_version":"30.1.2","update_type":"minor","path":null,"pr_created_at":"2026-10-07T10:51:32.000Z","version_change":"30.0.1 → 30.1.2","issue":{"uuid":"5743682939","node_id":"PR_kwDOKqiw4s8AAAABHGgugA","number":2112,"state":"open","title":"build(deps): bump jsdom from 30.0.1 to 30.1.2","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":9,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-07T10:51:32.000Z","updated_at":"2026-10-07T10:59:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"jsdom","old_version":"30.0.1","new_version":"30.1.2","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 30.0.1 to 30.1.2.\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\u003ev30.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated URLs to support Unicode v18.0.0 in internationalized domain names.\u003c/li\u003e\n\u003cli\u003eReduced package size and memory use for CSS property definitions. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (\u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an \u003ccode\u003einitial\u003c/code\u003e reset. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.\u003c/li\u003e\n\u003cli\u003eFixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.\u003c/li\u003e\n\u003cli\u003eFixed computed styles for \u003ccode\u003e:focus\u003c/code\u003e, \u003ccode\u003e:focus-visible\u003c/code\u003e, \u003ccode\u003e:focus-within\u003c/code\u003e, and selectors containing them after focus changes, including inside focus and blur listeners. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (\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 throwing for elements without inline-style support, including XML and MathML elements.\u003c/li\u003e\n\u003cli\u003eFixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after \u003ccode\u003ewindow.close()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed memory growth from long-lived \u003ccode\u003eMutationObserver\u003c/code\u003e instances retaining bookkeeping for garbage-collected nodes. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed retained \u003ccode\u003eselect.selectedOptions\u003c/code\u003e collections becoming stale after selection changes and form resets.\u003c/li\u003e\n\u003cli\u003eFixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.\u003c/li\u003e\n\u003cli\u003eFixed handling of deeply nested \u003ccode\u003ecolor-mix()\u003c/code\u003e expressions, including exceptions during color resolution. (\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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\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!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a23bfb72b5a3fc776db51ae1bccabf46af8a9e38\"\u003e\u003ccode\u003ea23bfb7\u003c/code\u003e\u003c/a\u003e 30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/64a75d240db0744cbfeff6f740b07c4da47cee99\"\u003e\u003ccode\u003e64a75d2\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/7bf9653bf12f8ed61255fddf065b1f27afbb6993\"\u003e\u003ccode\u003e7bf9653\u003c/code\u003e\u003c/a\u003e Invalidate styles after CSSOM and control state changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/fe9009c91a09dedd6519c65d8d5b266cce400fa2\"\u003e\u003ccode\u003efe9009c\u003c/code\u003e\u003c/a\u003e Update focused area handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a8d28b3ec0ae3f747a2a8bd2547517c358d00f9a\"\u003e\u003ccode\u003ea8d28b3\u003c/code\u003e\u003c/a\u003e Release windows retained by stylesheet parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/05a2c01549640ad820f6681e0549bf4aab316bbf\"\u003e\u003ccode\u003e05a2c01\u003c/code\u003e\u003c/a\u003e Deduplicate generated CSS property metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/1efa190736aa040ac1264e9009fa809d45d98c28\"\u003e\u003ccode\u003e1efa190\u003c/code\u003e\u003c/a\u003e Reduce generated CSS property data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a372e12fd6eeedadc16c11a12e7c155b8cba7c46\"\u003e\u003ccode\u003ea372e12\u003c/code\u003e\u003c/a\u003e Avoid Document named-property rebuilds after irrelevant tree mutations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b2cd235170228c83cafe6d0ff542419aa7fa6221\"\u003e\u003ccode\u003eb2cd235\u003c/code\u003e\u003c/a\u003e Update css-color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0542d2b8efe917ed37423d37f63488851613058d\"\u003e\u003ccode\u003e0542d2b\u003c/code\u003e\u003c/a\u003e Release idle MutationObserver bookkeeping\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.0.1...v30.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=30.0.1\u0026new-version=30.1.2)](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/complexdatacollective/network-canvas-monorepo/pull/2112","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/complexdatacollective%2Fnetwork-canvas-monorepo/issues/2112","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2112/packages"}},{"old_version":"30.1.1","new_version":"30.1.2","update_type":"patch","path":null,"pr_created_at":"2026-10-07T10:32:47.000Z","version_change":"30.1.1 → 30.1.2","issue":{"uuid":"5743451407","node_id":"PR_kwDOJu6Jm88AAAABHGUvdw","number":1950,"state":"open","title":"chore(deps-dev): bump the dev-dependencies group across 4 directories with 1 update","user":"dependabot[bot]","labels":["npm","Dependabot"],"assignees":["bpapillon"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-07T10:32:47.000Z","updated_at":"2026-10-07T10:35:22.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"dev-dependencies","update_count":1,"packages":[{"name":"jsdom","old_version":"30.1.1","new_version":"30.1.2","repository_url":"https://github.com/jsdom/jsdom"},{"name":"jsdom","old_version":"30.1.1","new_version":"30.1.2","repository_url":"https://github.com/jsdom/jsdom"},{"name":"jsdom","old_version":"30.1.1","new_version":"30.1.2","repository_url":"https://github.com/jsdom/jsdom"},{"name":"jsdom","old_version":"30.1.1","new_version":"30.1.2","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 1 update in the /angular directory: [jsdom](https://github.com/jsdom/jsdom).\nBumps the dev-dependencies group with 1 update in the /components directory: [jsdom](https://github.com/jsdom/jsdom).\nBumps the dev-dependencies group with 1 update in the /js directory: [jsdom](https://github.com/jsdom/jsdom).\nBumps the dev-dependencies group with 1 update in the /react directory: [jsdom](https://github.com/jsdom/jsdom).\n\nUpdates `jsdom` from 30.1.1 to 30.1.2\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\u003ev30.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated URLs to support Unicode v18.0.0 in internationalized domain names.\u003c/li\u003e\n\u003cli\u003eReduced package size and memory use for CSS property definitions. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (\u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an \u003ccode\u003einitial\u003c/code\u003e reset. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.\u003c/li\u003e\n\u003cli\u003eFixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.\u003c/li\u003e\n\u003cli\u003eFixed computed styles for \u003ccode\u003e:focus\u003c/code\u003e, \u003ccode\u003e:focus-visible\u003c/code\u003e, \u003ccode\u003e:focus-within\u003c/code\u003e, and selectors containing them after focus changes, including inside focus and blur listeners. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (\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 throwing for elements without inline-style support, including XML and MathML elements.\u003c/li\u003e\n\u003cli\u003eFixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after \u003ccode\u003ewindow.close()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed memory growth from long-lived \u003ccode\u003eMutationObserver\u003c/code\u003e instances retaining bookkeeping for garbage-collected nodes. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed retained \u003ccode\u003eselect.selectedOptions\u003c/code\u003e collections becoming stale after selection changes and form resets.\u003c/li\u003e\n\u003cli\u003eFixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.\u003c/li\u003e\n\u003cli\u003eFixed handling of deeply nested \u003ccode\u003ecolor-mix()\u003c/code\u003e expressions, including exceptions during color resolution. (\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/a23bfb72b5a3fc776db51ae1bccabf46af8a9e38\"\u003e\u003ccode\u003ea23bfb7\u003c/code\u003e\u003c/a\u003e 30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/64a75d240db0744cbfeff6f740b07c4da47cee99\"\u003e\u003ccode\u003e64a75d2\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/7bf9653bf12f8ed61255fddf065b1f27afbb6993\"\u003e\u003ccode\u003e7bf9653\u003c/code\u003e\u003c/a\u003e Invalidate styles after CSSOM and control state changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/fe9009c91a09dedd6519c65d8d5b266cce400fa2\"\u003e\u003ccode\u003efe9009c\u003c/code\u003e\u003c/a\u003e Update focused area handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a8d28b3ec0ae3f747a2a8bd2547517c358d00f9a\"\u003e\u003ccode\u003ea8d28b3\u003c/code\u003e\u003c/a\u003e Release windows retained by stylesheet parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/05a2c01549640ad820f6681e0549bf4aab316bbf\"\u003e\u003ccode\u003e05a2c01\u003c/code\u003e\u003c/a\u003e Deduplicate generated CSS property metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/1efa190736aa040ac1264e9009fa809d45d98c28\"\u003e\u003ccode\u003e1efa190\u003c/code\u003e\u003c/a\u003e Reduce generated CSS property data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a372e12fd6eeedadc16c11a12e7c155b8cba7c46\"\u003e\u003ccode\u003ea372e12\u003c/code\u003e\u003c/a\u003e Avoid Document named-property rebuilds after irrelevant tree mutations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b2cd235170228c83cafe6d0ff542419aa7fa6221\"\u003e\u003ccode\u003eb2cd235\u003c/code\u003e\u003c/a\u003e Update css-color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0542d2b8efe917ed37423d37f63488851613058d\"\u003e\u003ccode\u003e0542d2b\u003c/code\u003e\u003c/a\u003e Release idle MutationObserver bookkeeping\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.1.1...v30.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.1.1 to 30.1.2\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\u003ev30.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated URLs to support Unicode v18.0.0 in internationalized domain names.\u003c/li\u003e\n\u003cli\u003eReduced package size and memory use for CSS property definitions. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (\u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an \u003ccode\u003einitial\u003c/code\u003e reset. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.\u003c/li\u003e\n\u003cli\u003eFixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.\u003c/li\u003e\n\u003cli\u003eFixed computed styles for \u003ccode\u003e:focus\u003c/code\u003e, \u003ccode\u003e:focus-visible\u003c/code\u003e, \u003ccode\u003e:focus-within\u003c/code\u003e, and selectors containing them after focus changes, including inside focus and blur listeners. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (\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 throwing for elements without inline-style support, including XML and MathML elements.\u003c/li\u003e\n\u003cli\u003eFixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after \u003ccode\u003ewindow.close()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed memory growth from long-lived \u003ccode\u003eMutationObserver\u003c/code\u003e instances retaining bookkeeping for garbage-collected nodes. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed retained \u003ccode\u003eselect.selectedOptions\u003c/code\u003e collections becoming stale after selection changes and form resets.\u003c/li\u003e\n\u003cli\u003eFixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.\u003c/li\u003e\n\u003cli\u003eFixed handling of deeply nested \u003ccode\u003ecolor-mix()\u003c/code\u003e expressions, including exceptions during color resolution. (\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/a23bfb72b5a3fc776db51ae1bccabf46af8a9e38\"\u003e\u003ccode\u003ea23bfb7\u003c/code\u003e\u003c/a\u003e 30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/64a75d240db0744cbfeff6f740b07c4da47cee99\"\u003e\u003ccode\u003e64a75d2\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/7bf9653bf12f8ed61255fddf065b1f27afbb6993\"\u003e\u003ccode\u003e7bf9653\u003c/code\u003e\u003c/a\u003e Invalidate styles after CSSOM and control state changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/fe9009c91a09dedd6519c65d8d5b266cce400fa2\"\u003e\u003ccode\u003efe9009c\u003c/code\u003e\u003c/a\u003e Update focused area handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a8d28b3ec0ae3f747a2a8bd2547517c358d00f9a\"\u003e\u003ccode\u003ea8d28b3\u003c/code\u003e\u003c/a\u003e Release windows retained by stylesheet parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/05a2c01549640ad820f6681e0549bf4aab316bbf\"\u003e\u003ccode\u003e05a2c01\u003c/code\u003e\u003c/a\u003e Deduplicate generated CSS property metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/1efa190736aa040ac1264e9009fa809d45d98c28\"\u003e\u003ccode\u003e1efa190\u003c/code\u003e\u003c/a\u003e Reduce generated CSS property data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a372e12fd6eeedadc16c11a12e7c155b8cba7c46\"\u003e\u003ccode\u003ea372e12\u003c/code\u003e\u003c/a\u003e Avoid Document named-property rebuilds after irrelevant tree mutations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b2cd235170228c83cafe6d0ff542419aa7fa6221\"\u003e\u003ccode\u003eb2cd235\u003c/code\u003e\u003c/a\u003e Update css-color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0542d2b8efe917ed37423d37f63488851613058d\"\u003e\u003ccode\u003e0542d2b\u003c/code\u003e\u003c/a\u003e Release idle MutationObserver bookkeeping\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.1.1...v30.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.1.1 to 30.1.2\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\u003ev30.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated URLs to support Unicode v18.0.0 in internationalized domain names.\u003c/li\u003e\n\u003cli\u003eReduced package size and memory use for CSS property definitions. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (\u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an \u003ccode\u003einitial\u003c/code\u003e reset. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.\u003c/li\u003e\n\u003cli\u003eFixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.\u003c/li\u003e\n\u003cli\u003eFixed computed styles for \u003ccode\u003e:focus\u003c/code\u003e, \u003ccode\u003e:focus-visible\u003c/code\u003e, \u003ccode\u003e:focus-within\u003c/code\u003e, and selectors containing them after focus changes, including inside focus and blur listeners. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (\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 throwing for elements without inline-style support, including XML and MathML elements.\u003c/li\u003e\n\u003cli\u003eFixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after \u003ccode\u003ewindow.close()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed memory growth from long-lived \u003ccode\u003eMutationObserver\u003c/code\u003e instances retaining bookkeeping for garbage-collected nodes. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed retained \u003ccode\u003eselect.selectedOptions\u003c/code\u003e collections becoming stale after selection changes and form resets.\u003c/li\u003e\n\u003cli\u003eFixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.\u003c/li\u003e\n\u003cli\u003eFixed handling of deeply nested \u003ccode\u003ecolor-mix()\u003c/code\u003e expressions, including exceptions during color resolution. (\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/a23bfb72b5a3fc776db51ae1bccabf46af8a9e38\"\u003e\u003ccode\u003ea23bfb7\u003c/code\u003e\u003c/a\u003e 30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/64a75d240db0744cbfeff6f740b07c4da47cee99\"\u003e\u003ccode\u003e64a75d2\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/7bf9653bf12f8ed61255fddf065b1f27afbb6993\"\u003e\u003ccode\u003e7bf9653\u003c/code\u003e\u003c/a\u003e Invalidate styles after CSSOM and control state changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/fe9009c91a09dedd6519c65d8d5b266cce400fa2\"\u003e\u003ccode\u003efe9009c\u003c/code\u003e\u003c/a\u003e Update focused area handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a8d28b3ec0ae3f747a2a8bd2547517c358d00f9a\"\u003e\u003ccode\u003ea8d28b3\u003c/code\u003e\u003c/a\u003e Release windows retained by stylesheet parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/05a2c01549640ad820f6681e0549bf4aab316bbf\"\u003e\u003ccode\u003e05a2c01\u003c/code\u003e\u003c/a\u003e Deduplicate generated CSS property metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/1efa190736aa040ac1264e9009fa809d45d98c28\"\u003e\u003ccode\u003e1efa190\u003c/code\u003e\u003c/a\u003e Reduce generated CSS property data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a372e12fd6eeedadc16c11a12e7c155b8cba7c46\"\u003e\u003ccode\u003ea372e12\u003c/code\u003e\u003c/a\u003e Avoid Document named-property rebuilds after irrelevant tree mutations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b2cd235170228c83cafe6d0ff542419aa7fa6221\"\u003e\u003ccode\u003eb2cd235\u003c/code\u003e\u003c/a\u003e Update css-color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0542d2b8efe917ed37423d37f63488851613058d\"\u003e\u003ccode\u003e0542d2b\u003c/code\u003e\u003c/a\u003e Release idle MutationObserver bookkeeping\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.1.1...v30.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.1.1 to 30.1.2\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\u003ev30.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated URLs to support Unicode v18.0.0 in internationalized domain names.\u003c/li\u003e\n\u003cli\u003eReduced package size and memory use for CSS property definitions. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (\u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an \u003ccode\u003einitial\u003c/code\u003e reset. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.\u003c/li\u003e\n\u003cli\u003eFixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.\u003c/li\u003e\n\u003cli\u003eFixed computed styles for \u003ccode\u003e:focus\u003c/code\u003e, \u003ccode\u003e:focus-visible\u003c/code\u003e, \u003ccode\u003e:focus-within\u003c/code\u003e, and selectors containing them after focus changes, including inside focus and blur listeners. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (\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 throwing for elements without inline-style support, including XML and MathML elements.\u003c/li\u003e\n\u003cli\u003eFixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after \u003ccode\u003ewindow.close()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed memory growth from long-lived \u003ccode\u003eMutationObserver\u003c/code\u003e instances retaining bookkeeping for garbage-collected nodes. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed retained \u003ccode\u003eselect.selectedOptions\u003c/code\u003e collections becoming stale after selection changes and form resets.\u003c/li\u003e\n\u003cli\u003eFixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.\u003c/li\u003e\n\u003cli\u003eFixed handling of deeply nested \u003ccode\u003ecolor-mix()\u003c/code\u003e expressions, including exceptions during color resolution. (\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/a23bfb72b5a3fc776db51ae1bccabf46af8a9e38\"\u003e\u003ccode\u003ea23bfb7\u003c/code\u003e\u003c/a\u003e 30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/64a75d240db0744cbfeff6f740b07c4da47cee99\"\u003e\u003ccode\u003e64a75d2\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/7bf9653bf12f8ed61255fddf065b1f27afbb6993\"\u003e\u003ccode\u003e7bf9653\u003c/code\u003e\u003c/a\u003e Invalidate styles after CSSOM and control state changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/fe9009c91a09dedd6519c65d8d5b266cce400fa2\"\u003e\u003ccode\u003efe9009c\u003c/code\u003e\u003c/a\u003e Update focused area handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a8d28b3ec0ae3f747a2a8bd2547517c358d00f9a\"\u003e\u003ccode\u003ea8d28b3\u003c/code\u003e\u003c/a\u003e Release windows retained by stylesheet parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/05a2c01549640ad820f6681e0549bf4aab316bbf\"\u003e\u003ccode\u003e05a2c01\u003c/code\u003e\u003c/a\u003e Deduplicate generated CSS property metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/1efa190736aa040ac1264e9009fa809d45d98c28\"\u003e\u003ccode\u003e1efa190\u003c/code\u003e\u003c/a\u003e Reduce generated CSS property data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a372e12fd6eeedadc16c11a12e7c155b8cba7c46\"\u003e\u003ccode\u003ea372e12\u003c/code\u003e\u003c/a\u003e Avoid Document named-property rebuilds after irrelevant tree mutations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b2cd235170228c83cafe6d0ff542419aa7fa6221\"\u003e\u003ccode\u003eb2cd235\u003c/code\u003e\u003c/a\u003e Update css-color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0542d2b8efe917ed37423d37f63488851613058d\"\u003e\u003ccode\u003e0542d2b\u003c/code\u003e\u003c/a\u003e Release idle MutationObserver bookkeeping\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.1.1...v30.1.2\"\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/SchematicHQ/schematic-js/pull/1950","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SchematicHQ%2Fschematic-js/issues/1950","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1950/packages"}},{"old_version":"30.1.1","new_version":"30.1.2","update_type":"patch","path":null,"pr_created_at":"2026-10-07T09:34:01.000Z","version_change":"30.1.1 → 30.1.2","issue":{"uuid":"5742708560","node_id":"PR_kwDOO022288AAAABHFuFHA","number":1429,"state":"closed","title":"build(deps-dev): bump jsdom from 30.1.1 to 30.1.2","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-10-07T09:36:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-07T09:34:01.000Z","updated_at":"2026-10-07T09:36:48.000Z","time_to_close":165,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"jsdom","old_version":"30.1.1","new_version":"30.1.2","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 30.1.1 to 30.1.2.\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\u003ev30.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated URLs to support Unicode v18.0.0 in internationalized domain names.\u003c/li\u003e\n\u003cli\u003eReduced package size and memory use for CSS property definitions. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (\u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an \u003ccode\u003einitial\u003c/code\u003e reset. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.\u003c/li\u003e\n\u003cli\u003eFixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.\u003c/li\u003e\n\u003cli\u003eFixed computed styles for \u003ccode\u003e:focus\u003c/code\u003e, \u003ccode\u003e:focus-visible\u003c/code\u003e, \u003ccode\u003e:focus-within\u003c/code\u003e, and selectors containing them after focus changes, including inside focus and blur listeners. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (\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 throwing for elements without inline-style support, including XML and MathML elements.\u003c/li\u003e\n\u003cli\u003eFixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after \u003ccode\u003ewindow.close()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed memory growth from long-lived \u003ccode\u003eMutationObserver\u003c/code\u003e instances retaining bookkeeping for garbage-collected nodes. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed retained \u003ccode\u003eselect.selectedOptions\u003c/code\u003e collections becoming stale after selection changes and form resets.\u003c/li\u003e\n\u003cli\u003eFixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.\u003c/li\u003e\n\u003cli\u003eFixed handling of deeply nested \u003ccode\u003ecolor-mix()\u003c/code\u003e expressions, including exceptions during color resolution. (\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/a23bfb72b5a3fc776db51ae1bccabf46af8a9e38\"\u003e\u003ccode\u003ea23bfb7\u003c/code\u003e\u003c/a\u003e 30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/64a75d240db0744cbfeff6f740b07c4da47cee99\"\u003e\u003ccode\u003e64a75d2\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/7bf9653bf12f8ed61255fddf065b1f27afbb6993\"\u003e\u003ccode\u003e7bf9653\u003c/code\u003e\u003c/a\u003e Invalidate styles after CSSOM and control state changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/fe9009c91a09dedd6519c65d8d5b266cce400fa2\"\u003e\u003ccode\u003efe9009c\u003c/code\u003e\u003c/a\u003e Update focused area handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a8d28b3ec0ae3f747a2a8bd2547517c358d00f9a\"\u003e\u003ccode\u003ea8d28b3\u003c/code\u003e\u003c/a\u003e Release windows retained by stylesheet parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/05a2c01549640ad820f6681e0549bf4aab316bbf\"\u003e\u003ccode\u003e05a2c01\u003c/code\u003e\u003c/a\u003e Deduplicate generated CSS property metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/1efa190736aa040ac1264e9009fa809d45d98c28\"\u003e\u003ccode\u003e1efa190\u003c/code\u003e\u003c/a\u003e Reduce generated CSS property data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a372e12fd6eeedadc16c11a12e7c155b8cba7c46\"\u003e\u003ccode\u003ea372e12\u003c/code\u003e\u003c/a\u003e Avoid Document named-property rebuilds after irrelevant tree mutations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b2cd235170228c83cafe6d0ff542419aa7fa6221\"\u003e\u003ccode\u003eb2cd235\u003c/code\u003e\u003c/a\u003e Update css-color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0542d2b8efe917ed37423d37f63488851613058d\"\u003e\u003ccode\u003e0542d2b\u003c/code\u003e\u003c/a\u003e Release idle MutationObserver bookkeeping\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.1.1...v30.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=30.1.1\u0026new-version=30.1.2)](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/adoptium/adoptium.net/pull/1429","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/adoptium%2Fadoptium.net/issues/1429","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1429/packages"}},{"old_version":"30.1.1","new_version":"30.1.2","update_type":"patch","path":null,"pr_created_at":"2026-10-07T08:09:51.000Z","version_change":"30.1.1 → 30.1.2","issue":{"uuid":"5741636364","node_id":"PR_kwDOPtgwas8AAAABHE23Gw","number":714,"state":"open","title":"chore(deps-dev): bump the development-dependencies group with 6 updates","user":"dependabot[bot]","labels":["area:dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-07T08:09:51.000Z","updated_at":"2026-10-07T08:10:40.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":6,"packages":[{"name":"@inquirer/prompts","old_version":"8.7.2","new_version":"8.7.3","repository_url":"https://github.com/SBoudrias/Inquirer.js"},{"name":"eslint","old_version":"10.11.0","new_version":"10.12.0","repository_url":"https://github.com/eslint/eslint"},{"name":"turbo","old_version":"2.11.6","new_version":"2.11.7","repository_url":"https://github.com/vercel/turborepo"},{"name":"devtools-protocol","old_version":"0.0.1709723","new_version":"0.0.1710668","repository_url":"https://github.com/ChromeDevTools/devtools-protocol"},{"name":"jsdom","old_version":"30.1.1","new_version":"30.1.2","repository_url":"https://github.com/jsdom/jsdom"},{"name":"appium-xcuitest-driver","old_version":"12.13.3","new_version":"12.15.0","repository_url":"https://github.com/appium/appium-xcuitest-driver"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 6 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@inquirer/prompts](https://github.com/SBoudrias/Inquirer.js) | `8.7.2` | `8.7.3` |\n| [eslint](https://github.com/eslint/eslint) | `10.11.0` | `10.12.0` |\n| [turbo](https://github.com/vercel/turborepo) | `2.11.6` | `2.11.7` |\n| [devtools-protocol](https://github.com/ChromeDevTools/devtools-protocol) | `0.0.1709723` | `0.0.1710668` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.1.1` | `30.1.2` |\n| [appium-xcuitest-driver](https://github.com/appium/appium-xcuitest-driver) | `12.13.3` | `12.15.0` |\n\nUpdates `@inquirer/prompts` from 8.7.2 to 8.7.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/SBoudrias/Inquirer.js/releases\"\u003e@​inquirer/prompts's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​inquirer/prompts\u003c/code\u003e\u003ca href=\"https://github.com/8\"\u003e\u003ccode\u003e@​8\u003c/code\u003e\u003c/a\u003e.7.3\u003c/h2\u003e\n\u003ch3\u003eWhat's new\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esearch()\u003c/code\u003e no longer submits a stale choice when Enter is pressed while an async search is still loading — the prompt waits for the fresh results, the query is preserved, and repeated Enter presses during validation no longer run the async validator more than once (\u003ccode\u003e@inquirer/search\u003c/code\u003e, \u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/pull/2291\"\u003e#2291\u003c/a\u003e, closes \u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/issues/2290\"\u003e#2290\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econfirm()\u003c/code\u003e now always accepts the single keystrokes \u003ccode\u003ey\u003c/code\u003e/\u003ccode\u003en\u003c/code\u003e even with localized keywords, and unrecognized input no longer silently falls back on the default answer (\u003ccode\u003e@inquirer/confirm\u003c/code\u003e, \u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/pull/2281\"\u003e#2281\u003c/a\u003e, closes \u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/issues/2279\"\u003e#2279\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eexpand()\u003c/code\u003e and \u003ccode\u003erawlist()\u003c/code\u003e now ignore surrounding whitespace in answers (\u003ccode\u003e@inquirer/expand\u003c/code\u003e, \u003ccode\u003e@inquirer/rawlist\u003c/code\u003e, \u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/pull/2280\"\u003e#2280\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAll package READMEs now document the Deno install command (\u003ccode\u003edeno add npm:@inquirer/prompts\u003c/code\u003e) alongside the npm/yarn/pnpm/bun ones (\u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/pull/2269\"\u003e#2269\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIncluded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/checkbox@^5.2.6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/confirm@^6.3.3\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/editor@^5.3.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/expand@^5.1.6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/input@^5.1.7\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/number@^4.2.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/password@^5.2.3\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/rawlist@^5.3.6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/search@^4.3.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@inquirer/select@^5.2.6\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/SBoudrias/Inquirer.js/commit/a9436bd94d55a439df308f50e77a7cd0b2078e98\"\u003e\u003ccode\u003ea9436bd\u003c/code\u003e\u003c/a\u003e chore(release): bump \u003ccode\u003e@​inquirer/type\u003c/code\u003e range to ^4.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SBoudrias/Inquirer.js/commit/61be5dfa976ff5c28ebde6c8cfdad5cd3738a152\"\u003e\u003ccode\u003e61be5df\u003c/code\u003e\u003c/a\u003e chore: Publish new release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SBoudrias/Inquirer.js/commit/7dc77e281228214e19ccacbb52cbfcf58481d3cc\"\u003e\u003ccode\u003e7dc77e2\u003c/code\u003e\u003c/a\u003e fix(search): prevent submissions while the prompt is loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SBoudrias/Inquirer.js/commit/73b5eab2b8fafa9501724a2708135862a0f3e126\"\u003e\u003ccode\u003e73b5eab\u003c/code\u003e\u003c/a\u003e docs: document Deno installation (\u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/issues/2269\"\u003e#2269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SBoudrias/Inquirer.js/commit/79a092acb411703d70d1a463e1b1dd3b885ab43f\"\u003e\u003ccode\u003e79a092a\u003c/code\u003e\u003c/a\u003e ci: add Deno compatibility test suite (\u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/issues/2271\"\u003e#2271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SBoudrias/Inquirer.js/commit/148a96acb7f8e840e840e4a7de771a598d92d6db\"\u003e\u003ccode\u003e148a96a\u003c/code\u003e\u003c/a\u003e chore: enable vitest fsModuleCache to persist transforms across runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SBoudrias/Inquirer.js/commit/e928543051dbef7750cb271335d236ad5790031b\"\u003e\u003ccode\u003ee928543\u003c/code\u003e\u003c/a\u003e chore: bump yarn to 4.18.1 via corepack\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SBoudrias/Inquirer.js/commit/2348c7ba4bbbd1c2a848b9785b19bdf30e4daa36\"\u003e\u003ccode\u003e2348c7b\u003c/code\u003e\u003c/a\u003e fix(external-editor): use BSD/GNU-compatible truncate flag in test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SBoudrias/Inquirer.js/commit/3c1fdb3242bd31bcb025555eb1731ac742ead18f\"\u003e\u003ccode\u003e3c1fdb3\u003c/code\u003e\u003c/a\u003e fix(confirm): always accept y/n and reject unrecognized input (\u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/issues/2281\"\u003e#2281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SBoudrias/Inquirer.js/commit/eae8b3e2622b4f3c790968a2694ccddcabac2872\"\u003e\u003ccode\u003eeae8b3e\u003c/code\u003e\u003c/a\u003e fix(expand, rawlist): ignore surrounding whitespace in answers (\u003ca href=\"https://redirect.github.com/SBoudrias/Inquirer.js/issues/2280\"\u003e#2280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/SBoudrias/Inquirer.js/compare/@inquirer/prompts@8.7.2...@inquirer/prompts@8.7.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.11.0 to 10.12.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.12.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4618052eed6bb3ef420cf0db0490bbda2fd835a5\"\u003e\u003ccode\u003e4618052\u003c/code\u003e\u003c/a\u003e feat: handle astral letters in \u003ccode\u003enew-cap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21357\"\u003e#21357\u003c/a\u003e) (sary)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4ec5168d6d6888e3f7b163eb82963d40e45a75fa\"\u003e\u003ccode\u003e4ec5168\u003c/code\u003e\u003c/a\u003e feat: allow \u003ccode\u003eSourceCode#getText()\u003c/code\u003e to accept tokens and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21340\"\u003e#21340\u003c/a\u003e) (electrohyun)\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/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e) (Daniel Pinto)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/efc4d6bdc4c4d1dfba8bdab6a8f44f27a1b1d00a\"\u003e\u003ccode\u003eefc4d6b\u003c/code\u003e\u003c/a\u003e fix: astral letters in \u003ccode\u003econsistent-return\u003c/code\u003e, \u003ccode\u003eno-eval\u003c/code\u003e, \u003ccode\u003eno-invalid-this\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21360\"\u003e#21360\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/93de066d4125f8df013d40305e8009f4634a5cba\"\u003e\u003ccode\u003e93de066\u003c/code\u003e\u003c/a\u003e fix: prefer-exponentiation-operator autofix for async function base (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21322\"\u003e#21322\u003c/a\u003e) (Vladimir Babin)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/02e34ffba6adbed72365177c7caee71d950834e5\"\u003e\u003ccode\u003e02e34ff\u003c/code\u003e\u003c/a\u003e fix: add missing space after \u003ccode\u003eelse\u003c/code\u003e in \u003ccode\u003ecurly\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21355\"\u003e#21355\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b14b8bc213ccfc19d3edcfa9ce6af62622661160\"\u003e\u003ccode\u003eb14b8bc\u003c/code\u003e\u003c/a\u003e fix: correct \u003ccode\u003eid-length\u003c/code\u003e message for long private names (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21348\"\u003e#21348\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/69aac01d898837a934c9e735e0b7881cc1df09e8\"\u003e\u003ccode\u003e69aac01\u003c/code\u003e\u003c/a\u003e fix: support \u003ccode\u003eTSFunctionType\u003c/code\u003e in \u003ccode\u003egetFunctionHeadLoc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21335\"\u003e#21335\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/686630eb34ec1cddf399a4e6eaeebb080116a532\"\u003e\u003ccode\u003e686630e\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eno-loss-of-precision\u003c/code\u003e false positive with \u003ccode\u003e0.e5\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21337\"\u003e#21337\u003c/a\u003e) (sethamus)\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/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\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/5370d7ee35a6523873f798e87f3ccc73779d5d21\"\u003e\u003ccode\u003e5370d7e\u003c/code\u003e\u003c/a\u003e docs: clarify \u003ccode\u003eone-var\u003c/code\u003e \u003ccode\u003eseparateRequires\u003c/code\u003e matches any \u003ccode\u003erequire()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21192\"\u003e#21192\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8816c1ddfcfa31318ad17cddcfb68acffa30940f\"\u003e\u003ccode\u003e8816c1d\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/3d2e7cedb7409d8a2c5f2c2fafb14fa22790e40e\"\u003e\u003ccode\u003e3d2e7ce\u003c/code\u003e\u003c/a\u003e docs: fix typo in no-unused-expressions documentation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21346\"\u003e#21346\u003c/a\u003e) (bytedoe)\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/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e) (James Ross)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/29585ceba7ad35368d1b763bd1e80d899f28842c\"\u003e\u003ccode\u003e29585ce\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-expect-type to ^0.7.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21359\"\u003e#21359\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39d79ba9650542ac66d585d1899304abd630c07d\"\u003e\u003ccode\u003e39d79ba\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21354\"\u003e#21354\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/182a6e993a8a5dbdad5a628b69ad7382d48bf24f\"\u003e\u003ccode\u003e182a6e9\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21352\"\u003e#21352\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f995127230dad258069c29b7f51971681bd53f00\"\u003e\u003ccode\u003ef995127\u003c/code\u003e\u003c/a\u003e chore: remove CLAUDE.md in favor of AGENTS.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21339\"\u003e#21339\u003c/a\u003e) (Jarren)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b95fb6cb335f82a0ccabb0944ac3b89c703bd947\"\u003e\u003ccode\u003eb95fb6c\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21347\"\u003e#21347\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3782dd458fdfbe492e600d9a54b295a9721ed815\"\u003e\u003ccode\u003e3782dd4\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21342\"\u003e#21342\u003c/a\u003e) (ESLint Bot)\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/eslint/eslint/commit/a438ec39512c3381f4785a1f3058982ce9845970\"\u003e\u003ccode\u003ea438ec3\u003c/code\u003e\u003c/a\u003e 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/32a73f144198510e23c40c5ca6808e2c09b7e5e5\"\u003e\u003ccode\u003e32a73f1\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.11.0...v10.12.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.11.6 to 2.11.7\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.11.7\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\u003echore: Release Turborepo 2.11.6 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/14352\"\u003evercel/turborepo#14352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Pass SDKROOT through to repository tasks 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/14353\"\u003evercel/turborepo#14353\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update with-vite-module-federation example by \u003ca href=\"https://github.com/vercel-gh-bot-5\"\u003e\u003ccode\u003e@​vercel-gh-bot-5\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14349\"\u003evercel/turborepo#14349\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Ignore Vercel OIDC token rotation in .env.local cache inputs 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/14356\"\u003evercel/turborepo#14356\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.11.6...v2.11.7\"\u003ehttps://github.com/vercel/turborepo/compare/v2.11.6...v2.11.7\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/vercel/turborepo/commit/547747fb39719ebdc405074b8c378a6341aaabfc\"\u003e\u003ccode\u003e547747f\u003c/code\u003e\u003c/a\u003e publish 2.11.7 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/3ce82f57d27f37877f09fc1200c2fda64b9f3596\"\u003e\u003ccode\u003e3ce82f5\u003c/code\u003e\u003c/a\u003e fix: Ignore Vercel OIDC token rotation in .env.local cache inputs (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14356\"\u003e#14356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/8cc3cce30705a88ac9020d1adc2bf06f391fdf2d\"\u003e\u003ccode\u003e8cc3cce\u003c/code\u003e\u003c/a\u003e chore: Update with-vite-module-federation example (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14349\"\u003e#14349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/41387de0cdd241314f84c5ee9eef4728197c4fda\"\u003e\u003ccode\u003e41387de\u003c/code\u003e\u003c/a\u003e fix: Pass SDKROOT through to repository tasks (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14353\"\u003e#14353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/3a2072cad9eadc0f21a5eff2a93abbb40ed2b572\"\u003e\u003ccode\u003e3a2072c\u003c/code\u003e\u003c/a\u003e chore: Release Turborepo 2.11.6 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14352\"\u003e#14352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.11.6...v2.11.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `devtools-protocol` from 0.0.1709723 to 0.0.1710668\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ChromeDevTools/devtools-protocol/commit/d209a9a38897d2935a078a0bf00ca821811d21ed\"\u003e\u003ccode\u003ed209a9a\u003c/code\u003e\u003c/a\u003e Roll protocol to r1710668\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ChromeDevTools/devtools-protocol/compare/v0.0.1709723...v0.0.1710668\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.1.1 to 30.1.2\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\u003ev30.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated URLs to support Unicode v18.0.0 in internationalized domain names.\u003c/li\u003e\n\u003cli\u003eReduced package size and memory use for CSS property definitions. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (\u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an \u003ccode\u003einitial\u003c/code\u003e reset. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.\u003c/li\u003e\n\u003cli\u003eFixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.\u003c/li\u003e\n\u003cli\u003eFixed computed styles for \u003ccode\u003e:focus\u003c/code\u003e, \u003ccode\u003e:focus-visible\u003c/code\u003e, \u003ccode\u003e:focus-within\u003c/code\u003e, and selectors containing them after focus changes, including inside focus and blur listeners. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (\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 throwing for elements without inline-style support, including XML and MathML elements.\u003c/li\u003e\n\u003cli\u003eFixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after \u003ccode\u003ewindow.close()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed memory growth from long-lived \u003ccode\u003eMutationObserver\u003c/code\u003e instances retaining bookkeeping for garbage-collected nodes. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed retained \u003ccode\u003eselect.selectedOptions\u003c/code\u003e collections becoming stale after selection changes and form resets.\u003c/li\u003e\n\u003cli\u003eFixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.\u003c/li\u003e\n\u003cli\u003eFixed handling of deeply nested \u003ccode\u003ecolor-mix()\u003c/code\u003e expressions, including exceptions during color resolution. (\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/a23bfb72b5a3fc776db51ae1bccabf46af8a9e38\"\u003e\u003ccode\u003ea23bfb7\u003c/code\u003e\u003c/a\u003e 30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/64a75d240db0744cbfeff6f740b07c4da47cee99\"\u003e\u003ccode\u003e64a75d2\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/7bf9653bf12f8ed61255fddf065b1f27afbb6993\"\u003e\u003ccode\u003e7bf9653\u003c/code\u003e\u003c/a\u003e Invalidate styles after CSSOM and control state changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/fe9009c91a09dedd6519c65d8d5b266cce400fa2\"\u003e\u003ccode\u003efe9009c\u003c/code\u003e\u003c/a\u003e Update focused area handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a8d28b3ec0ae3f747a2a8bd2547517c358d00f9a\"\u003e\u003ccode\u003ea8d28b3\u003c/code\u003e\u003c/a\u003e Release windows retained by stylesheet parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/05a2c01549640ad820f6681e0549bf4aab316bbf\"\u003e\u003ccode\u003e05a2c01\u003c/code\u003e\u003c/a\u003e Deduplicate generated CSS property metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/1efa190736aa040ac1264e9009fa809d45d98c28\"\u003e\u003ccode\u003e1efa190\u003c/code\u003e\u003c/a\u003e Reduce generated CSS property data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a372e12fd6eeedadc16c11a12e7c155b8cba7c46\"\u003e\u003ccode\u003ea372e12\u003c/code\u003e\u003c/a\u003e Avoid Document named-property rebuilds after irrelevant tree mutations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b2cd235170228c83cafe6d0ff542419aa7fa6221\"\u003e\u003ccode\u003eb2cd235\u003c/code\u003e\u003c/a\u003e Update css-color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0542d2b8efe917ed37423d37f63488851613058d\"\u003e\u003ccode\u003e0542d2b\u003c/code\u003e\u003c/a\u003e Release idle MutationObserver bookkeeping\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.1.1...v30.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `appium-xcuitest-driver` from 12.13.3 to 12.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/appium/appium-xcuitest-driver/releases\"\u003eappium-xcuitest-driver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.15.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/compare/v12.14.1...v12.15.0\"\u003e12.15.0\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport launching WDA on Duo (\u003ca href=\"https://redirect.github.com/appium/appium-xcuitest-driver/issues/3000\"\u003e#3000\u003c/a\u003e) (\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/a097de0798995ffff1ee40882bab6a0e6eb430dd\"\u003ea097de0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.14.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/compare/v12.14.0...v12.14.1\"\u003e12.14.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emerge tunnel and legacy device discovery (\u003ca href=\"https://redirect.github.com/appium/appium-xcuitest-driver/issues/2991\"\u003e#2991\u003c/a\u003e) (\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/77b451fe482cf383b802ffde5068ee01f50e1cfd\"\u003e77b451f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.14.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/compare/v12.13.3...v12.14.0\"\u003e12.14.0\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport simulatorPasteboardAutomaticSync and connect hardware preference for Device Hub (\u003ca href=\"https://redirect.github.com/appium/appium-xcuitest-driver/issues/2999\"\u003e#2999\u003c/a\u003e) (\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/3cda6b203eaa9e497bc998748506ba75bc9e51f3\"\u003e3cda6b2\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/appium/appium-xcuitest-driver/blob/master/CHANGELOG.md\"\u003eappium-xcuitest-driver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/compare/v12.14.1...v12.15.0\"\u003e12.15.0\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport launching WDA on Duo (\u003ca href=\"https://redirect.github.com/appium/appium-xcuitest-driver/issues/3000\"\u003e#3000\u003c/a\u003e) (\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/a097de0798995ffff1ee40882bab6a0e6eb430dd\"\u003ea097de0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/compare/v12.14.0...v12.14.1\"\u003e12.14.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emerge tunnel and legacy device discovery (\u003ca href=\"https://redirect.github.com/appium/appium-xcuitest-driver/issues/2991\"\u003e#2991\u003c/a\u003e) (\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/77b451fe482cf383b802ffde5068ee01f50e1cfd\"\u003e77b451f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/compare/v12.13.3...v12.14.0\"\u003e12.14.0\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport simulatorPasteboardAutomaticSync and connect hardware preference for Device Hub (\u003ca href=\"https://redirect.github.com/appium/appium-xcuitest-driver/issues/2999\"\u003e#2999\u003c/a\u003e) (\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/3cda6b203eaa9e497bc998748506ba75bc9e51f3\"\u003e3cda6b2\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/appium/appium-xcuitest-driver/commit/b908435bed80f9720e14034e244326db20c35d6a\"\u003e\u003ccode\u003eb908435\u003c/code\u003e\u003c/a\u003e chore(release): 12.15.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/a097de0798995ffff1ee40882bab6a0e6eb430dd\"\u003e\u003ccode\u003ea097de0\u003c/code\u003e\u003c/a\u003e feat: support launching WDA on Duo (\u003ca href=\"https://redirect.github.com/appium/appium-xcuitest-driver/issues/3000\"\u003e#3000\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/062e265d86f5f2487a81224002a6a794251e975b\"\u003e\u003ccode\u003e062e265\u003c/code\u003e\u003c/a\u003e chore(release): 12.14.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/77b451fe482cf383b802ffde5068ee01f50e1cfd\"\u003e\u003ccode\u003e77b451f\u003c/code\u003e\u003c/a\u003e fix: merge tunnel and legacy device discovery (\u003ca href=\"https://redirect.github.com/appium/appium-xcuitest-driver/issues/2991\"\u003e#2991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/8f81ec346ee2a19dbd163c056adcde7aa8f95fc4\"\u003e\u003ccode\u003e8f81ec3\u003c/code\u003e\u003c/a\u003e chore(release): 12.14.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/appium/appium-xcuitest-driver/commit/3cda6b203eaa9e497bc998748506ba75bc9e51f3\"\u003e\u003ccode\u003e3cda6b2\u003c/code\u003e\u003c/a\u003e feat: support simulatorPasteboardAutomaticSync and connect hardware preferenc...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/appium/appium-xcuitest-driver/compare/v12.13.3...v12.15.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/webdriverio/desktop-mobile/pull/714","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/webdriverio%2Fdesktop-mobile/issues/714","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/714/packages"}},{"old_version":"30.1.0","new_version":"30.1.1","update_type":"patch","path":null,"pr_created_at":"2026-10-07T04:38:06.000Z","version_change":"30.1.0 → 30.1.1","issue":{"uuid":"5739450542","node_id":"PR_kwDOSmjk9M8AAAABHDIAww","number":97,"state":"open","title":"chore(deps): bump the minor-and-patch group with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-07T04:38:06.000Z","updated_at":"2026-10-07T04:38:55.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":12,"packages":[{"name":"@astrojs/starlight","old_version":"0.42.2","new_version":"0.42.5","repository_url":"https://github.com/withastro/starlight"},{"name":"@bundu/ui","old_version":"0.1.1","new_version":"0.2.0","repository_url":"https://github.com/mzizi-dev/packages-npm"},{"name":"astro","old_version":"7.3.3","new_version":"7.3.5","repository_url":"https://github.com/withastro/astro"},{"name":"sharp","old_version":"0.35.4","new_version":"0.35.5","repository_url":"https://github.com/lovell/sharp"},{"name":"@cloudflare/workers-types","old_version":"5.20260920.1","new_version":"5.20261004.1","repository_url":"https://github.com/cloudflare/workerd"},{"name":"wrangler","old_version":"4.135.0","new_version":"4.147.0","repository_url":"https://github.com/cloudflare/workers-sdk"},{"name":"@sveltejs/vite-plugin-svelte","old_version":"7.3.0","new_version":"7.3.1","repository_url":"https://github.com/sveltejs/vite-plugin-svelte"},{"name":"jsdom","old_version":"30.1.0","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"publint","old_version":"0.3.24","new_version":"0.3.25","repository_url":"https://github.com/publint/publint"},{"name":"vite","old_version":"8.3.0","new_version":"8.3.2","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"5.0.2","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@cloudflare/vite-plugin","old_version":"1.56.0","new_version":"1.62.5","repository_url":"https://github.com/cloudflare/workers-sdk"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 12 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@astrojs/starlight](https://github.com/withastro/starlight/tree/HEAD/packages/starlight) | `0.42.2` | `0.42.5` |\n| [@bundu/ui](https://github.com/mzizi-dev/packages-npm/tree/HEAD/packages/bundu-ui) | `0.1.1` | `0.2.0` |\n| [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) | `7.3.3` | `7.3.5` |\n| [sharp](https://github.com/lovell/sharp) | `0.35.4` | `0.35.5` |\n| [@cloudflare/workers-types](https://github.com/cloudflare/workerd) | `5.20260920.1` | `5.20261004.1` |\n| [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler) | `4.135.0` | `4.147.0` |\n| [@sveltejs/vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte) | `7.3.0` | `7.3.1` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.1.0` | `30.1.1` |\n| [publint](https://github.com/publint/publint/tree/HEAD/packages/publint) | `0.3.24` | `0.3.25` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.3.0` | `8.3.2` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.2` | `5.0.3` |\n| [@cloudflare/vite-plugin](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vite-plugin-cloudflare) | `1.56.0` | `1.62.5` |\n\nUpdates `@astrojs/starlight` from 0.42.2 to 0.42.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/withastro/starlight/releases\"\u003e@​astrojs/starlight's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​astrojs/starlight\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.42.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/withastro/starlight/pull/4227\"\u003e#4227\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/5ba7a70ad491ed8b5fc7033558dcc5428112cf97\"\u003e\u003ccode\u003e5ba7a70\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/I90rche\"\u003e\u003ccode\u003e@​I90rche\u003c/code\u003e\u003c/a\u003e! - Adds Macedonian language support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​astrojs/starlight\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.42.4\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/withastro/starlight/pull/4149\"\u003e#4149\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/fa10e87376f49f76a693e8d2b292aef65b959e37\"\u003e\u003ccode\u003efa10e87\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ematipico\"\u003e\u003ccode\u003e@​ematipico\u003c/code\u003e\u003c/a\u003e! - Optimizes rendering of large nested sidebars\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/starlight/pull/4215\"\u003e#4215\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/f791de65e6e14e9011586004d79f78fcef3a427e\"\u003e\u003ccode\u003ef791de6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/HiDeoo\"\u003e\u003ccode\u003e@​HiDeoo\u003c/code\u003e\u003c/a\u003e! - Adds a new \u003ccode\u003eseti:coffee\u003c/code\u003e icon for CoffeeScript files in the \u003ccode\u003e\u0026lt;FileTree\u0026gt;\u003c/code\u003e component.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/starlight/pull/4215\"\u003e#4215\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/f791de65e6e14e9011586004d79f78fcef3a427e\"\u003e\u003ccode\u003ef791de6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/HiDeoo\"\u003e\u003ccode\u003e@​HiDeoo\u003c/code\u003e\u003c/a\u003e! - Fixes \u003ccode\u003e\u0026lt;FileTree\u0026gt;\u003c/code\u003e icons for \u003ccode\u003e.ejs\u003c/code\u003e and \u003ccode\u003enpm-debug.log\u003c/code\u003e files displaying the default file icon.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​astrojs/starlight\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.42.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/withastro/starlight/pull/4211\"\u003e#4211\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/33e21ec86274070df1725580c1e8134e34062c15\"\u003e\u003ccode\u003e33e21ec\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/HiDeoo\"\u003e\u003ccode\u003e@​HiDeoo\u003c/code\u003e\u003c/a\u003e! - Fixes a potential page freeze due to table of contents highlighting when a \u003ca href=\"https://starlight.astro.build/reference/overrides/#pagetitle\"\u003e\u003ccode\u003e\u0026lt;PageTitle\u0026gt;\u003c/code\u003e component\u003c/a\u003e override does not render a heading with the required \u003ccode\u003eid=\u0026quot;_top\u0026quot;\u003c/code\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/withastro/starlight/blob/main/packages/starlight/CHANGELOG.md\"\u003e@​astrojs/starlight's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.42.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/withastro/starlight/pull/4227\"\u003e#4227\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/5ba7a70ad491ed8b5fc7033558dcc5428112cf97\"\u003e\u003ccode\u003e5ba7a70\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/I90rche\"\u003e\u003ccode\u003e@​I90rche\u003c/code\u003e\u003c/a\u003e! - Adds Macedonian language support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.42.4\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/withastro/starlight/pull/4149\"\u003e#4149\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/fa10e87376f49f76a693e8d2b292aef65b959e37\"\u003e\u003ccode\u003efa10e87\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ematipico\"\u003e\u003ccode\u003e@​ematipico\u003c/code\u003e\u003c/a\u003e! - Optimizes rendering of large nested sidebars\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/starlight/pull/4215\"\u003e#4215\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/f791de65e6e14e9011586004d79f78fcef3a427e\"\u003e\u003ccode\u003ef791de6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/HiDeoo\"\u003e\u003ccode\u003e@​HiDeoo\u003c/code\u003e\u003c/a\u003e! - Adds a new \u003ccode\u003eseti:coffee\u003c/code\u003e icon for CoffeeScript files in the \u003ccode\u003e\u0026lt;FileTree\u0026gt;\u003c/code\u003e component.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/starlight/pull/4215\"\u003e#4215\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/f791de65e6e14e9011586004d79f78fcef3a427e\"\u003e\u003ccode\u003ef791de6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/HiDeoo\"\u003e\u003ccode\u003e@​HiDeoo\u003c/code\u003e\u003c/a\u003e! - Fixes \u003ccode\u003e\u0026lt;FileTree\u0026gt;\u003c/code\u003e icons for \u003ccode\u003e.ejs\u003c/code\u003e and \u003ccode\u003enpm-debug.log\u003c/code\u003e files displaying the default file icon.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.42.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/withastro/starlight/pull/4211\"\u003e#4211\u003c/a\u003e \u003ca href=\"https://github.com/withastro/starlight/commit/33e21ec86274070df1725580c1e8134e34062c15\"\u003e\u003ccode\u003e33e21ec\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/HiDeoo\"\u003e\u003ccode\u003e@​HiDeoo\u003c/code\u003e\u003c/a\u003e! - Fixes a potential page freeze due to table of contents highlighting when a \u003ca href=\"https://starlight.astro.build/reference/overrides/#pagetitle\"\u003e\u003ccode\u003e\u0026lt;PageTitle\u0026gt;\u003c/code\u003e component\u003c/a\u003e override does not render a heading with the required \u003ccode\u003eid=\u0026quot;_top\u0026quot;\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/withastro/starlight/commit/b8b654ccf618d876552f8d72d3fbe75f996aaf43\"\u003e\u003ccode\u003eb8b654c\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4233\"\u003e#4233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/starlight/commit/5ba7a70ad491ed8b5fc7033558dcc5428112cf97\"\u003e\u003ccode\u003e5ba7a70\u003c/code\u003e\u003c/a\u003e i18n(mk): Add Macedonian UI translations (\u003ca href=\"https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4227\"\u003e#4227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/starlight/commit/3ec633b8c50d3e1a6d67cae7dc4c50f80101ea41\"\u003e\u003ccode\u003e3ec633b\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4217\"\u003e#4217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/starlight/commit/f791de65e6e14e9011586004d79f78fcef3a427e\"\u003e\u003ccode\u003ef791de6\u003c/code\u003e\u003c/a\u003e Fix file icons generator (\u003ca href=\"https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4215\"\u003e#4215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/starlight/commit/fa10e87376f49f76a693e8d2b292aef65b959e37\"\u003e\u003ccode\u003efa10e87\u003c/code\u003e\u003c/a\u003e perf: avoid repeated sidebar subtree scans (\u003ca href=\"https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4149\"\u003e#4149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/starlight/commit/fafea30324b17b52c489bc37dffbc78c8cd28e2f\"\u003e\u003ccode\u003efafea30\u003c/code\u003e\u003c/a\u003e Add benchmark for sidebar sublist processing (\u003ca href=\"https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4216\"\u003e#4216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/starlight/commit/b0d3b8e721b8612ab498aea678e760c099bda5a3\"\u003e\u003ccode\u003eb0d3b8e\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4212\"\u003e#4212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/starlight/commit/33e21ec86274070df1725580c1e8134e34062c15\"\u003e\u003ccode\u003e33e21ec\u003c/code\u003e\u003c/a\u003e Fix toc highlighting potential page freeze (\u003ca href=\"https://github.com/withastro/starlight/tree/HEAD/packages/starlight/issues/4211\"\u003e#4211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/withastro/starlight/commits/@astrojs/starlight@0.42.5/packages/starlight\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@bundu/ui` from 0.1.1 to 0.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mzizi-dev/packages-npm/blob/main/CHANGELOG.md\"\u003e@​bundu/ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[\u003ccode\u003e@​bundu/ui\u003c/code\u003e 0.2.0, \u003ccode\u003e@​nyuchi/ui\u003c/code\u003e 0.2.0] - 2026-09-30\u003c/h2\u003e\n\u003cp\u003ePublished to npm from the \u003ccode\u003ev0.2.0\u003c/code\u003e tag. \u003ccode\u003e@nyuchi/ui\u003c/code\u003e 0.2.0 is \u003cstrong\u003eBreaking\u003c/strong\u003e: the Svelte 5\nlibrary replaces the Astro components published as 0.1.2.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e@bundu/ui\u003c/code\u003e — \u003ccode\u003eHero\u003c/code\u003e media slot and split layout.\u003c/strong\u003e All of these are optional, and\nwith none of them \u003ccode\u003eHero\u003c/code\u003e renders byte-identical markup to 0.1.1.\n\u003cul\u003e\n\u003cli\u003eA named \u003ccode\u003emedia\u003c/code\u003e slot renders a demo, screenshot or live widget. It sits beside the\ntext column under \u003ccode\u003elayout=\u0026quot;split\u0026quot;\u003c/code\u003e, or below it under the default \u003ccode\u003elayout=\u0026quot;stack\u0026quot;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elayout=\u0026quot;split\u0026quot;\u003c/code\u003e puts text and media side by side from the \u003ccode\u003elg\u003c/code\u003e breakpoint and\nstacks them, text first, below it.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebadge\u003c/code\u003e renders a short status pill above the headline.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003evariant=\u0026quot;showcase\u0026quot;\u003c/code\u003e gives a richer, token-only background.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emediaLabel\u003c/code\u003e gives the media region an accessible name.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBoth — \u003ccode\u003estyles/color-scheme.css\u003c/code\u003e, an opt-in file that follows the OS colour\nscheme.\u003c/strong\u003e It repeats \u003ccode\u003etokens.css\u003c/code\u003e's dark block under\n\u003ccode\u003e@media (prefers-color-scheme: dark)\u003c/code\u003e for sites with no theme script, and an explicit\n\u003ccode\u003edata-theme=\u0026quot;light\u0026quot;\u003c/code\u003e or \u003ccode\u003e.light\u003c/code\u003e still wins. Its selector is \u003ccode\u003e:root:where(…)\u003c/code\u003e, so a\nbrand overlay imported after it keeps its \u003ccode\u003e--primary\u003c/code\u003e. It is generated like every\nother token file, bringing the count to 20, and exported as\n\u003ccode\u003e./styles/color-scheme.css\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e@bundu/ui\u003c/code\u003e — \u003ccode\u003eIcon\u003c/code\u003e glyphs \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003ecode\u003c/code\u003e and \u003ccode\u003eterminal\u003c/code\u003e.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e@bundu/ui\u003c/code\u003e — \u003ccode\u003eTabsContent\u003c/code\u003e \u003ccode\u003eforceMount\u003c/code\u003e.\u003c/strong\u003e It renders an inactive panel's content\n(still \u003ccode\u003ehidden\u003c/code\u003e), so a statically rendered tab set, with no hydration, carries every\npanel in its HTML. The default is unchanged.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e@bundu/ui\u003c/code\u003e — \u003ccode\u003e.gradient-showcase\u003c/code\u003e utility\u003c/strong\u003e in \u003ccode\u003estyles/globals.css\u003c/code\u003e. It lays soft\nwashes of the brand \u003ccode\u003e--primary\u003c/code\u003e and cobalt over \u003ccode\u003e--background\u003c/code\u003e, with no hex and no\nimage.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBoth — the type scale, reading widths and named spacing in \u003ccode\u003estyles/theme.css\u003c/code\u003e.\u003c/strong\u003e\nThis adds \u003ccode\u003e--text-display\u003c/code\u003e … \u003ccode\u003e--text-caption\u003c/code\u003e with their line-height, tracking and\nweight, \u003ccode\u003e--container-narrow\u003c/code\u003e / \u003ccode\u003e--container-prose\u003c/code\u003e, and \u003ccode\u003e--spacing-xxs\u003c/code\u003e …\n\u003ccode\u003e--spacing-2xl-plus\u003c/code\u003e. These values are read from each package's \u003ccode\u003etailwind-preset.mjs\u003c/code\u003e,\nso the Tailwind v4 path and the v3 preset share one definition. Without them, the\nAstro components' \u003ccode\u003etext-display\u003c/code\u003e, \u003ccode\u003etext-body-lg\u003c/code\u003e and \u003ccode\u003eeyebrow\u003c/code\u003e classes had no value\nunder the v4-only setup the README recommends.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBoth — all 21 Mzizi colour families\u003c/strong\u003e in \u003ccode\u003estyles/tokens.css\u003c/code\u003e, under one \u003ccode\u003e--color-*\u003c/code\u003e\nnamespace: 7 minerals, 7 heritage tones and 7 experimental tones. It also carries the\nnine-step surface ladder (\u003ccode\u003e--pitch\u003c/code\u003e … \u003ccode\u003e--wash\u003c/code\u003e, plus \u003ccode\u003e--surface-muted\u003c/code\u003e) and the\nconnectivity status trio (\u003ccode\u003e--syncing\u003c/code\u003e, \u003ccode\u003e--offline\u003c/code\u003e, \u003ccode\u003e--neutral\u003c/code\u003e). That is 113 custom\nproperties, up from 62. (\u003ca href=\"https://github.com/mzizi-dev/packages-npm/tree/HEAD/packages/bundu-ui/issues/9\"\u003e#9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBoth — \u003ccode\u003estyles/theme.css\u003c/code\u003e\u003c/strong\u003e, a native Tailwind v4 \u003ccode\u003e@theme\u003c/code\u003e entrypoint, so no\n\u003ccode\u003etailwind.config.mjs\u003c/code\u003e is needed. (\u003ca href=\"https://github.com/mzizi-dev/packages-npm/tree/HEAD/packages/bundu-ui/issues/9\"\u003e#9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBoth — \u003ccode\u003etokens.json\u003c/code\u003e.\u003c/strong\u003e It holds the same values in machine-readable form, including\nevery custom property resolved to a literal hex per mode, for Expo and Satori. (\u003ca href=\"https://github.com/mzizi-dev/packages-npm/tree/HEAD/packages/bundu-ui/issues/9\"\u003e#9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBoth — \u003ccode\u003ebrand-shamwari.css\u003c/code\u003e (sodalite) and \u003ccode\u003ebrand-mzizi.css\u003c/code\u003e (hematite).\u003c/strong\u003e Mzizi's\nbrand mineral is hematite by owner decision (2026-09-30), recorded in canon as\n\u003ca href=\"https://redirect.github.com/mzizi-dev/mzizi-registry/issues/378\"\u003emzizi-dev/mzizi-registry#378\u003c/a\u003e. (\u003ca href=\"https://github.com/mzizi-dev/packages-npm/tree/HEAD/packages/bundu-ui/issues/9\"\u003e#9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBoth — \u003ccode\u003etailwind-palette.mjs\u003c/code\u003e\u003c/strong\u003e, the generated colour map shared by the v3 preset\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mzizi-dev/packages-npm/commits/HEAD/packages/bundu-ui\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `astro` from 7.3.3 to 7.3.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/withastro/astro/releases\"\u003eastro's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eastro@7.3.5\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/withastro/astro/pull/17736\"\u003e#17736\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/2b8b2e80169da0ab19055166438291c46fcfe320\"\u003e\u003ccode\u003e2b8b2e8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ematipico\"\u003e\u003ccode\u003e@​ematipico\u003c/code\u003e\u003c/a\u003e! - Adds a new container function called \u003ccode\u003erenderComponent()\u003c/code\u003e, which renders Astro components with inlined styles and scripts.\u003c/p\u003e\n\u003cp\u003eUsers must import the component with the new \u003ccode\u003e?container\u003c/code\u003e query string:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { experimental_AstroContainer } from \u0026quot;astro/container\u0026quot;;\nimport TodoList from \u0026quot;../components/TodoList.astro?container\u0026quot;;\n\u003cp\u003econst container = await experimental_AstroContainer.create();\u003c/p\u003e\n\u003cp\u003econst _string = container.renderComponent(TodoList);\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eastro@7.3.4\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/withastro/astro/pull/18063\"\u003e#18063\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/40896acb744988d9d3c2015e810c57de26390b3f\"\u003e\u003ccode\u003e40896ac\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/adamchal\"\u003e\u003ccode\u003e@​adamchal\u003c/code\u003e\u003c/a\u003e! - Fixes incremental builds repeatedly rendering unchanged pages when modules or compiled CSS reference bundled assets.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18053\"\u003e#18053\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/cf5d72f286c3c1185b7d39692b8ca8e789c16e02\"\u003e\u003ccode\u003ecf5d72f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Princesseuh\"\u003e\u003ccode\u003e@​Princesseuh\u003c/code\u003e\u003c/a\u003e! - Improves the \u003ccode\u003eastro check\u003c/code\u003e error shown for TypeScript 7. The command now explains that TypeScript 7 is not currently supported and provides instructions for experimentally type-checking Astro files with TypeScript 7.1 and \u003ccode\u003e@astrojs/ts-content-mapper\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18086\"\u003e#18086\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/795a7e44640e7ad513a590a362dc0d3259de7771\"\u003e\u003ccode\u003e795a7e4\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ump45nose\"\u003e\u003ccode\u003e@​ump45nose\u003c/code\u003e\u003c/a\u003e! - Fix double-escaped ampersands in Markdown image \u003ccode\u003ealt\u003c/code\u003e and \u003ccode\u003etitle\u003c/code\u003e attributes. The \u003ccode\u003e__ASTRO_IMAGE_\u003c/code\u003e round-trip now decodes the numeric (\u003ccode\u003e\u0026amp;#x26;\u003c/code\u003e) and named (\u003ccode\u003e\u0026amp;amp;\u003c/code\u003e) character references the Markdown processors emit, so an \u003ccode\u003e\u0026amp;\u003c/code\u003e in an alt or title is escaped exactly once in the final HTML instead of twice.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18074\"\u003e#18074\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/042980585a75a12f3b0d63377483af98ef80e0f9\"\u003e\u003ccode\u003e0429805\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/SurefireStudios\"\u003e\u003ccode\u003e@​SurefireStudios\u003c/code\u003e\u003c/a\u003e! - Fix three error names that did not match their documented reference. \u003ccode\u003eMissingLocale\u003c/code\u003e, \u003ccode\u003eMissingIndexForInternationalization\u003c/code\u003e and \u003ccode\u003eNoManifestAvailable\u003c/code\u003e reported names ending in \u003ccode\u003eError\u003c/code\u003e in the dev overlay, while their error reference pages are published under the unsuffixed names, so the name shown to users could not be found in the docs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18007\"\u003e#18007\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/22458379f5f258ac1df225f5af644b98b1b8237b\"\u003e\u003ccode\u003e2245837\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/L4XB\"\u003e\u003ccode\u003e@​L4XB\u003c/code\u003e\u003c/a\u003e! - Fixes the dev server re-evaluating the whole server module graph on every request. The \u003ccode\u003eastro:head-metadata\u003c/code\u003e plugin invalidated its component metadata virtual module from its own \u003ccode\u003etransform\u003c/code\u003e hook, so each evaluation of that module scheduled the next one. Adapters that run requests outside Vite's module runner, such as \u003ccode\u003e@astrojs/cloudflare\u003c/code\u003e, paid for a full re-evaluation of the server graph on every request for the lifetime of the process.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18096\"\u003e#18096\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/43657c4612f04cecf6e34d288eed1811c6508b74\"\u003e\u003ccode\u003e43657c4\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Fixes domain-based i18n routing to respect \u003ccode\u003esecurity.allowedDomains\u003c/code\u003e when selecting a locale from request host headers\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18043\"\u003e#18043\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/8a53a8b70f964e7bc127d6991cc9aca21e87750f\"\u003e\u003ccode\u003e8a53a8b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/astro-factory\"\u003e\u003ccode\u003e@​astro-factory\u003c/code\u003e\u003c/a\u003e! - Fixes \u003ccode\u003eimage.responsiveStyles\u003c/code\u003e emitting invalid \u003ccode\u003eobject-position\u003c/code\u003e CSS values for same-axis keyword pairs (\u003ccode\u003etop bottom\u003c/code\u003e, \u003ccode\u003eleft right\u003c/code\u003e, etc.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18029\"\u003e#18029\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/c08252d6803d4af2890b4bd1c69e4b4fc49e2d04\"\u003e\u003ccode\u003ec08252d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Runs \u003ccode\u003eastro dev\u003c/code\u003e and \u003ccode\u003eastro preview\u003c/code\u003e in the foreground when an AI agent is detected on Windows, allowing the agent to manage the process lifetime. Pass \u003ccode\u003e--background\u003c/code\u003e explicitly to request an Astro-managed background process. Agent-inferred backgrounding remains enabled on other platforms.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/withastro/astro/commit/3fd16eeb5cd096a6ceb8cc3e70b89ed30d6fcd4d\"\u003e\u003ccode\u003e3fd16ee\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/withastro/astro/commit/8358d59cba754480c7d830c473837a0d7100ac7e\"\u003e\u003ccode\u003e8358d59\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​astrojs/markdown-satteri\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.4.2\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/withastro/astro/blob/main/packages/astro/CHANGELOG.md\"\u003eastro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.3.5\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/withastro/astro/pull/17736\"\u003e#17736\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/2b8b2e80169da0ab19055166438291c46fcfe320\"\u003e\u003ccode\u003e2b8b2e8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ematipico\"\u003e\u003ccode\u003e@​ematipico\u003c/code\u003e\u003c/a\u003e! - Adds a new container function called \u003ccode\u003erenderComponent()\u003c/code\u003e, which renders Astro components with inlined styles and scripts.\u003c/p\u003e\n\u003cp\u003eUsers must import the component with the new \u003ccode\u003e?container\u003c/code\u003e query string:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { experimental_AstroContainer } from \u0026quot;astro/container\u0026quot;;\nimport TodoList from \u0026quot;../components/TodoList.astro?container\u0026quot;;\n\u003cp\u003econst container = await experimental_AstroContainer.create();\u003c/p\u003e\n\u003cp\u003econst _string = container.renderComponent(TodoList);\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3.4\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/withastro/astro/pull/18063\"\u003e#18063\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/40896acb744988d9d3c2015e810c57de26390b3f\"\u003e\u003ccode\u003e40896ac\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/adamchal\"\u003e\u003ccode\u003e@​adamchal\u003c/code\u003e\u003c/a\u003e! - Fixes incremental builds repeatedly rendering unchanged pages when modules or compiled CSS reference bundled assets.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18053\"\u003e#18053\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/cf5d72f286c3c1185b7d39692b8ca8e789c16e02\"\u003e\u003ccode\u003ecf5d72f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Princesseuh\"\u003e\u003ccode\u003e@​Princesseuh\u003c/code\u003e\u003c/a\u003e! - Improves the \u003ccode\u003eastro check\u003c/code\u003e error shown for TypeScript 7. The command now explains that TypeScript 7 is not currently supported and provides instructions for experimentally type-checking Astro files with TypeScript 7.1 and \u003ccode\u003e@astrojs/ts-content-mapper\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18086\"\u003e#18086\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/795a7e44640e7ad513a590a362dc0d3259de7771\"\u003e\u003ccode\u003e795a7e4\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ump45nose\"\u003e\u003ccode\u003e@​ump45nose\u003c/code\u003e\u003c/a\u003e! - Fix double-escaped ampersands in Markdown image \u003ccode\u003ealt\u003c/code\u003e and \u003ccode\u003etitle\u003c/code\u003e attributes. The \u003ccode\u003e__ASTRO_IMAGE_\u003c/code\u003e round-trip now decodes the numeric (\u003ccode\u003e\u0026amp;#x26;\u003c/code\u003e) and named (\u003ccode\u003e\u0026amp;amp;\u003c/code\u003e) character references the Markdown processors emit, so an \u003ccode\u003e\u0026amp;\u003c/code\u003e in an alt or title is escaped exactly once in the final HTML instead of twice.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18074\"\u003e#18074\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/042980585a75a12f3b0d63377483af98ef80e0f9\"\u003e\u003ccode\u003e0429805\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/SurefireStudios\"\u003e\u003ccode\u003e@​SurefireStudios\u003c/code\u003e\u003c/a\u003e! - Fix three error names that did not match their documented reference. \u003ccode\u003eMissingLocale\u003c/code\u003e, \u003ccode\u003eMissingIndexForInternationalization\u003c/code\u003e and \u003ccode\u003eNoManifestAvailable\u003c/code\u003e reported names ending in \u003ccode\u003eError\u003c/code\u003e in the dev overlay, while their error reference pages are published under the unsuffixed names, so the name shown to users could not be found in the docs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18007\"\u003e#18007\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/22458379f5f258ac1df225f5af644b98b1b8237b\"\u003e\u003ccode\u003e2245837\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/L4XB\"\u003e\u003ccode\u003e@​L4XB\u003c/code\u003e\u003c/a\u003e! - Fixes the dev server re-evaluating the whole server module graph on every request. The \u003ccode\u003eastro:head-metadata\u003c/code\u003e plugin invalidated its component metadata virtual module from its own \u003ccode\u003etransform\u003c/code\u003e hook, so each evaluation of that module scheduled the next one. Adapters that run requests outside Vite's module runner, such as \u003ccode\u003e@astrojs/cloudflare\u003c/code\u003e, paid for a full re-evaluation of the server graph on every request for the lifetime of the process.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18096\"\u003e#18096\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/43657c4612f04cecf6e34d288eed1811c6508b74\"\u003e\u003ccode\u003e43657c4\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Fixes domain-based i18n routing to respect \u003ccode\u003esecurity.allowedDomains\u003c/code\u003e when selecting a locale from request host headers\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18043\"\u003e#18043\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/8a53a8b70f964e7bc127d6991cc9aca21e87750f\"\u003e\u003ccode\u003e8a53a8b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/astro-factory\"\u003e\u003ccode\u003e@​astro-factory\u003c/code\u003e\u003c/a\u003e! - Fixes \u003ccode\u003eimage.responsiveStyles\u003c/code\u003e emitting invalid \u003ccode\u003eobject-position\u003c/code\u003e CSS values for same-axis keyword pairs (\u003ccode\u003etop bottom\u003c/code\u003e, \u003ccode\u003eleft right\u003c/code\u003e, etc.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/withastro/astro/pull/18029\"\u003e#18029\u003c/a\u003e \u003ca href=\"https://github.com/withastro/astro/commit/c08252d6803d4af2890b4bd1c69e4b4fc49e2d04\"\u003e\u003ccode\u003ec08252d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/matthewp\"\u003e\u003ccode\u003e@​matthewp\u003c/code\u003e\u003c/a\u003e! - Runs \u003ccode\u003eastro dev\u003c/code\u003e and \u003ccode\u003eastro preview\u003c/code\u003e in the foreground when an AI agent is detected on Windows, allowing the agent to manage the process lifetime. Pass \u003ccode\u003e--background\u003c/code\u003e explicitly to request an Astro-managed background process. Agent-inferred backgrounding remains enabled on other platforms.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/withastro/astro/commit/3fd16eeb5cd096a6ceb8cc3e70b89ed30d6fcd4d\"\u003e\u003ccode\u003e3fd16ee\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/withastro/astro/commit/8358d59cba754480c7d830c473837a0d7100ac7e\"\u003e\u003ccode\u003e8358d59\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​astrojs/markdown-satteri\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/c2e01642af5f3919e4951b277a01d2de0ba1322f\"\u003e\u003ccode\u003ec2e0164\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/18113\"\u003e#18113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/2b8b2e80169da0ab19055166438291c46fcfe320\"\u003e\u003ccode\u003e2b8b2e8\u003c/code\u003e\u003c/a\u003e feat: add render component (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/17736\"\u003e#17736\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/790c6f720efd9de362e7a2b6319ac2d721062bda\"\u003e\u003ccode\u003e790c6f7\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/18035\"\u003e#18035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/9d17bf1af7eb5d6c753e590dcb36b882647f859a\"\u003e\u003ccode\u003e9d17bf1\u003c/code\u003e\u003c/a\u003e Update dependency obug to v3 (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/18100\"\u003e#18100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/43657c4612f04cecf6e34d288eed1811c6508b74\"\u003e\u003ccode\u003e43657c4\u003c/code\u003e\u003c/a\u003e Fix i18n domain host validation (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/18096\"\u003e#18096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/00393ff0819d615acea30341f2c850dbafacb826\"\u003e\u003ccode\u003e00393ff\u003c/code\u003e\u003c/a\u003e Update dependency vitest [SECURITY] (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/18026\"\u003e#18026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/40896acb744988d9d3c2015e810c57de26390b3f\"\u003e\u003ccode\u003e40896ac\u003c/code\u003e\u003c/a\u003e fix(incremental): resolve asset placeholders in modules or compiled CSS (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/18063\"\u003e#18063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/042980585a75a12f3b0d63377483af98ef80e0f9\"\u003e\u003ccode\u003e0429805\u003c/code\u003e\u003c/a\u003e fix(errors): align three error names with their documented reference (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/18074\"\u003e#18074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/3eab954d213e3dd040db7925b56e7ab5a02f4532\"\u003e\u003ccode\u003e3eab954\u003c/code\u003e\u003c/a\u003e [ci] format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/withastro/astro/commit/795a7e44640e7ad513a590a362dc0d3259de7771\"\u003e\u003ccode\u003e795a7e4\u003c/code\u003e\u003c/a\u003e Fix double-escaped ampersands in Markdown image alt and title attributes (\u003ca href=\"https://github.com/withastro/astro/tree/HEAD/packages/astro/issues/18\"\u003e#18\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/withastro/astro/commits/astro@7.3.5/packages/astro\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sharp` from 0.35.4 to 0.35.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lovell/sharp/releases\"\u003esharp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.35.5\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/lovell/sharp-libvips/releases/tag/v1.3.4\"\u003ehttps://github.com/lovell/sharp-libvips/releases/tag/v1.3.4\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd upper bounds check on length of \u003ccode\u003elinear\u003c/code\u003e and GIF \u003ccode\u003edelay\u003c/code\u003e arrays.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove error handing when WebAssembly fallback also fails.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/pull/4593\"\u003e#4593\u003c/a\u003e\n\u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTypeScript: Allow multi-frame options for JXL output.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/pull/4602\"\u003e#4602\u003c/a\u003e\n\u003ca href=\"https://github.com/ramin-010\"\u003e\u003ccode\u003e@​ramin-010\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTypeScript: Remove non-existent named export.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/issues/4604\"\u003e#4604\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIncrease accepted dimensions when extending an image.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/issues/4605\"\u003e#4605\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove gain map support for \u003ccode\u003eextract\u003c/code\u003e and \u003ccode\u003erotate\u003c/code\u003e operations.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/issues/4606\"\u003e#4606\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTests: Ensure composite tests pass on big endian platforms.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/issues/4609\"\u003e#4609\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.35.5-rc.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/lovell/sharp-libvips/releases/tag/v1.3.4-rc.1\"\u003ehttps://github.com/lovell/sharp-libvips/releases/tag/v1.3.4-rc.1\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd upper bounds check on length of \u003ccode\u003elinear\u003c/code\u003e and GIF \u003ccode\u003edelay\u003c/code\u003e arrays.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove error handing when WebAssembly fallback also fails.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/pull/4593\"\u003e#4593\u003c/a\u003e\n\u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTypeScript: Allow multi-frame options for JXL output.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/pull/4602\"\u003e#4602\u003c/a\u003e\n\u003ca href=\"https://github.com/ramin-010\"\u003e\u003ccode\u003e@​ramin-010\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTypeScript: Remove non-existent named export.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/issues/4604\"\u003e#4604\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIncrease accepted dimensions when extending an image.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/issues/4605\"\u003e#4605\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove gain map support for \u003ccode\u003eextract\u003c/code\u003e operation.\n\u003ca href=\"https://redirect.github.com/lovell/sharp/issues/4606\"\u003e#4606\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/51a990faa26ade5586a4934ac9673c98d8893326\"\u003e\u003ccode\u003e51a990f\u003c/code\u003e\u003c/a\u003e Release v0.35.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/96de105d9d36ab04c76c2b78b97255171630d236\"\u003e\u003ccode\u003e96de105\u003c/code\u003e\u003c/a\u003e Upgrade to sharp-libvips v1.3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/3a61390260e0aa017046af9ad107abd62f3c98c0\"\u003e\u003ccode\u003e3a61390\u003c/code\u003e\u003c/a\u003e CI: Configure Dependabot with all package.json locations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/4940c500a63a9193b1ad5d3804a2d241ca36995b\"\u003e\u003ccode\u003e4940c50\u003c/code\u003e\u003c/a\u003e Improve gain map support for rotate/flip/flop ops\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/20654aa60eaa85a37369ef69a7ca6506b65f8c85\"\u003e\u003ccode\u003e20654aa\u003c/code\u003e\u003c/a\u003e Prerelease v0.35.5-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/ef4f9348a97053ceddacd23dcb6e39cce5a1fc7d\"\u003e\u003ccode\u003eef4f934\u003c/code\u003e\u003c/a\u003e CI: Upgrade to Ubuntu 26.04\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/358df954c5f58487392e1a9af743e112e8998d67\"\u003e\u003ccode\u003e358df95\u003c/code\u003e\u003c/a\u003e Upgrade to libvips v8.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/49f4903d34eddcd68b79872c511c198f124885a3\"\u003e\u003ccode\u003e49f4903\u003c/code\u003e\u003c/a\u003e Improve gain map support for rotate-then-extract \u003ca href=\"https://redirect.github.com/lovell/sharp/issues/4606\"\u003e#4606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/0e2e55eb3a44da5d602adedd6b51a03e652e3b20\"\u003e\u003ccode\u003e0e2e55e\u003c/code\u003e\u003c/a\u003e Silence a couple of compiler/static analysis warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lovell/sharp/commit/cef3b8c467c21f7e84bd51d5e53f2d115669f8d8\"\u003e\u003ccode\u003ecef3b8c\u003c/code\u003e\u003c/a\u003e Improve gain map support for extract operation \u003ca href=\"https://redirect.github.com/lovell/sharp/issues/4606\"\u003e#4606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lovell/sharp/compare/v0.35.4...v0.35.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@cloudflare/workers-types` from 5.20260920.1 to 5.20261004.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/cloudflare/workerd/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `wrangler` from 4.135.0 to 4.147.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cloudflare/workers-sdk/releases\"\u003ewrangler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ewrangler@4.147.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/15928\"\u003e#15928\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7f57b1c60002ae3f077dd9c1e8cc482371065ef4\"\u003e\u003ccode\u003e7f57b1c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ichernetsky-cf\"\u003e\u003ccode\u003e@​ichernetsky-cf\u003c/code\u003e\u003c/a\u003e! - Allow \u003ccode\u003e\u0026quot;us\u0026quot;\u003c/code\u003e as a jurisdiction for Container applications\u003c/p\u003e\n\u003cp\u003eContainer placement constraints now accept \u003ccode\u003econstraints.jurisdiction: \u0026quot;us\u0026quot;\u003c/code\u003e in Wrangler and typed Cloudflare configuration. This makes the US jurisdiction available alongside \u003ccode\u003e\u0026quot;eu\u0026quot;\u003c/code\u003e and \u003ccode\u003e\u0026quot;fedramp\u0026quot;\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/15974\"\u003e#15974\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7f700ef52c47127c67f20137a03c051d26a0c8e5\"\u003e\u003ccode\u003e7f700ef\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/martinezjandrew\"\u003e\u003ccode\u003e@​martinezjandrew\u003c/code\u003e\u003c/a\u003e! - Fix \u003ccode\u003ewrangler containers list\u003c/code\u003e to report live instances\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eLIVE INSTANCES\u003c/code\u003e column now reports each application's active runtime instances instead of its configured instance count, matching the Cloudflare dashboard. JSON output continues to expose the configured count through the existing \u003ccode\u003einstances\u003c/code\u003e field.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/15980\"\u003e#15980\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/90e6a1be8c67c0687a6a0ce51c9d101c9ad363e0\"\u003e\u003ccode\u003e90e6a1b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/martinezjandrew\"\u003e\u003ccode\u003e@​martinezjandrew\u003c/code\u003e\u003c/a\u003e! - Accept Durable Object application IDs in Containers commands\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ewrangler containers instances\u003c/code\u003e and \u003ccode\u003ewrangler containers delete\u003c/code\u003e now accept the 32-character hexadecimal application IDs returned for Durable Object-backed applications, in addition to legacy dashed UUIDs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/15871\"\u003e#15871\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/6a4b0fefa20ef2ffc52acdcf1cb194210d1b4c4b\"\u003e\u003ccode\u003e6a4b0fe\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/tw4\"\u003e\u003ccode\u003e@​tw4\u003c/code\u003e\u003c/a\u003e! - Retry transient API failures in \u003ccode\u003ewrangler workflows instances list\u003c/code\u003e and \u003ccode\u003ewrangler workflows instances describe\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, a single temporary 5xx response or dropped connection made these read-only commands exit with an error, even though the next request would have succeeded. They now use Wrangler's existing bounded API retry handling. The read that resolves \u003ccode\u003e--id latest\u003c/code\u003e is retried too, which also benefits the other \u003ccode\u003ewrangler workflows instances\u003c/code\u003e commands that accept \u003ccode\u003elatest\u003c/code\u003e; the mutating requests they make afterwards are not retried. Persistent failures are still reported after the retries are exhausted, and under \u003ccode\u003e--json\u003c/code\u003e any retry notices are written to stderr so stdout stays valid JSON.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"mailto:miniflare@5.20261001.0-alpha\"\u003eminiflare@5.20261001.0-alpha\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ewrangler@4.146.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/15777\"\u003e#15777\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/464a582442ad6872edf1d52107b1a7b68b5e606f\"\u003e\u003ccode\u003e464a582\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Naapperas\"\u003e\u003ccode\u003e@​Naapperas\u003c/code\u003e\u003c/a\u003e! - Support the new Workflows \u003ccode\u003ecreateBatch()\u003c/code\u003e API in local development\u003c/p\u003e\n\u003cp\u003eLocal Workflows bindings now accept object-form batches that create instances from a count or a list of instance options. The result includes handles for created instances and indexed per-instance errors, matching the runtime API while preserving the deprecated array form.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/15639\"\u003e#15639\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/aee2842bd1852b3187202f7746da5fd59ed36d44\"\u003e\u003ccode\u003eaee2842\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/hugo-vicente11\"\u003e\u003ccode\u003e@​hugo-vicente11\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003e--allowed-mail\u003c/code\u003e to the experimental \u003ccode\u003ewrangler tunnel quick-start\u003c/code\u003e command\u003c/p\u003e\n\u003cp\u003eThe option forwards exact email addresses, comma-separated lists, and wildcard domains to \u003ccode\u003ecloudflared\u003c/code\u003e. It can be specified more than once to combine multiple recipient rules.\u003c/p\u003e\n\u003cp\u003eEmail-protected tunnels require \u003ccode\u003ecloudflared\u003c/code\u003e 2026.9.2 or later. Wrangler checks the selected binary before starting the tunnel and reports an upgrade error when it is incompatible.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/15992\"\u003e#15992\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b8e7cc3af4137d1dd4fe4ec6684d0f09d5f9c708\"\u003e\u003ccode\u003eb8e7cc3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/zebp\"\u003e\u003ccode\u003e@​zebp\u003c/code\u003e\u003c/a\u003e! - Mark \u003ccode\u003ewrangler artifacts\u003c/code\u003e commands as open beta\u003c/p\u003e\n\u003cp\u003eArtifacts has entered open beta, so the \u003ccode\u003ewrangler artifacts\u003c/code\u003e commands no longer display a \u0026quot;private beta\u0026quot; label in help output and warnings.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/15984\"\u003e#15984\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/9d7b08eb2e418f66c71780a5e4ed9882bf55a580\"\u003e\u003ccode\u003e9d7b08e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e! - Update dependencies of \u0026quot;miniflare\u0026quot;, \u0026quot;wrangler\u0026quot;\u003c/p\u003e\n\u003cp\u003eThe following dependency versions have been updated:\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003eFrom\u003c/th\u003e\n\u003cth\u003eTo\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003e@​cloudflare/workers-types\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e^5.20260930.2\u003c/td\u003e\n\u003ctd\u003e^5.20261001.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\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/cloudflare/workers-sdk/commit/64c1337155a6bc7224b5d47f58ca521d8b8ee3fe\"\u003e\u003ccode\u003e64c1337\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/15996\"\u003e#15996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/6a4b0fefa20ef2ffc52acdcf1cb194210d1b4c4b\"\u003e\u003ccode\u003e6a4b0fe\u003c/code\u003e\u003c/a\u003e [wrangler] Retry transient failures in workflows instances list and describe ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/7f700ef52c47127c67f20137a03c051d26a0c8e5\"\u003e\u003ccode\u003e7f700ef\u003c/code\u003e\u003c/a\u003e CC-8799: report active instead of configured instances in containers list (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/90e6a1be8c67c0687a6a0ce51c9d101c9ad363e0\"\u003e\u003ccode\u003e90e6a1b\u003c/code\u003e\u003c/a\u003e CC-8800: accept durable object app ids in container commands (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/15980\"\u003e#15980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b4954c17b93a8da7223c7fa5b128a27812f18b86\"\u003e\u003ccode\u003eb4954c1\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/15983\"\u003e#15983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b8e7cc3af4137d1dd4fe4ec6684d0f09d5f9c708\"\u003e\u003ccode\u003eb8e7cc3\u003c/code\u003e\u003c/a\u003e [wrangler] Mark Artifacts commands as open beta (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/15992\"\u003e#15992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/aee2842bd1852b3187202f7746da5fd59ed36d44\"\u003e\u003ccode\u003eaee2842\u003c/code\u003e\u003c/a\u003e [wrangler] Support email-protected Quick Tunnels (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/15639\"\u003e#15639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/efd67e69e8ca2951dbb5426923428a6193a38648\"\u003e\u003ccode\u003eefd67e6\u003c/code\u003e\u003c/a\u003e [wrangler] Keep colons in \u003ccode\u003ewrangler tail --header\u003c/code\u003e filter values (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/15959\"\u003e#15959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/89061a40fb20157acf6c947034a74ece357992f0\"\u003e\u003ccode\u003e89061a4\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/15957\"\u003e#15957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/4a5ab6c861e7b811c025b5257af452f703df828d\"\u003e\u003ccode\u003e4a5ab6c\u003c/code\u003e\u003c/a\u003e Preserve existing secret bindings during Worker deployments (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/15964\"\u003e#15964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cloudflare/workers-sdk/commits/wrangler@4.147.0/packages/wrangler\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@sveltejs/vite-plugin-svelte` from 7.3.0 to 7.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sveltejs/vite-plugin-svelte/releases\"\u003e@​sveltejs/vite-plugin-svelte's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​sveltejs/vite-plugin-svelte\u003c/code\u003e\u003ca href=\"https://github.com/7\"\u003e\u003ccode\u003e@​7\u003c/code\u003e\u003c/a\u003e.3.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: inject the inspector into the client under Vite+ on pnpm, where the realpathed client module has no \u003ccode\u003evite/\u003c/code\u003e segment before \u003ccode\u003edist/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sveltejs/vite-plugin-svelte/pull/1373\"\u003e#1373\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/sveltejs/vite-plugin-svelte/blob/main/packages/vite-plugin-svelte/CHANGELOG.md\"\u003e@​sveltejs/vite-plugin-svelte's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.3.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: inject the inspector into the client under Vite+ on pnpm, where the realpathed client module has no \u003ccode\u003evite/\u003c/code\u003e segment before \u003ccode\u003edist/\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sveltejs/vite-plugin-svelte/pull/1373\"\u003e#1373\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/sveltejs/vite-plugin-svelte/commit/54c6efe5436efb1047d9101ed5b404eaa9b0b411\"\u003e\u003ccode\u003e54c6efe\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte/issues/1398\"\u003e#1398\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sveltejs/vite-plugin-svelte/commit/8d032b286f0e2374173258b9f1cbabc309fe0d3e\"\u003e\u003ccode\u003e8d032b2\u003c/code\u003e\u003c/a\u003e fix(inspector): activate under Vite+ on pnpm by matching the realpathed clien...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sveltejs/vite-plugin-svelte/commits/@sveltejs/vite-plugin-svelte@7.3.1/packages/vite-plugin-svelte\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.1.0 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.1.0...v30.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `publint` from 0.3.24 to 0.3.25\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/publint/publint/releases\"\u003epublint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epublint@0.3.25\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/publint/publint/pull/260\"\u003e#260\u003c/a\u003e \u003ca href=\"https://github.com/publint/publint/commit/54aebea9b7817af07abfce8a4dc3efa5601d6a16\"\u003e\u003ccode\u003e54aebea\u003c/code\u003e\u003c/a\u003e - Fix \u003ccode\u003eFILE_INVALID_JSX_EXTENSION\u003c/code\u003e not detecting the \u003ccode\u003e.ctsx\u003c/code\u003e extension\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/publint/publint/pull/265\"\u003e#265\u003c/a\u003e \u003ca href=\"https://github.com/publint/publint/commit/78604f3fc5d7c006346ed9e16e7b158077ae54ae\"\u003e\u003ccode\u003e78604f3\u003c/code\u003e\u003c/a\u003e - Skip file existence check for \u003ccode\u003ebrowser\u003c/code\u003e field values that point at another package\u003c/p\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/publint/publint/blob/master/packages/publint/CHANGELOG.md\"\u003epublint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.25\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/publint/publint/pull/260\"\u003e#260\u003c/a\u003e \u003ca href=\"https://github.com/publint/publint/commit/54aebea9b7817af07abfce8a4dc3efa5601d6a16\"\u003e\u003ccode\u003e54aebea\u003c/code\u003e\u003c/a\u003e - Fix \u003ccode\u003eFILE_INVALID_JSX_EXTENSION\u003c/code\u003e not detecting the \u003ccode\u003e.ctsx\u003c/code\u003e extension\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/publint/publint/pull/265\"\u003e#265\u003c/a\u003e \u003ca href=\"https://github.com/publint/publint/commit/78604f3fc5d7c006346ed9e16e7b158077ae54ae\"\u003e\u003ccode\u003e78604f3\u003c/code\u003e\u003c/a\u003e - Skip file existence check for \u003ccode\u003ebrowser\u003c/code\u003e field values that point at another package\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/publint/publint/commit/b994a0309546495255242d0d047293d3d2f08a13\"\u003e\u003ccode\u003eb994a03\u003c/code\u003e\u003c/a\u003e Release packages (\u003ca href=\"https://github.com/publint/publint/tree/HEAD/packages/publint/issues/261\"\u003e#261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/publint/publint/commit/247be998df37ab193d6c556c313215d65a4f4285\"\u003e\u003ccode\u003e247be99\u003c/code\u003e\u003c/a\u003e Update dependencies (\u003ca href=\"https://github.com/publint/publint/tree/HEAD/packages/publint/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/publint/publint/commit/78604f3fc5d7c006346ed9e16e7b158077ae54ae\"\u003e\u003ccode\u003e78604f3\u003c/code\u003e\u003c/a\u003e Skip file check for \u003ccode\u003ebrowser\u003c/code\u003e field values that point at another package (\u003ca href=\"https://github.com/publint/publint/tree/HEAD/packages/publint/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/publint/publint/commit/54aebea9b7817af07abfce8a4dc3efa5601d6a16\"\u003e\u003ccode\u003e54aebea\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eFILE_INVALID_JSX_EXTENSION\u003c/code\u003e not detecting the \u003ccode\u003e.ctsx\u003c/code\u003e extension (\u003ca href=\"https://github.com/publint/publint/tree/HEAD/packages/publint/issues/260\"\u003e#260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/publint/publint/commits/publint@0.3.25/packages/publint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite` from 8.3.0 to 8.3.2\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.3.2\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e preload CSS correctly when \u003ccode\u003erenderBuiltUrl\u003c/code\u003e returns URLs with queries (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23611\"\u003e#23611\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/64e0a215c24f0522b27b91f93cfd93e317b94481\"\u003e64e0a21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e serve lazy chunk sourcemaps (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23026\"\u003e#23026\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/eb7aa9a8816a1e926d5d9b4cbe7e796b61314ce2\"\u003eeb7aa9a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e serve the rolldown runtime from the installed rolldown (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23568\"\u003e#23568\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/bc598a6a8a6b7d6e157e9f19c16911cff8d2360c\"\u003ebc598a6\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/issues/23601\"\u003e#23601\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/9944fa6033873f13ae88f59e023ab642c50fee2b\"\u003e9944fa6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23602\"\u003e#23602\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/88c17415af221b3a13e778f4f2c0e907c8287baf\"\u003e88c1741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e resolve percent-encoded srcset urls (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23609\"\u003e#23609\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/53f1ce7bfe38426861f6da572ef0e3359f6a80cd\"\u003e53f1ce7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elimit size of object and array printing via \u003ccode\u003eforwardConsole\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23565\"\u003e#23565\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e64a5877dd3e552843a545749ccc257568917d28\"\u003ee64a587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emerge \u003ccode\u003ebuild.rolldownOptions.output.minify\u003c/code\u003e correctly (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23536\"\u003e#23536\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/bba3bb8beedd185948956e02667d450672632d79\"\u003ebba3bb8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimize-deps:\u003c/strong\u003e avoid \u0026quot;unsupported\u0026quot; warnings for browser:false mappings (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23590\"\u003e#23590\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5e4b9ca3dcb24b51f58a765fd2d852614bbf3574\"\u003e5e4b9ca\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e preserve excluded optional peer require fallbacks (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23600\"\u003e#23600\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/a2bd6fa897c35c8a691671a7d70061c1cdd5c688\"\u003ea2bd6fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epass queries to \u003ccode\u003erenderBuiltUrl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23586\"\u003e#23586\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/744269e5b2a155074910ddd275aecf2b83938496\"\u003e744269e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e handle file watcher errors without crashing (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23503\"\u003e#23503\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6894f5cbceac589536a0efb476d881a47f5ab1c5\"\u003e6894f5c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e release previous environments after initialization (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23499\"\u003e#23499\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5a3a010eea4c9ebbdcc080819f93068d4e035bd4\"\u003e5a3a010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003essr:\u003c/strong\u003e encode whitespace in module runner sourceURL (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23513\"\u003e#23513\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/bbc88129c967a8b8eedebd93acc82bee63b86b2a\"\u003ebbc8812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eworker:\u003c/strong\u003e align worker urls in client and server when using terser (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23614\"\u003e#23614\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/24bd3316f3b2503d04a49361e365532bdb335e19\"\u003e24bd331\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid encoding intermediate source maps (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23461\"\u003e#23461\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/89574f6d940a7273a53c5122a4477285801a696a\"\u003e89574f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e avoid quadratic link scan in the preload helper (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23510\"\u003e#23510\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/cf5c0288d526824aead1b24e977400f13c527927\"\u003ecf5c028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eonly register time middleware when debug logging is enabled (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23621\"\u003e#23621\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/94d0080345e23d63d4cd02df2f7fa2afae775c26\"\u003e94d0080\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix dead og-image PNG links in vite6/vite7 changelog entries (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23594\"\u003e#23594\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/1929b4cc5f38ad53781e3b07b8bdaa32cf18da07\"\u003e1929b4c\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 vitest monorepo to v5 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23604\"\u003e#23604\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/24339f4339d64fd8b5bc37654ac14ccff5aee584\"\u003e24339f4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003euse \u003ccode\u003etinyexec\u003c/code\u003e instead of \u003ccode\u003ecross-spawn\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23583\"\u003e#23583\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/db915e5c0edbe1359dcf0cea340c9571dc7f4ad9\"\u003edb915e5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e accept a rolldown dev runtime with no helper imports (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23606\"\u003e#23606\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/634745dcc5648912bc32cb4de72ed8dd2230efa0\"\u003e634745d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.3.1\u003c/h2\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/23482\"\u003e#23482\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/3c752c8932bc0599465ba4a6d8f44aaf1e934c3d\"\u003e3c752c8\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/issues/23537\"\u003e#23537\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e8990c4d6101dfaca2654ed8ab4d0574ee920248\"\u003ee8990c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23483\"\u003e#23483\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/9aecbbfa5fb5da4b9981c099cb9746a9fd210806\"\u003e9aecbbf\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ehandle \u003ccode\u003eserver.ws: false\u003c/code\u003e in mergeConfig (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23511\"\u003e#23511\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/f68c0d5a28c96555431413e3e2cbe644337b087f\"\u003ef68c0d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emerge \u003ccode\u003ebuild.rolldownOptions.output.comments\u003c/code\u003e correctly (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23514\"\u003e#23514\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/4aba8d8720e82e4c5b694a4b7877755a3f84fc57\"\u003e4aba8d8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e don't skip imports whose binding starts with type (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23540\"\u003e#23540\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/39330f489a0ae08923557f0ce10a307d6662a3f5\"\u003e39330f4\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/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.3.1...v8.3.2\"\u003e8.3.2\u003c/a\u003e (2026-10-01)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e preload CSS correctly when \u003ccode\u003erenderBuiltUrl\u003c/code\u003e returns URLs with queries (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23611\"\u003e#23611\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/64e0a215c24f0522b27b91f93cfd93e317b94481\"\u003e64e0a21\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e serve lazy chunk sourcemaps (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23026\"\u003e#23026\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/eb7aa9a8816a1e926d5d9b4cbe7e796b61314ce2\"\u003eeb7aa9a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e serve the rolldown runtime from the installed rolldown (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23568\"\u003e#23568\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/bc598a6a8a6b7d6e157e9f19c16911cff8d2360c\"\u003ebc598a6\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/issues/23601\"\u003e#23601\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/9944fa6033873f13ae88f59e023ab642c50fee2b\"\u003e9944fa6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23602\"\u003e#23602\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/88c17415af221b3a13e778f4f2c0e907c8287baf\"\u003e88c1741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e resolve percent-encoded srcset urls (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23609\"\u003e#23609\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/53f1ce7bfe38426861f6da572ef0e3359f6a80cd\"\u003e53f1ce7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elimit size of object and array printing via \u003ccode\u003eforwardConsole\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23565\"\u003e#23565\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e64a5877dd3e552843a545749ccc257568917d28\"\u003ee64a587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emerge \u003ccode\u003ebuild.rolldownOptions.output.minify\u003c/code\u003e correctly (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23536\"\u003e#23536\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/bba3bb8beedd185948956e02667d450672632d79\"\u003ebba3bb8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimize-deps:\u003c/strong\u003e avoid \u0026quot;unsupported\u0026quot; warnings for browser:false mappings (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23590\"\u003e#23590\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5e4b9ca3dcb24b51f58a765fd2d852614bbf3574\"\u003e5e4b9ca\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e preserve excluded optional peer require fallbacks (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23600\"\u003e#23600\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/a2bd6fa897c35c8a691671a7d70061c1cdd5c688\"\u003ea2bd6fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epass queries to \u003ccode\u003erenderBuiltUrl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23586\"\u003e#23586\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/744269e5b2a155074910ddd275aecf2b83938496\"\u003e744269e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e handle file watcher errors without crashing (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23503\"\u003e#23503\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6894f5cbceac589536a0efb476d881a47f5ab1c5\"\u003e6894f5c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e release previous environments after initialization (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23499\"\u003e#23499\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5a3a010eea4c9ebbdcc080819f93068d4e035bd4\"\u003e5a3a010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003essr:\u003c/strong\u003e encode whitespace in module runner sourceURL (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23513\"\u003e#23513\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/bbc88129c967a8b8eedebd93acc82bee63b86b2a\"\u003ebbc8812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eworker:\u003c/strong\u003e align worker urls in client and server when using terser (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23614\"\u003e#23614\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/24bd3316f3b2503d04a49361e365532bdb335e19\"\u003e24bd331\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid encoding intermediate source maps (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23461\"\u003e#23461\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/89574f6d940a7273a53c5122a4477285801a696a\"\u003e89574f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e avoid quadratic link scan in the preload helper (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23510\"\u003e#23510\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/...\n\n_Description has been truncated_","html_url":"https://github.com/nyuchi/nyuchi-docs/pull/97","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nyuchi%2Fnyuchi-docs/issues/97","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/97/packages"}},{"old_version":"29.1.1","new_version":"30.1.1","update_type":"major","path":null,"pr_created_at":"2026-10-07T03:29:13.000Z","version_change":"29.1.1 → 30.1.1","issue":{"uuid":"5738898174","node_id":"PR_kwDOU9ywJs8AAAABHCsF9w","number":2,"state":"closed","title":"chore(deps-dev): Bump the development-dependencies group with 7 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-10-07T03:57:10.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-07T03:29:13.000Z","updated_at":"2026-10-07T03:57:19.000Z","time_to_close":1677,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): Bump","group_name":"development-dependencies","update_count":7,"packages":[{"name":"@biomejs/biome","old_version":"2.3.4","new_version":"2.5.15","repository_url":"https://github.com/biomejs/biome"},{"name":"@types/node","old_version":"22.20.5","new_version":"26.6.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"4.1.11","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"jsdom","old_version":"29.1.1","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"typescript","old_version":"5.9.3","new_version":"7.0.2","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"ultracite","old_version":"6.3.2","new_version":"7.12.2","repository_url":"https://github.com/haydenbleasel/ultracite"},{"name":"vitest","old_version":"4.1.11","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) | `2.3.4` | `2.5.15` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.20.5` | `26.6.4` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.11` | `5.0.3` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.1.1` | `30.1.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `7.0.2` |\n| [ultracite](https://github.com/haydenbleasel/ultracite) | `6.3.2` | `7.12.2` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.11` | `5.0.3` |\n\nUpdates `@biomejs/biome` from 2.3.4 to 2.5.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.5.15\u003c/h2\u003e\n\u003ch2\u003e2.5.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/10634\"\u003e#10634\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/b436ba00de298d5002a3d3bb1fae1d2a882f6d58\"\u003e\u003ccode\u003eb436ba0\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/subaru-hello\"\u003e\u003ccode\u003e@​subaru-hello\u003c/code\u003e\u003c/a\u003e! - Added the new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-react-object-type-as-default-prop/\"\u003e\u003ccode\u003enoReactObjectTypeAsDefaultProp\u003c/code\u003e\u003c/a\u003e, which disallows array, object, and function values as default props in React components.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule.\u003c/p\u003e\n\u003cpre lang=\"jsx\"\u003e\u003ccode\u003efunction Component({ items = [] }) {\n  return items;\n}\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/11956\"\u003e#11956\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/faa8b374da7e196c937258c5442b4f773b4ba574\"\u003e\u003ccode\u003efaa8b37\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/no-svelte-export-let/\"\u003e\u003ccode\u003enoSvelteExportLet\u003c/code\u003e\u003c/a\u003e, which disallows declaring Svelte component props with the legacy \u003ccode\u003eexport let\u003c/code\u003e syntax. Use the \u003ccode\u003e$props()\u003c/code\u003e rune instead.\u003c/p\u003e\n\u003cpre lang=\"svelte\"\u003e\u003ccode\u003e\u0026lt;script\u0026gt;\n  export let name;\n\u0026lt;/script\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/10816\"\u003e#10816\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1b9479e4c85dd11af68ec14cbe43a5000edce86e\"\u003e\u003ccode\u003e1b9479e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Th3S4mur41\"\u003e\u003ccode\u003e@​Th3S4mur41\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-logical-properties\"\u003e\u003ccode\u003euseLogicalProperties\u003c/code\u003e\u003c/a\u003e that enforces the use of logical properties in CSS, promoting better internationalization and accessibility practices. The rule supports a \u003ccode\u003edirection\u003c/code\u003e option with \u003ccode\u003e\u0026quot;ltr\u0026quot;\u003c/code\u003e as the default and \u003ccode\u003e\u0026quot;rtl\u0026quot;\u003c/code\u003e as the alternative.\nThis is a first rule covering parts of \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/9034\"\u003e#9034\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"json\"\u003e\u003ccode\u003e{\n  \u0026quot;linter\u0026quot;: {\n    \u0026quot;rules\u0026quot;: {\n      \u0026quot;nursery\u0026quot;: {\n        \u0026quot;useLogicalProperties\u0026quot;: {\n          \u0026quot;level\u0026quot;: \u0026quot;warn\u0026quot;,\n          \u0026quot;options\u0026quot;: {\n            \u0026quot;direction\u0026quot;: \u0026quot;rtl\u0026quot;\n          }\n        }\n      }\n    }\n  }\n}\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/11960\"\u003e#11960\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1fdb5c2609fbb64bd3442099f88c40b814405931\"\u003e\u003ccode\u003e1fdb5c2\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-svelte-kit-rune-imports/\"\u003e\u003ccode\u003euseSvelteKitRuneImports\u003c/code\u003e\u003c/a\u003e, which reports imports from the deprecated \u003ccode\u003e$app/stores\u003c/code\u003e module and suggests \u003ccode\u003e$app/state\u003c/code\u003e instead.\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { page } from \u0026quot;$app/stores\u0026quot;;\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.5.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/10634\"\u003e#10634\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/b436ba00de298d5002a3d3bb1fae1d2a882f6d58\"\u003e\u003ccode\u003eb436ba0\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/subaru-hello\"\u003e\u003ccode\u003e@​subaru-hello\u003c/code\u003e\u003c/a\u003e! - Added the new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/no-react-object-type-as-default-prop/\"\u003e\u003ccode\u003enoReactObjectTypeAsDefaultProp\u003c/code\u003e\u003c/a\u003e, which disallows array, object, and function values as default props in React components.\u003c/p\u003e\n\u003cp\u003eFor example, the following snippet triggers the rule.\u003c/p\u003e\n\u003cpre lang=\"jsx\"\u003e\u003ccode\u003efunction Component({ items = [] }) {\n  return items;\n}\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/11956\"\u003e#11956\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/faa8b374da7e196c937258c5442b4f773b4ba574\"\u003e\u003ccode\u003efaa8b37\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/no-svelte-export-let/\"\u003e\u003ccode\u003enoSvelteExportLet\u003c/code\u003e\u003c/a\u003e, which disallows declaring Svelte component props with the legacy \u003ccode\u003eexport let\u003c/code\u003e syntax. Use the \u003ccode\u003e$props()\u003c/code\u003e rune instead.\u003c/p\u003e\n\u003cpre lang=\"svelte\"\u003e\u003ccode\u003e\u0026lt;script\u0026gt;\n  export let name;\n\u0026lt;/script\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/10816\"\u003e#10816\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1b9479e4c85dd11af68ec14cbe43a5000edce86e\"\u003e\u003ccode\u003e1b9479e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Th3S4mur41\"\u003e\u003ccode\u003e@​Th3S4mur41\u003c/code\u003e\u003c/a\u003e! - Added a new nursery rule \u003ca href=\"https://biomejs.dev/linter/rules/use-logical-properties\"\u003e\u003ccode\u003euseLogicalProperties\u003c/code\u003e\u003c/a\u003e that enforces the use of logical properties in CSS, promoting better internationalization and accessibility practices. The rule supports a \u003ccode\u003edirection\u003c/code\u003e option with \u003ccode\u003e\u0026quot;ltr\u0026quot;\u003c/code\u003e as the default and \u003ccode\u003e\u0026quot;rtl\u0026quot;\u003c/code\u003e as the alternative.\nThis is a first rule covering parts of \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/9034\"\u003e#9034\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"json\"\u003e\u003ccode\u003e{\n  \u0026quot;linter\u0026quot;: {\n    \u0026quot;rules\u0026quot;: {\n      \u0026quot;nursery\u0026quot;: {\n        \u0026quot;useLogicalProperties\u0026quot;: {\n          \u0026quot;level\u0026quot;: \u0026quot;warn\u0026quot;,\n          \u0026quot;options\u0026quot;: {\n            \u0026quot;direction\u0026quot;: \u0026quot;rtl\u0026quot;\n          }\n        }\n      }\n    }\n  }\n}\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/11960\"\u003e#11960\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/1fdb5c2609fbb64bd3442099f88c40b814405931\"\u003e\u003ccode\u003e1fdb5c2\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-svelte-kit-rune-imports/\"\u003e\u003ccode\u003euseSvelteKitRuneImports\u003c/code\u003e\u003c/a\u003e, which reports imports from the deprecated \u003ccode\u003e$app/stores\u003c/code\u003e module and suggests \u003ccode\u003e$app/state\u003c/code\u003e instead.\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { page } from \u0026quot;$app/stores\u0026quot;;\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/11723\"\u003e#11723\u003c/a\u003e \u003ca href=\"https://github.com/biomejs/biome/commit/3b429d182588aa19d35190a935e4dcdc5b693e5e\"\u003e\u003ccode\u003e3b429d1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/m1handr\"\u003e\u003ccode\u003e@​m1handr\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ca href=\"https://redirect.github.com/biomejs/biome/issues/11656\"\u003e#11656\u003c/a\u003e: \u003ca href=\"https://biomejs.dev/linter/rules/no-astro-set-html-directive/\"\u003e\u003ccode\u003enoAstroSetHtmlDirective\u003c/code\u003e\u003c/a\u003e now correctly reports \u003ccode\u003eset:html\u003c/code\u003e directives inside Astro template expressions.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/0b4c11f553a7e702f9851af139662e1de45dc131\"\u003e\u003ccode\u003e0b4c11f\u003c/code\u003e\u003c/a\u003e ci: release (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/11815\"\u003e#11815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/ad5b362fd17e488f50934306534cc2742b0cf84e\"\u003e\u003ccode\u003ead5b362\u003c/code\u003e\u003c/a\u003e feat: adds \u003ccode\u003enoAstroConflictingSetDirectives\u003c/code\u003e rule for .astro (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/11494\"\u003e#11494\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/034366def492f84afb28903db62034411ed427d2\"\u003e\u003ccode\u003e034366d\u003c/code\u003e\u003c/a\u003e chore: update codspeed logo in readme (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/12019\"\u003e#12019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/717db8c25737bacd0456c17bef9dda66f3c082c5\"\u003e\u003ccode\u003e717db8c\u003c/code\u003e\u003c/a\u003e feat(lint): add noMisplacedListElements (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/11917\"\u003e#11917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/089bde07e3849bd88ac24bf604ab0231672371b0\"\u003e\u003ccode\u003e089bde0\u003c/code\u003e\u003c/a\u003e feat(lint/js): add useStrictBooleanExpressions (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/11750\"\u003e#11750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/1fdb5c2609fbb64bd3442099f88c40b814405931\"\u003e\u003ccode\u003e1fdb5c2\u003c/code\u003e\u003c/a\u003e feat(lint/js/svelte): add useSvelteKitRuneImports lint rule (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/11960\"\u003e#11960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/faa8b374da7e196c937258c5442b4f773b4ba574\"\u003e\u003ccode\u003efaa8b37\u003c/code\u003e\u003c/a\u003e feat(lint/js/svelte): add noSvelteExportLet (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/11956\"\u003e#11956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/b2b4400a5d9c141fb622c75affd5c2beffc2fced\"\u003e\u003ccode\u003eb2b4400\u003c/code\u003e\u003c/a\u003e chore: update sponsors (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/11973\"\u003e#11973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/ff4c4dd922c360fdc9386495d617e63821cc43ee\"\u003e\u003ccode\u003eff4c4dd\u003c/code\u003e\u003c/a\u003e feat(lint/js): add noMeaninglessVoidOperator (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/11732\"\u003e#11732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biomejs/biome/commit/1b9479e4c85dd11af68ec14cbe43a5000edce86e\"\u003e\u003ccode\u003e1b9479e\u003c/code\u003e\u003c/a\u003e feat(lint): add useLogicalProperties rule (\u003ca href=\"https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome/issues/10816\"\u003e#10816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/biomejs/biome/commits/@biomejs/biome@2.5.15/packages/@biomejs/biome\"\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@​biomejs/biome\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 22.20.5 to 26.6.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 `@vitest/coverage-v8` from 4.1.11 to 5.0.3\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\u003ev5.0.3\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIsolate \u003ccode\u003eresult.status\u003c/code\u003e between \u003ccode\u003erepeats\u003c/code\u003e runs  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11218\"\u003evitest-dev/vitest#11218\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5dbebe9e3\"\u003e\u003c!-- raw HTML omitted --\u003e(5dbeb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't print an interceptor warning in browser mode  -  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/11377\"\u003evitest-dev/vitest#11377\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/15cc006aa\"\u003e\u003c!-- raw HTML omitted --\u003e(15cc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't retry when \u003ccode\u003etest.fails\u003c/code\u003e expectedly failed  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11219\"\u003evitest-dev/vitest#11219\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b24585f08\"\u003e\u003c!-- raw HTML omitted --\u003e(b2458)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eScope cache key generators to projects  -  by \u003ca href=\"https://github.com/ecoyoung\"\u003e\u003ccode\u003e@​ecoyoung\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11281\"\u003evitest-dev/vitest#11281\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11301\"\u003evitest-dev/vitest#11301\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/92ba7fc1d\"\u003e\u003c!-- raw HTML omitted --\u003e(92ba7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDelay server \u003ccode\u003elisten\u003c/code\u003e until tests start running  -  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/11366\"\u003evitest-dev/vitest#11366\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d8ed3e9b\"\u003e\u003c!-- raw HTML omitted --\u003e(7d8ed)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck mock path boundaries  -  by \u003ca href=\"https://github.com/saryn17\"\u003e\u003ccode\u003e@​saryn17\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eRyosei Sato\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/11361\"\u003evitest-dev/vitest#11361\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11362\"\u003evitest-dev/vitest#11362\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1c3888bce\"\u003e\u003c!-- raw HTML omitted --\u003e(1c388)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep config of browser-consumed environments  -  by \u003ca href=\"https://github.com/kasperpeulen\"\u003e\u003ccode\u003e@​kasperpeulen\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11378\"\u003evitest-dev/vitest#11378\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/aafc0996f\"\u003e\u003c!-- raw HTML omitted --\u003e(aafc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore page crash while cancelling  -  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/11386\"\u003evitest-dev/vitest#11386\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c36748fa\"\u003e\u003c!-- raw HTML omitted --\u003e(7c367)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etoMatchScreenshot\u003c/code\u003e uses wrong reference on retried tests  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11393\"\u003evitest-dev/vitest#11393\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c22aba992\"\u003e\u003c!-- raw HTML omitted --\u003e(c22ab)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecache\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eRevalidate imports of cached modules  -  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/11381\"\u003evitest-dev/vitest#11381\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/38f98855f\"\u003e\u003c!-- raw HTML omitted --\u003e(38f98)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePin \u003ccode\u003ewhy-is-node-running\u003c/code\u003e to \u003ccode\u003e3.2.1\u003c/code\u003e to avoid users running into \u003ccode\u003eERR_PNPM_TRUST_DOWNGRADE\u003c/code\u003e  -  by \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/11403\"\u003evitest-dev/vitest#11403\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f6c9a4977\"\u003e\u003c!-- raw HTML omitted --\u003e(f6c9a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePass current equality testers to \u003ccode\u003eexpect.extend\u003c/code\u003e asymmetric matchers  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11401\"\u003evitest-dev/vitest#11401\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e794a96b\"\u003e\u003c!-- raw HTML omitted --\u003e(3e794)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ejsdom\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport Blob on jsdom 30.1  -  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/11379\"\u003evitest-dev/vitest#11379\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6c49b7197\"\u003e\u003c!-- raw HTML omitted --\u003e(6c49b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epool\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePreserve unique pool ids when \u003ccode\u003egroupOrder\u003c/code\u003e is set  -  by \u003ca href=\"https://github.com/mtorp\"\u003e\u003ccode\u003e@​mtorp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11392\"\u003evitest-dev/vitest#11392\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/50312ebb4\"\u003e\u003c!-- raw HTML omitted --\u003e(50312)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSplit-pane handle overlapping iframe  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11221\"\u003evitest-dev/vitest#11221\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f91db0dfd\"\u003e\u003c!-- raw HTML omitted --\u003e(f91db)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evitest\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eRemove root temp dir on close  -  by \u003ca href=\"https://github.com/abhinav-phi\"\u003e\u003ccode\u003e@​abhinav-phi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11248\"\u003evitest-dev/vitest#11248\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c7119cf7\"\u003e\u003c!-- raw HTML omitted --\u003e(7c711)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evm\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDo not optimize deps from index.html  -  by \u003ca href=\"https://github.com/ezefernandezyf\"\u003e\u003ccode\u003e@​ezefernandezyf\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11329\"\u003evitest-dev/vitest#11329\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11360\"\u003evitest-dev/vitest#11360\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/caf2887de\"\u003e\u003c!-- raw HTML omitted --\u003e(caf28)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't reuse scripts across vite environments  -  by \u003ca href=\"https://github.com/MO2k4\"\u003e\u003ccode\u003e@​MO2k4\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eMartin Oehlert\u003c/strong\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11395\"\u003evitest-dev/vitest#11395\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/346d3896b\"\u003e\u003c!-- raw HTML omitted --\u003e(346d3)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v5.0.2...v5.0.3\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev5.0.2\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBind \u003ccode\u003eprocess\u003c/code\u003e in case global is overwritten  -  by \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/11343\"\u003evitest-dev/vitest#11343\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0b79231ad\"\u003e\u003c!-- raw HTML omitted --\u003e(0b792)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edetect-async-leaks\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eIgnore \u003ccode\u003eprocess.stdio\u003c/code\u003e handles  -  by \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/11333\"\u003evitest-dev/vitest#11333\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0fd6b9790\"\u003e\u003c!-- raw HTML omitted --\u003e(0fd6b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003etoMatchObject\u003c/code\u003e with asymmetric matchers  -  by \u003ca href=\"https://github.com/ShreeBohara\"\u003e\u003ccode\u003e@​ShreeBohara\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 5\u003c/strong\u003e, \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-5)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11100\"\u003evitest-dev/vitest#11100\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/42523289e\"\u003e\u003c!-- raw HTML omitted --\u003e(42523)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ejsdom\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eRequest\u003c/code\u003e with \u003ccode\u003eBlob\u003c/code\u003e body on jsdom 28+  -  by \u003ca href=\"https://github.com/harshit-d3v\"\u003e\u003ccode\u003e@​harshit-d3v\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11295\"\u003evitest-dev/vitest#11295\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d1c3ecc93\"\u003e\u003c!-- raw HTML omitted --\u003e(d1c3e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporter\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eagent\u003c/code\u003e to respect \u003ccode\u003e--silent\u003c/code\u003e  -  by \u003ca href=\"https://github.com/Raj4478\"\u003e\u003ccode\u003e@​Raj4478\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/11271\"\u003evitest-dev/vitest#11271\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5b95efb6d\"\u003e\u003c!-- raw HTML omitted --\u003e(5b95e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporters\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eHandle concurrent \u003ccode\u003ecreateReport\u003c/code\u003e calls  -  by \u003ca href=\"https://github.com/7rulnik\"\u003e\u003ccode\u003e@​7rulnik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11278\"\u003evitest-dev/vitest#11278\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e8e556ff7\"\u003e\u003c!-- raw HTML omitted --\u003e(e8e55)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ehanging-process\u003c/code\u003e to use ESM entrypoint  -  by \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/11316\"\u003evitest-dev/vitest#11316\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4e91e5668\"\u003e\u003c!-- raw HTML omitted --\u003e(4e91e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003espy\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix stack overflow when spying \u003ccode\u003eSet.prototype.add\u003c/code\u003e  -  by \u003ca href=\"https://github.com/fengmk2\"\u003e\u003ccode\u003e@​fengmk2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11299\"\u003evitest-dev/vitest#11299\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a0a939653\"\u003e\u003c!-- raw HTML omitted --\u003e(a0a93)\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/33cadea62e8763c455c7fca38d9ab1dda87c5f75\"\u003e\u003ccode\u003e33cadea\u003c/code\u003e\u003c/a\u003e chore: release v5.0.3 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11409\"\u003e#11409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a029e76a9e72ebdd468452ee1bb788bbe5dc635e\"\u003e\u003ccode\u003ea029e76\u003c/code\u003e\u003c/a\u003e chore: migrate to oxc (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11367\"\u003e#11367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/428e2e5043c64635b6b157358bde2fdeaa7b6b3a\"\u003e\u003ccode\u003e428e2e5\u003c/code\u003e\u003c/a\u003e chore: release v5.0.2 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11357\"\u003e#11357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/03630a5995d10455fa136be53bfb2b2409381106\"\u003e\u003ccode\u003e03630a5\u003c/code\u003e\u003c/a\u003e chore: release v5.0.1 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11275\"\u003e#11275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/f441c6fab25e579c5b7dd3dd50538416f415fbae\"\u003e\u003ccode\u003ef441c6f\u003c/code\u003e\u003c/a\u003e chore: release v5.0.0 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11130\"\u003e#11130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/c4473e48ee046938a9ab6784fe2735257c2c0f72\"\u003e\u003ccode\u003ec4473e4\u003c/code\u003e\u003c/a\u003e fix(coverage): prevent crash on \u003ccode\u003e/@fs/\u003c/code\u003e prepended virtual files (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11119\"\u003e#11119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/897f51fd2493046c52ec9539b7d02fe3763bd63e\"\u003e\u003ccode\u003e897f51f\u003c/code\u003e\u003c/a\u003e chore: release v5.0.0-rc.4 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11107\"\u003e#11107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7db80dc27e5948010c00160ed0b86570baad6ce8\"\u003e\u003ccode\u003e7db80dc\u003c/code\u003e\u003c/a\u003e chore: release v5.0.0-rc.3 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11089\"\u003e#11089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/5f6a5e84a5e8cef301e15ac2e8f8e9837b002ec6\"\u003e\u003ccode\u003e5f6a5e8\u003c/code\u003e\u003c/a\u003e feat(coverage): switch to \u003ccode\u003e@vitest/istanbuljs\u003c/code\u003e packages (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11053\"\u003e#11053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/c6174a6cf2847b23075ee35ba5151c2184a70594\"\u003e\u003ccode\u003ec6174a6\u003c/code\u003e\u003c/a\u003e fix(coverage): v8 to ignore Vite SSR's generated import bindings (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11023\"\u003e#11023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v5.0.3/packages/coverage-v8\"\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.1 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v29.1.1...v30.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typescript` from 5.9.3 to 7.0.2\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 7.0.2\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/\"\u003ehttps://devblogs.microsoft.com/typescript/announcing-typescript-7-0/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis tag was originally released at: \u003ca href=\"https://github.com/microsoft/typescript-go/releases/tag/typescript%2Fv7.0.2\"\u003ehttps://github.com/microsoft/typescript-go/releases/tag/typescript%2Fv7.0.2\u003c/a\u003e\u003c/p\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.1 RC\u003c/h2\u003e\n\u003cp\u003eFor release notes, check out the \u003ca href=\"https://devblogs.microsoft.com/typescript/announcing-typescript-6-0-rc/\"\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\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/1e4744d68260a7cb91b62b12edc3f6a2187faaf1\"\u003e\u003ccode\u003e1e4744d\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into ts7-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/a5a219c3b5da0db4fa0ecf6c0b1f588c9af9c669\"\u003e\u003ccode\u003ea5a219c\u003c/code\u003e\u003c/a\u003e\u003ccode\u003emicrosoft/typescript-go#4558\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/ecfe30dce91368d52c9a49b6095bb0b673a238f8\"\u003e\u003ccode\u003eecfe30d\u003c/code\u003e\u003c/a\u003e Update status localization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/5de25b5f8fec2ca35eadaed041f1f06d2e214895\"\u003e\u003ccode\u003e5de25b5\u003c/code\u003e\u003c/a\u003e Hide executable name in TypeScript status\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/d7ce74a75da2b80e8201506a1599c06549432b93\"\u003e\u003ccode\u003ed7ce74a\u003c/code\u003e\u003c/a\u003e Show bundled TypeScript version for packaged servers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/29be66a607707f90d7a53103a4469bb3015a4d54\"\u003e\u003ccode\u003e29be66a\u003c/code\u003e\u003c/a\u003e Correct TS 7 release version to 7.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/ed2bd1bfa4aac5211ce4bc58fcd1313c7eddc8ff\"\u003e\u003ccode\u003eed2bd1b\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into ts7-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/887307575c58ea640dbeba3b4e8fdb6347cd3044\"\u003e\u003ccode\u003e8873075\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 3 updates (microsoft/ty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/9427131ae2d4e230a90ee8a09daac4e75da3e311\"\u003e\u003ccode\u003e9427131\u003c/code\u003e\u003c/a\u003e Set up stable / nightly extension split, other prep (microsoft/typescript-go#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/d4eaca5460a1f5f02a829e62706794b0a6fb903e\"\u003e\u003ccode\u003ed4eaca5\u003c/code\u003e\u003c/a\u003e\u003ccode\u003emicrosoft/typescript-go#4549\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/TypeScript/compare/v5.9.3...v7.0.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/~microsoft1es\"\u003emicrosoft1es\u003c/a\u003e, a new releaser for typescript since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ultracite` from 6.3.2 to 7.12.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/haydenbleasel/ultracite/releases\"\u003eultracite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eultracite@7.12.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e0f192a7: \u003ccode\u003eultracite init\u003c/code\u003e no longer wipes an existing Biome config it can't read. Previously a \u003ccode\u003ebiome.json\u003c/code\u003e or \u003ccode\u003ebiome.jsonc\u003c/code\u003e with a syntax error, or a nested monorepo config with \u003ccode\u003e\u0026quot;extends\u0026quot;: \u0026quot;//\u0026quot;\u003c/code\u003e, was treated as empty and replaced with just the Ultracite \u003ccode\u003eextends\u003c/code\u003e, losing every other setting. Now:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA config with a syntax error is left unchanged, with a warning asking you to fix it and re-run \u003ccode\u003einit\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eA nested config that extends the root config (\u003ccode\u003e\u0026quot;extends\u0026quot;: \u0026quot;//\u0026quot;\u003c/code\u003e) is left unchanged, since the Ultracite presets belong in the root config.\u003c/li\u003e\n\u003cli\u003eA string \u003ccode\u003eextends\u003c/code\u003e is turned into a list that also includes the Ultracite presets.\u003c/li\u003e\n\u003cli\u003eUpdates edit the file in place, so comments and formatting in \u003ccode\u003ebiome.jsonc\u003c/code\u003e are preserved.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003eultracite doctor\u003c/code\u003e and the \u003ccode\u003echeck\u003c/code\u003e/\u003ccode\u003efix\u003c/code\u003e resolution check now follow a nested config that extends \u003ccode\u003e\u0026quot;//\u0026quot;\u003c/code\u003e to the root config, instead of warning that the nested config doesn't extend \u003ccode\u003eultracite/biome/core\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ec68ba48: \u003ccode\u003eultracite check\u003c/code\u003e and \u003ccode\u003eultracite fix\u003c/code\u003e handle their arguments and missing tools more reliably:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003echeck\u003c/code\u003e now treats explicit files the way \u003ccode\u003efix\u003c/code\u003e does. Oxlint only gets files it can lint, Prettier runs with \u003ccode\u003e--ignore-unknown\u003c/code\u003e, and oxfmt with \u003ccode\u003e--no-error-on-unmatched-pattern\u003c/code\u003e. Before, \u003ccode\u003eultracite check README.md\u003c/code\u003e or \u003ccode\u003eultracite check Dockerfile src/index.ts\u003c/code\u003e failed even though nothing was wrong.\u003c/li\u003e\n\u003cli\u003eLinter flags that take a value keep it, even when the value looks like a file: \u003ccode\u003e--tsconfig tsconfig.json\u003c/code\u003e, \u003ccode\u003e-c .oxlintrc.json\u003c/code\u003e, \u003ccode\u003e--config-path biome.json\u003c/code\u003e, \u003ccode\u003e--only lint/suspicious/noDebugger\u003c/code\u003e, \u003ccode\u003e--since origin/main\u003c/code\u003e and similar. Before, the value was treated as a lint target, so \u003ccode\u003eultracite fix --tsconfig tsconfig.json\u003c/code\u003e skipped Oxlint entirely and only formatted \u003ccode\u003etsconfig.json\u003c/code\u003e. Ultracite's own \u003ccode\u003e--claude\u003c/code\u003e, \u003ccode\u003e--codex\u003c/code\u003e, \u003ccode\u003e--hook\u003c/code\u003e and \u003ccode\u003e--unsafe\u003c/code\u003e never take a value, so the next argument is always a target.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eultracite fix --unsafe\u003c/code\u003e with the ESLint toolchain no longer fails with ESLint's \u0026quot;Invalid option '--unsafe'\u0026quot;. ESLint has no unsafe fixes, so the flag is dropped with a warning.\u003c/li\u003e\n\u003cli\u003eA linter that isn't installed is reported with a plain message instead of a stack trace. The other tools still run first. Stylelint is optional in the ESLint toolchain, as \u003ccode\u003eultracite doctor\u003c/code\u003e already said, so a project without it now skips CSS linting with a warning instead of failing. \u0026quot;No linter configuration found\u0026quot; is also printed without a stack trace.\u003c/li\u003e\n\u003cli\u003eLinters installed in the project's \u003ccode\u003enode_modules/.bin\u003c/code\u003e are found even when Ultracite isn't run through a package manager script, \u003ccode\u003enpx\u003c/code\u003e or \u003ccode\u003ebunx\u003c/code\u003e, for example \u003ccode\u003e./node_modules/.bin/ultracite check\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ef61f393: \u003ccode\u003eultracite init\u003c/code\u003e now looks for existing ESLint, Prettier and Stylelint configs in the same order the tools do, so when a project has more than one, init updates the one the tool actually loads. For example, Prettier reads \u003ccode\u003e.prettierrc.json\u003c/code\u003e before \u003ccode\u003eprettier.config.mjs\u003c/code\u003e, and ESLint reads \u003ccode\u003eeslint.config.js\u003c/code\u003e before \u003ccode\u003eeslint.config.mjs\u003c/code\u003e. Before, init could update a config the tool ignored and leave the active one in place. Stylelint's \u003ccode\u003e.stylelintrc.ts\u003c/code\u003e and \u003ccode\u003estylelint.config.ts\u003c/code\u003e are now recognised too.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e242cd2a: \u003ccode\u003eultracite init\u003c/code\u003e now updates an existing \u003ccode\u003e.vscode/settings.json\u003c/code\u003e or \u003ccode\u003e.zed/settings.json\u003c/code\u003e in place, so your comments and formatting are kept. Before, the file was re-serialised as plain JSON, which stripped every comment. A settings file with a syntax error is now left unchanged with a warning. Before, it was rewritten with whatever part the parser could recover, which dropped the rest.\u003c/p\u003e\n\u003cp\u003eFor the ESLint toolchain, init now also installs the Prettier VS Code extension (\u003ccode\u003eesbenp.prettier-vscode\u003c/code\u003e), since the settings it writes make Prettier the default formatter. Before, only the ESLint extension was installed, so format-on-save did nothing until you added Prettier yourself.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ec273393: \u003ccode\u003eultracite init\u003c/code\u003e now checks every flag value before it changes anything in the project. An unknown value for \u003ccode\u003e--linter\u003c/code\u003e, \u003ccode\u003e--pm\u003c/code\u003e, \u003ccode\u003e--frameworks\u003c/code\u003e, \u003ccode\u003e--editors\u003c/code\u003e, \u003ccode\u003e--agents\u003c/code\u003e, \u003ccode\u003e--hooks\u003c/code\u003e, \u003ccode\u003e--integrations\u003c/code\u003e or \u003ccode\u003e--js-plugins\u003c/code\u003e stops init with a message listing the valid values. Previously a misspelled \u003ccode\u003e--linter\u003c/code\u003e (for example \u003ccode\u003e--linter Biome\u003c/code\u003e) deleted every existing Biome, ESLint, Prettier, Stylelint, Oxlint and oxfmt config file and then crashed.\u003c/p\u003e\n\u003cp\u003eWhen \u003ccode\u003e--linter\u003c/code\u003e is not passed and init runs without prompts (because of \u003ccode\u003e--quiet\u003c/code\u003e, \u003ccode\u003eCI\u003c/code\u003e, or flags such as \u003ccode\u003e--agents\u003c/code\u003e or \u003ccode\u003e--pm\u003c/code\u003e), it now keeps the linter the project is already set up with and only falls back to Oxlint when there is none. Running \u003ccode\u003eultracite init --agents universal\u003c/code\u003e on a Biome project no longer migrates it to Oxlint. The interactive linter prompt also preselects the detected linter.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e3cb2e71: Clearer wording in the CLI:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eultracite init --help\u003c/code\u003e now lists the valid values for \u003ccode\u003e--pm\u003c/code\u003e, \u003ccode\u003e--linter\u003c/code\u003e, \u003ccode\u003e--frameworks\u003c/code\u003e, \u003ccode\u003e--hooks\u003c/code\u003e and \u003ccode\u003e--integrations\u003c/code\u003e, and explains what \u003ccode\u003e--type-aware\u003c/code\u003e does for Biome and for Oxlint.\u003c/li\u003e\n\u003cli\u003eThe agent rules file says \u0026quot;Oxlint + Oxfmt will catch most mechanical issues automatically\u0026quot; instead of \u0026quot;Oxlint + Oxfmt's linter will catch…\u0026quot;.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003einit\u003c/code\u003e and \u003ccode\u003eupgrade\u003c/code\u003e say \u0026quot;Using pnpm (detected from the project)\u0026quot; instead of \u0026quot;Detected lockfile\u0026quot;, since the package manager can also come from \u003ccode\u003epackageManager\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eultracite doctor\u003c/code\u003e spells \u0026quot;unrecognized\u0026quot; consistently, formats commands as code, and describes warnings as \u0026quot;Some checks have warnings\u0026quot; instead of \u0026quot;optional improvements\u0026quot;.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e6ae8be8: The ESLint \u003ccode\u003enestjs\u003c/code\u003e preset imports \u003ccode\u003e@darraghor/eslint-plugin-nestjs-typed\u003c/code\u003e, but \u003ccode\u003eultracite init --linter eslint --frameworks nestjs\u003c/code\u003e never installed it, so ESLint failed to load the config with \u0026quot;Cannot find package\u0026quot;. \u003ccode\u003einit\u003c/code\u003e now installs the plugin with the preset, and \u003ccode\u003eultracite upgrade\u003c/code\u003e installs the plugins of every framework preset your \u003ccode\u003eeslint.config.*\u003c/code\u003e imports, so existing NestJS projects pick it up on their next upgrade.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ea8e83bb: \u003ccode\u003eultracite init\u003c/code\u003e now migrates an existing \u003ccode\u003e.oxlintrc.json\u003c/code\u003e, \u003ccode\u003e.oxfmtrc.json\u003c/code\u003e or \u003ccode\u003e.oxfmtrc.jsonc\u003c/code\u003e when it sets up Oxlint. Oxlint and oxfmt refuse to load any config when a JSON config sits next to \u003ccode\u003eoxlint.config.ts\u003c/code\u003e or \u003ccode\u003eoxfmt.config.ts\u003c/code\u003e, and init used to write the TS configs beside the JSON ones, so \u003ccode\u003eultracite check\u003c/code\u003e and \u003ccode\u003eultracite fix\u003c/code\u003e stopped working. Init now moves the JSON config's settings into the TS config and deletes the JSON file:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003erules\u003c/code\u003e, \u003ccode\u003eoverrides\u003c/code\u003e, \u003ccode\u003eenv\u003c/code\u003e, \u003ccode\u003eplugins\u003c/code\u003e and other options become properties of the generated config.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eignorePatterns\u003c/code\u003e, \u003ccode\u003esettings\u003c/code\u003e and \u003ccode\u003ejsPlugins\u003c/code\u003e are added to the ones Ultracite generates instead of replacing them.\u003c/li\u003e\n\u003cli\u003eUltracite \u003ccode\u003eextends\u003c/code\u003e entries become presets. Other \u003ccode\u003eextends\u003c/code\u003e paths can't be referenced from a TS config, so init names them in a warning.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eA JSON config that doesn't parse is left in place, and neither file is written.\u003c/p\u003e\n\u003cp\u003eRe-running \u003ccode\u003eultracite init\u003c/code\u003e also keeps what you added to \u003ccode\u003eoxlint.config.ts\u003c/code\u003e and \u003ccode\u003eoxfmt.config.ts\u003c/code\u003e: custom \u003ccode\u003erules\u003c/code\u003e, \u003ccode\u003eoverrides\u003c/code\u003e, \u003ccode\u003eignorePatterns\u003c/code\u003e, \u003ccode\u003esettings\u003c/code\u003e and other properties, extra \u003ccode\u003eextends\u003c/code\u003e entries, your own imports and statements, and comments are carried over while the Ultracite parts are regenerated. Before, both files were regenerated from scratch. A config that doesn't parse is now left unchanged with a warning instead of being overwritten.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eultracite doctor\u003c/code\u003e now fails when a JSON config and a TS config for Oxlint or oxfmt sit side by side, and suggests running \u003ccode\u003einit\u003c/code\u003e to migrate a lone \u003ccode\u003e.oxfmtrc.json\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e981ef2f: \u003ccode\u003eultracite init --linter oxlint\u003c/code\u003e no longer adds \u003ccode\u003e\u0026quot;type\u0026quot;: \u0026quot;module\u0026quot;\u003c/code\u003e to \u003ccode\u003epackage.json\u003c/code\u003e. That field changes how Node loads every \u003ccode\u003e.js\u003c/code\u003e file in the package, so CommonJS files such as a \u003ccode\u003enext.config.js\u003c/code\u003e, \u003ccode\u003epostcss.config.js\u003c/code\u003e or \u003ccode\u003ejest.config.js\u003c/code\u003e using \u003ccode\u003emodule.exports\u003c/code\u003e stopped working after init.\u003c/p\u003e\n\u003cp\u003eInstead, init writes the Oxlint and oxfmt configs as \u003ccode\u003eoxlint.config.mts\u003c/code\u003e and \u003ccode\u003eoxfmt.config.mts\u003c/code\u003e when the package isn't an ES module package (no \u003ccode\u003e\u0026quot;type\u0026quot;\u003c/code\u003e or \u003ccode\u003e\u0026quot;type\u0026quot;: \u0026quot;commonjs\u0026quot;\u003c/code\u003e). A \u003ccode\u003e.mts\u003c/code\u003e file always loads as an ES module, with no \u003ccode\u003eMODULE_TYPELESS_PACKAGE_JSON\u003c/code\u003e warning on every run, and it works under \u003ccode\u003e\u0026quot;type\u0026quot;: \u0026quot;commonjs\u0026quot;\u003c/code\u003e. ES module packages (\u003ccode\u003e\u0026quot;type\u0026quot;: \u0026quot;module\u0026quot;\u003c/code\u003e) still get \u003ccode\u003eoxlint.config.ts\u003c/code\u003e and \u003ccode\u003eoxfmt.config.ts\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eRe-running init updates an existing config under the name it already has. The one exception is a \u003ccode\u003e.ts\u003c/code\u003e config in a \u003ccode\u003e\u0026quot;type\u0026quot;: \u0026quot;commonjs\u0026quot;\u003c/code\u003e package, which Node can't load: init renames it to \u003ccode\u003e.mts\u003c/code\u003e and says so. \u003ccode\u003eultracite doctor\u003c/code\u003e, linter detection and the stale-config cleanup all recognise the \u003ccode\u003e.mts\u003c/code\u003e names. \u003ccode\u003edoctor\u003c/code\u003e fails a \u003ccode\u003e.ts\u003c/code\u003e config in a CommonJS package, and fails when a \u003ccode\u003e.ts\u003c/code\u003e and an \u003ccode\u003e.mts\u003c/code\u003e config sit side by side.\u003c/p\u003e\n\u003cp\u003eRequires oxfmt \u0026gt;= 0.59.0, the first release that finds \u003ccode\u003eoxfmt.config.mts\u003c/code\u003e on its own.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/e948def3e0b1bdba2c4264c183d960f6a05ed61f\"\u003e\u003ccode\u003ee948def\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://redirect.github.com/haydenbleasel/ultracite/issues/823\"\u003e#823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/84838a29174eadb3db8ce8c0992498180c15ea45\"\u003e\u003ccode\u003e84838a2\u003c/code\u003e\u003c/a\u003e Note that adding hooks later keeps the project's linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/987468a8de73d6ff9b46f94647344def01257aa1\"\u003e\u003ccode\u003e987468a\u003c/code\u003e\u003c/a\u003e Document --unsafe per toolchain and the new check, doctor and upgrade behavior\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/857e799aaafe53d05cd955b67fd166a3b2c661d1\"\u003e\u003ccode\u003e857e799\u003c/code\u003e\u003c/a\u003e Describe how init updates existing configs in the migration guides\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/9eb8cbf887faa3676bbbd8855cf6056688d04ecd\"\u003e\u003ccode\u003e9eb8cbf\u003c/code\u003e\u003c/a\u003e Document init's linter detection, flag checks and quiet output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/9c30c15e88fe0367d38c17a03a381e76ee43bca7\"\u003e\u003ccode\u003e9c30c15\u003c/code\u003e\u003c/a\u003e Raise the oxlint peer range to the first release that loads the presets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/44d6997a136dde7617db7c7560a065f8b018d3f5\"\u003e\u003ccode\u003e44d6997\u003c/code\u003e\u003c/a\u003e Create agent and hook directories only after the path guard\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/3cb2e71b7b9a25808e964f37817882df931676d4\"\u003e\u003ccode\u003e3cb2e71\u003c/code\u003e\u003c/a\u003e Tidy CLI help and messages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/f61f3937cc4783ee58bd7eb8030ad0f24c79bc00\"\u003e\u003ccode\u003ef61f393\u003c/code\u003e\u003c/a\u003e Look for ESLint, Prettier and Stylelint configs in the tools' own order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/haydenbleasel/ultracite/commit/923667b429931f4403ff6d9f9698812434f37f04\"\u003e\u003ccode\u003e923667b\u003c/code\u003e\u003c/a\u003e Respect tsconfig strictNullChecks settings, including inherited ones\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/haydenbleasel/ultracite/compare/ultracite@6.3.2...ultracite@7.12.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 ultracite since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 4.1.11 to 5.0.3\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\u003ev5.0.3\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIsolate \u003ccode\u003eresult.status\u003c/code\u003e between \u003ccode\u003erepeats\u003c/code\u003e runs  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11218\"\u003evitest-dev/vitest#11218\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5dbebe9e3\"\u003e\u003c!-- raw HTML omitted --\u003e(5dbeb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't print an interceptor warning in browser mode  -  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/11377\"\u003evitest-dev/vitest#11377\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/15cc006aa\"\u003e\u003c!-- raw HTML omitted --\u003e(15cc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't retry when \u003ccode\u003etest.fails\u003c/code\u003e expectedly failed  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11219\"\u003evitest-dev/vitest#11219\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b24585f08\"\u003e\u003c!-- raw HTML omitted --\u003e(b2458)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eScope cache key generators to projects  -  by \u003ca href=\"https://github.com/ecoyoung\"\u003e\u003ccode\u003e@​ecoyoung\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11281\"\u003evitest-dev/vitest#11281\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11301\"\u003evitest-dev/vitest#11301\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/92ba7fc1d\"\u003e\u003c!-- raw HTML omitted --\u003e(92ba7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDelay server \u003ccode\u003elisten\u003c/code\u003e until tests start running  -  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/11366\"\u003evitest-dev/vitest#11366\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d8ed3e9b\"\u003e\u003c!-- raw HTML omitted --\u003e(7d8ed)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck mock path boundaries  -  by \u003ca href=\"https://github.com/saryn17\"\u003e\u003ccode\u003e@​saryn17\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eRyosei Sato\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/11361\"\u003evitest-dev/vitest#11361\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11362\"\u003evitest-dev/vitest#11362\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1c3888bce\"\u003e\u003c!-- raw HTML omitted --\u003e(1c388)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep config of browser-consumed environments  -  by \u003ca href=\"https://github.com/kasperpeulen\"\u003e\u003ccode\u003e@​kasperpeulen\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11378\"\u003evitest-dev/vitest#11378\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/aafc0996f\"\u003e\u003c!-- raw HTML omitted --\u003e(aafc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore page crash while cancelling  -  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/11386\"\u003evitest-dev/vitest#11386\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c36748fa\"\u003e\u003c!-- raw HTML omitted --\u003e(7c367)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etoMatchScreenshot\u003c/code\u003e uses wrong reference on retried tests  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11393\"\u003evitest-dev/vitest#11393\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c22aba992\"\u003e\u003c!-- raw HTML omitted --\u003e(c22ab)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecache\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eRevalidate imports of cached modules  -  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/11381\"\u003evitest-dev/vitest#11381\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/38f98855f\"\u003e\u003c!-- raw HTML omitted --\u003e(38f98)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePin \u003ccode\u003ewhy-is-node-running\u003c/code\u003e to \u003ccode\u003e3.2.1\u003c/code\u003e to avoid users running into \u003ccode\u003eERR_PNPM_TRUST_DOWNGRADE\u003c/code\u003e  -  by \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/11403\"\u003evitest-dev/vitest#11403\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f6c9a4977\"\u003e\u003c!-- raw HTML omitted --\u003e(f6c9a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePass current equality testers to \u003ccode\u003eexpect.extend\u003c/code\u003e asymmetric matchers  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11401\"\u003evitest-dev/vitest#11401\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e794a96b\"\u003e\u003c!-- raw HTML omitted --\u003e(3e794)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ejsdom\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport Blob on jsdom 30.1  -  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/11379\"\u003evitest-dev/vitest#11379\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6c49b7197\"\u003e\u003c!-- raw HTML omitted --\u003e(6c49b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epool\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePreserve unique pool ids when \u003ccode\u003egroupOrder\u003c/code\u003e is set  -  by \u003ca href=\"https://github.com/mtorp\"\u003e\u003ccode\u003e@​mtorp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11392\"\u003evitest-dev/vitest#11392\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/50312ebb4\"\u003e\u003c!-- raw HTML omitted --\u003e(50312)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSplit-pane handle overlapping iframe  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11221\"\u003evitest-dev/vitest#11221\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f91db0dfd\"\u003e\u003c!-- raw HTML omitted --\u003e(f91db)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evitest\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eRemove root temp dir on close  -  by \u003ca href=\"https://github.com/abhinav-phi\"\u003e\u003ccode\u003e@​abhinav-phi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11248\"\u003evitest-dev/vitest#11248\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c7119cf7\"\u003e\u003c!-- raw HTML omitted --\u003e(7c711)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evm\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDo not optimize deps from index.html  -  by \u003ca href=\"https://github.com/ezefernandezyf\"\u003e\u003ccode\u003e@​ezefernandezyf\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11329\"\u003evitest-dev/vitest#11329\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11360\"\u003evitest-dev/vitest#11360\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/caf2887de\"\u003e\u003c!-- raw HTML omitted --\u003e(caf28)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't reuse scripts across vite environments  -  by \u003ca href=\"https://github.com/MO2k4\"\u003e\u003ccode\u003e@​MO2k4\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eMartin Oehlert\u003c/strong\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11395\"\u003evitest-dev/vitest#11395\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/346d3896b\"\u003e\u003c!-- raw HTML omitted --\u003e(346d3)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v5.0.2...v5.0.3\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev5.0.2\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBind \u003ccode\u003eprocess\u003c/code\u003e in case global is overwritten  -  by \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/11343\"\u003evitest-dev/vitest#11343\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0b79231ad\"\u003e\u003c!-- raw HTML omitted --\u003e(0b792)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edetect-async-leaks\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eIgnore \u003ccode\u003eprocess.stdio\u003c/code\u003e handles  -  by \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/11333\"\u003evitest-dev/vitest#11333\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0fd6b9790\"\u003e\u003c!-- raw HTML omitted --\u003e(0fd6b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003etoMatchObject\u003c/code\u003e with asymmetric matchers  -  by \u003ca href=\"https://github.com/ShreeBohara\"\u003e\u003ccode\u003e@​ShreeBohara\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 5\u003c/strong\u003e, \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-5)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11100\"\u003evitest-dev/vitest#11100\u003c/a\u003e \u003ca href=\"https...\n\n_Description has been truncated_","html_url":"https://github.com/hakudevtw/i18n-studio/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hakudevtw%2Fi18n-studio/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"}},{"old_version":"30.1.0","new_version":"30.1.2","update_type":"patch","path":null,"pr_created_at":"2026-10-07T01:45:03.000Z","version_change":"30.1.0 → 30.1.2","issue":{"uuid":"5738006009","node_id":"PR_kwDOSu_BXs8AAAABHB_B_A","number":537,"state":"closed","title":"chore(deps): bump the minor-and-patch group across 1 directory with 10 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-10-07T12:26:01.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-07T01:45:03.000Z","updated_at":"2026-10-07T12:26:10.000Z","time_to_close":38458,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"minor-and-patch","update_count":10,"packages":[{"name":"docx","old_version":"9.7.1","new_version":"9.8.1","repository_url":"https://github.com/dolanmiu/docx"},{"name":"fast-xml-parser","old_version":"5.11.1","new_version":"5.11.2","repository_url":"https://github.com/NaturalIntelligence/fast-xml-parser"},{"name":"next","old_version":"16.3.6","new_version":"16.3.8","repository_url":"https://github.com/vercel/next.js"},{"name":"@types/node","old_version":"26.6.2","new_version":"26.6.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"5.0.1","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"jsdom","old_version":"30.1.0","new_version":"30.1.2","repository_url":"https://github.com/jsdom/jsdom"},{"name":"lint-staged","old_version":"17.5.1","new_version":"17.6.0","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"prettier","old_version":"3.9.8","new_version":"3.9.9","repository_url":"https://github.com/prettier/prettier"},{"name":"tsx","old_version":"4.23.14","new_version":"4.23.15","repository_url":"https://github.com/privatenumber/tsx"},{"name":"vitest","old_version":"5.0.1","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [docx](https://github.com/dolanmiu/docx) | `9.7.1` | `9.8.1` |\n| [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) | `5.11.1` | `5.11.2` |\n| [next](https://github.com/vercel/next.js) | `16.3.6` | `16.3.8` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.6.2` | `26.6.4` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `5.0.1` | `5.0.3` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.1.0` | `30.1.2` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `17.5.1` | `17.6.0` |\n| [prettier](https://github.com/prettier/prettier) | `3.9.8` | `3.9.9` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.23.14` | `4.23.15` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.1` | `5.0.3` |\n\n\nUpdates `docx` from 9.7.1 to 9.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dolanmiu/docx/releases\"\u003edocx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e9.8.1 adds \u003cstrong\u003emath from LaTeX\u003c/strong\u003e to \u003ccode\u003edocx/math\u003c/code\u003e, and makes every example in the docs \u003cstrong\u003elive\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003elatexToMath\u003c/code\u003e\u003c/strong\u003e turns LaTeX math into equations that Word shows and edits as its own. It reads the math that LaTeX, MathJax and KaTeX write, including fractions, roots, scripts, sums and integrals, \u003ccode\u003e\\left … \\right\u003c/code\u003e, accents, braces, fonts, \u003ccode\u003e\\text\u003c/code\u003e, and environments such as \u003ccode\u003ematrix\u003c/code\u003e, \u003ccode\u003ecases\u003c/code\u003e and \u003ccode\u003ealign\u003c/code\u003e, where \u003ccode\u003e\\tag\u003c/code\u003e numbers a row. It returns components, so you can mix LaTeX with math you build by hand. Anything it can't read throws an error that says what and where. See \u003ca href=\"https://docx.js.org/#/usage/math-latex\"\u003eMath from LaTeX\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eLaTeX needed six new components, and you can use them by hand too: \u003ccode\u003eMathLargeOperator\u003c/code\u003e, \u003ccode\u003eMathAccent\u003c/code\u003e, \u003ccode\u003eMathBar\u003c/code\u003e, \u003ccode\u003eMathBrace\u003c/code\u003e, \u003ccode\u003eMathBox\u003c/code\u003e and \u003ccode\u003eMathPhantom\u003c/code\u003e. \u003ccode\u003eMathRun\u003c/code\u003e gains \u003ccode\u003estyle\u003c/code\u003e, \u003ccode\u003escript\u003c/code\u003e and \u003ccode\u003eliteral\u003c/code\u003e. \u003ccode\u003eMathFraction\u003c/code\u003e gains \u003ccode\u003etype\u003c/code\u003e (stacked, skewed, linear or no bar), and \u003ccode\u003eMathSum\u003c/code\u003e and \u003ccode\u003eMathIntegral\u003c/code\u003e gain \u003ccode\u003elimits\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe docs' examples now run in the page\u003c/strong\u003e with this version of docx and draw the document next to the code. You can edit the code, with completions and type errors, and download the \u003ccode\u003e.docx\u003c/code\u003e. Running all 443 examples found docs that were wrong, and they're fixed: landscape pages, custom properties, comments, and APIs that no longer exist. The sidebar also stops listing every chart page, and shows a page's child pages only once you open it.\u003c/p\u003e\n\u003cp\u003eThe empty \u003ccode\u003eWORKAROUND2\u003c/code\u003e, \u003ccode\u003eWORKAROUND3\u003c/code\u003e and \u003ccode\u003eWORKAROUND4\u003c/code\u003e exports are gone. They were only there for awesome-typescript-loader, which docx stopped using in 2021.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: the API check compares the classes an entry point re-exports from docx with docx's check, not its own by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3558\"\u003edolanmiu/docx#3558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: the sidebar lists a page's child pages only once that page or one of its children is open by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3557\"\u003edolanmiu/docx#3557\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: live examples in the docs, which run, draw the document next to the code, and can be edited and downloaded by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3556\"\u003edolanmiu/docx#3556\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​microsoft/api-extractor\u003c/code\u003e from 7.59.1 to 7.59.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3559\"\u003edolanmiu/docx#3559\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump vite from 8.3.0 to 8.3.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3560\"\u003edolanmiu/docx#3560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/inquirer\u003c/code\u003e from 9.0.9 to 9.0.10 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3561\"\u003edolanmiu/docx#3561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump eslint-plugin-functional from 9.0.5 to 10.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3562\"\u003edolanmiu/docx#3562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump cspell from 10.0.0 to 10.3.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3568\"\u003edolanmiu/docx#3568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e from 8.70.0 to 8.70.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3567\"\u003edolanmiu/docx#3567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump jsdom from 30.1.0 to 30.1.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3564\"\u003edolanmiu/docx#3564\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove \u003ccode\u003e@​types/inquirer\u003c/code\u003e, since inquirer ships its own types by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3569\"\u003edolanmiu/docx#3569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump typescript-eslint from 8.70.0 to 8.70.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3565\"\u003edolanmiu/docx#3565\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: math from LaTeX in docx/math, with accents, bars, braces, boxes, phantoms and large operators by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3570\"\u003edolanmiu/docx#3570\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove the awesome-typescript-loader WORKAROUND exports by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3571\"\u003edolanmiu/docx#3571\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Version bump to 9.8.1 by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3572\"\u003edolanmiu/docx#3572\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dolanmiu/docx/compare/9.8.0...9.8.1\"\u003ehttps://github.com/dolanmiu/docx/compare/9.8.0...9.8.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e9.8.0 is one of the biggest releases of \u003ccode\u003edocx\u003c/code\u003e yet. It adds \u003cstrong\u003echarts\u003c/strong\u003e, \u003cstrong\u003eshapes\u003c/strong\u003e and \u003cstrong\u003ewatermarks\u003c/strong\u003e, and a lot more \u003cstrong\u003emath\u003c/strong\u003e. Each has its own entry point (\u003ccode\u003edocx/charts\u003c/code\u003e, \u003ccode\u003edocx/shapes\u003c/code\u003e, \u003ccode\u003edocx/watermarks\u003c/code\u003e and \u003ccode\u003edocx/math\u003c/code\u003e), so your bundle only includes the ones you import.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eCharts\u003c/strong\u003e are native Word charts, not pictures. Word draws them from their data in the document's theme, and \u003cstrong\u003eEdit Data\u003c/strong\u003e opens that data in Excel. You can make column, bar, line, area, pie, doughnut, pie of pie, bar of pie, radar, scatter, bubble, stock and combo charts, with trendlines, error bars, categories in groups and more. Charts also work in templates. \u003ccode\u003epatchDocument\u003c/code\u003e can put a new \u003ccode\u003eChartRun\u003c/code\u003e where a placeholder is, and \u003ccode\u003eChartDataPatch\u003c/code\u003e gives new data to a chart made and styled in Word while keeping its look.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eShapes\u003c/strong\u003e cover Word's preset shapes (rectangles, ellipses, arrows, callouts, flowchart symbols and the rest), plus custom shapes drawn from SVG paths. You can group shapes with \u003ccode\u003eShapeGroupRun\u003c/code\u003e, or join them with connectors on a \u003ccode\u003eShapeCanvasRun\u003c/code\u003e and let automatic layout place them, which is how you'd build flowcharts, org charts and swimlane diagrams. \u003cstrong\u003eMath\u003c/strong\u003e gains matrices, cases, equations lined up with numbers, and brackets made of any characters. Math you already import from \u003ccode\u003edocx\u003c/code\u003e keeps working there. \u003cstrong\u003eWatermarks\u003c/strong\u003e are text or pictures behind every page, and Word recognises them in its own \u003cstrong\u003eDesign \u0026gt; Watermark\u003c/strong\u003e menu.\u003c/p\u003e\n\u003cp\u003eEvery document now has a \u003cstrong\u003etheme\u003c/strong\u003e, and you can set its colours and fonts with the \u003ccode\u003etheme\u003c/code\u003e option. Text, underlines, borders, shading, shapes and the page background can use theme colours, and text can use the theme's heading or body font, so they all change when the theme is changed in Word. \u003ccode\u003epatchDocument\u003c/code\u003e works out theme colours from the template's own theme.\u003c/p\u003e\n\u003cp\u003eEvery demo's document is now checked with the Open XML SDK validator in CI, and this release fixes everything it found. Thank you to everyone who contributed, and welcome to our five new contributors: \u003ca href=\"https://github.com/slmnsh\"\u003e\u003ccode\u003e@​slmnsh\u003c/code\u003e\u003c/a\u003e added image cropping, \u003ca href=\"https://github.com/theunal\"\u003e\u003ccode\u003e@​theunal\u003c/code\u003e\u003c/a\u003e watermarks, \u003ca href=\"https://github.com/holm\"\u003e\u003ccode\u003e@​holm\u003c/code\u003e\u003c/a\u003e run properties on \u003ccode\u003eImageRun\u003c/code\u003e, and \u003ca href=\"https://github.com/omartuhintvs\"\u003e\u003ccode\u003e@​omartuhintvs\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/fushanbobfan\"\u003e\u003ccode\u003e@​fushanbobfan\u003c/code\u003e\u003c/a\u003e fixes to tables and the patcher.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for cropping images by \u003ca href=\"https://github.com/slmnsh\"\u003e\u003ccode\u003e@​slmnsh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3505\"\u003edolanmiu/docx#3505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: allocate bookmark numeric ids per document by \u003ca href=\"https://github.com/alexvcasillas\"\u003e\u003ccode\u003e@​alexvcasillas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3502\"\u003edolanmiu/docx#3502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(table): emit numeric pct widths in fiftieths of a percent by \u003ca href=\"https://github.com/omartuhintvs\"\u003e\u003ccode\u003e@​omartuhintvs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3476\"\u003edolanmiu/docx#3476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix \u0026quot;Get Started\u0026quot; cover link and GitHub corner overlap by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3518\"\u003edolanmiu/docx#3518\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(styles): stop emitting an implicit ListParagraph pStyle inside style definitions by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3519\"\u003edolanmiu/docx#3519\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Inquirer list deprecation by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3520\"\u003edolanmiu/docx#3520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Watermarks by \u003ca href=\"https://github.com/theunal\"\u003e\u003ccode\u003e@​theunal\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3221\"\u003edolanmiu/docx#3221\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add shapes with ShapeRun and ShapeGroupRun by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3521\"\u003edolanmiu/docx#3521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(shapes): readable names, connectors and drawing canvases by \u003ca href=\"https://github.com/dolanmiu\"\u003e\u003ccode\u003e@​dolanmiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dolanmiu/docx/pull/3522\"\u003edolanmiu/docx#3522\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/dolanmiu/docx/commit/0e8ff7a731275cd31fed0ef0c211f4ce7ac3c986\"\u003e\u003ccode\u003e0e8ff7a\u003c/code\u003e\u003c/a\u003e chore: Version bump to 9.8.1 (\u003ca href=\"https://redirect.github.com/dolanmiu/docx/issues/3572\"\u003e#3572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dolanmiu/docx/commit/71b11d6f334374336db5dea7435d323360641df1\"\u003e\u003ccode\u003e71b11d6\u003c/code\u003e\u003c/a\u003e chore: remove the awesome-typescript-loader WORKAROUND exports (\u003ca href=\"https://redirect.github.com/dolanmiu/docx/issues/3571\"\u003e#3571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dolanmiu/docx/commit/eb206519ae1e5228e413588a614a2c1d904a3b65\"\u003e\u003ccode\u003eeb20651\u003c/code\u003e\u003c/a\u003e feat: math from LaTeX in docx/math, with accents, bars, braces, boxes, phanto...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dolanmiu/docx/commit/5213b31aaecb59fc6a2709d37a1189a3796bb861\"\u003e\u003ccode\u003e5213b31\u003c/code\u003e\u003c/a\u003e chore: Add evaluate PR skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dolanmiu/docx/commit/10448596eb29ca3f71fd7d9546b114e83aaa4d5f\"\u003e\u003ccode\u003e1044859\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump typescript-eslint from 8.70.0 to 8.70.1 (\u003ca href=\"https://redirect.github.com/dolanmiu/docx/issues/3565\"\u003e#3565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dolanmiu/docx/commit/d152b80ee736ed2723dd9aa8de682f672e2a7704\"\u003e\u003ccode\u003ed152b80\u003c/code\u003e\u003c/a\u003e chore: remove \u003ccode\u003e@​types/inquirer\u003c/code\u003e, since inquirer ships its own types (\u003ca href=\"https://redirect.github.com/dolanmiu/docx/issues/3569\"\u003e#3569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dolanmiu/docx/commit/70bca29e20292695b81ba3e07b57bc62e3e8ef6c\"\u003e\u003ccode\u003e70bca29\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump jsdom from 30.1.0 to 30.1.1 (\u003ca href=\"https://redirect.github.com/dolanmiu/docx/issues/3564\"\u003e#3564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dolanmiu/docx/commit/42caf4a31c50fc0ecf3e88e62b4c21f73fecca1b\"\u003e\u003ccode\u003e42caf4a\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e from 8.70.0 to 8.70.1 (\u003ca href=\"https://redirect.github.com/dolanmiu/docx/issues/3567\"\u003e#3567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dolanmiu/docx/commit/98d404cbb6c4e24d063a116035c3ff495c6eebfb\"\u003e\u003ccode\u003e98d404c\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump cspell from 10.0.0 to 10.3.4 (\u003ca href=\"https://redirect.github.com/dolanmiu/docx/issues/3568\"\u003e#3568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dolanmiu/docx/commit/a56f38383e642eea940a584d145068835a0c3627\"\u003e\u003ccode\u003ea56f383\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump eslint-plugin-functional from 9.0.5 to 10.0.1 (\u003ca href=\"https://redirect.github.com/dolanmiu/docx/issues/3562\"\u003e#3562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dolanmiu/docx/compare/9.7.1...9.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fast-xml-parser` from 5.11.1 to 5.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/releases\"\u003efast-xml-parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: decode Uint8Array XML input as UTF-8 by \u003ca href=\"https://github.com/emme1t\"\u003e\u003ccode\u003e@​emme1t\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/875\"\u003eNaturalIntelligence/fast-xml-parser#875\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: type EntityDecoderOptions.setXmlVersion's version as a number by \u003ca href=\"https://github.com/YevheniiKotyrlo\"\u003e\u003ccode\u003e@​YevheniiKotyrlo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/880\"\u003eNaturalIntelligence/fast-xml-parser#880\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/emme1t\"\u003e\u003ccode\u003e@​emme1t\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/875\"\u003eNaturalIntelligence/fast-xml-parser#875\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/YevheniiKotyrlo\"\u003e\u003ccode\u003e@​YevheniiKotyrlo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/880\"\u003eNaturalIntelligence/fast-xml-parser#880\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.1...v5.11.2\"\u003ehttps://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.1...v5.11.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md\"\u003efast-xml-parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003eNote: If you find missing information about particular minor version, that version must have been changed without any functional change in this library.\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003cp\u003eNote: Due to some last quick changes on v4, detail of v4.5.3 \u0026amp; v4.5.4 are not updated here. v4.5.4x is the last tag of v4 in github repository. I'm extremely sorry for the confusion\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e5.11.2 / 2026-09-29\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/875\"\u003e#875\u003c/a\u003e): decode Uint8Array XML input as UTF-8 (By emme1t)\u003c/li\u003e\n\u003cli\u003efix (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/880\"\u003e#880\u003c/a\u003e) :type EntityDecoderOptions.setXmlVersion's version as a number (By Yevhenii Kotyrlo)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.11.1 / 2026-08-27\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: validator; Replace regex with a single-pass scanner for attribute tokens, eliminating quadratic behavior on long whitespace runs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.11.0 / 2026-08-16\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support for endIndex in node metadata (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/850\"\u003e#850\u003c/a\u003e) [By \u003ca href=\"https://github.com/Wain-PC\"\u003ePavel Dranichnikov\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003efix: don't crash on a closing tag with no matching opening tag (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/861\"\u003e#861\u003c/a\u003e) [By \u003ca href=\"https://github.com/hdimer\"\u003eHaïm Dimer\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003efix: DOCTYPE to read SYSTEM/PUBLIC\u003c/li\u003e\n\u003cli\u003edeps: strnum v2.4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.10.1 / 2026-07-17\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: multiple DOCTYPE declarations.\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003e@nodable/entities\u003c/code\u003e for treeshaking\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.10.0 / 2026-07-11\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade:\n\u003cul\u003e\n\u003cli\u003exml-naming v0.3.0: cache support\u003c/li\u003e\n\u003cli\u003ePEM v1.6.2: sibling bug fix\u003c/li\u003e\n\u003cli\u003eis-unsafe v2.0.0: tree shaking\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.3 / 2026-06-19\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupdate strnum\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.2 / 2026-06-17\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edummy release to test changes in github action\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.1 / 2026-06-17\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edummy release to test release from github action\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.0 / 2026-06-15\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupdate strnum to 2.3.0\n\u003cul\u003e\n\u003cli\u003eyou can set hex, binary, enotation, infinity, unicode\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003evalidate unsafe HTML or XML data in doctype entities unsing 'is-unsafe' library.\nUser can override rules by overriding EntityDecoder.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.8.0 / 2026-05-12\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eintegrate xml-naming to validate DOCTYPE entity name and notation name (using qname becaue of backward compatibility)\n\u003cul\u003e\n\u003cli\u003eThis will consider xml-version as well. '1.0' is default\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eupdate strnum to 2.3.0\n\u003cul\u003e\n\u003cli\u003eYou can set octal and binary parsing which is bydeault off\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eupdate fast-xml-builder to 1.2.0\n\u003cul\u003e\n\u003cli\u003ecan sanitize tag names if found invalid\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/NaturalIntelligence/fast-xml-parser/commit/80e88a848b073fd630bc181291a24922c6d1e839\"\u003e\u003ccode\u003e80e88a8\u003c/code\u003e\u003c/a\u003e 5.11.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/0718e417385d109bc63f509ef0821b0328c4e2d8\"\u003e\u003ccode\u003e0718e41\u003c/code\u003e\u003c/a\u003e changelog, browser bundles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/1a6646b8949ca54f2e2ea205a5923a9980d8fa1d\"\u003e\u003ccode\u003e1a6646b\u003c/code\u003e\u003c/a\u003e deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/d39644185031299e2f5a84241dcce9bcd3238095\"\u003e\u003ccode\u003ed396441\u003c/code\u003e\u003c/a\u003e audit fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/513d0b3cac51a52d62d79cdf01440aa3bbc21553\"\u003e\u003ccode\u003e513d0b3\u003c/code\u003e\u003c/a\u003e fix: type EntityDecoderOptions.setXmlVersion's version as a number (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/880\"\u003e#880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/bb2ec6ce4bfc3f62d621df6e6bf2b3152965175a\"\u003e\u003ccode\u003ebb2ec6c\u003c/code\u003e\u003c/a\u003e fix: decode Uint8Array XML input as UTF-8 (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/875\"\u003e#875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.1...v5.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `next` from 16.3.6 to 16.3.8\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.3.8\u003c/h2\u003e\n\u003cp\u003eThis release contains security fixes for the following advisories:\u003c/p\u003e\n\u003cp\u003eHigh:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-cjq9-62q9-8jv4\"\u003eServer-Side Request Forgery in Image Optimization\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMedium:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-f87g-xv8r-7p7x\"\u003eInformation disclosure in Next.js App Router metadata image routes via dynamicParams bypass\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-4jqv-mc3x-m676\"\u003eCache poisoning of SSG and ISR pages in self-hosted Next.js applications\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-mcj8-r9mp-w47p\"\u003eCache poisoning in Next.js SSG/ISR rendering leads to cross-user content substitution and persistent denial of service\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-3w37-wq28-93x7\"\u003ePending \u003ccode\u003euse cache\u003c/code\u003e fill can leak Draft Mode content into regular responses and persisted pages\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-h694-7cp9-m8p3\"\u003eCache leak across root param values in nested 'use cache' functions\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eLow:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-39w2-rjm5-chcv\"\u003eInformation disclosure in the Next.js development server's Model Context Protocol endpoint\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev16.3.7\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release is backporting 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\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eturbo-tasks-backend: fix strongly consistent read hanging on a canceled task (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/98931\"\u003e#98931\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCredits\u003c/h3\u003e\n\u003cp\u003eHuge thanks to \u003ca href=\"https://github.com/lukesandberg\"\u003e\u003ccode\u003e@​lukesandberg\u003c/code\u003e\u003c/a\u003e for helping!\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/vercel/next.js/commit/b0fad0d45eb4c4430fda5eeeb442e8a5af08a5f6\"\u003e\u003ccode\u003eb0fad0d\u003c/code\u003e\u003c/a\u003e v16.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/719e4c67d6e92df60246f95e1d96e2dd60789a52\"\u003e\u003ccode\u003e719e4c6\u003c/code\u003e\u003c/a\u003e [lts-active] Scope response cache keys to their source route (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/218\"\u003e#218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/e92db4536a7f34ae2dbda583cfa1b4e0d06d1865\"\u003e\u003ccode\u003ee92db45\u003c/code\u003e\u003c/a\u003e [lts-active] Fix metadata propagation for deduplicated nested caches (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/223\"\u003e#223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/40c2ba904289a65ed2fd4633c5dfb1bdc29b52de\"\u003e\u003ccode\u003e40c2ba9\u003c/code\u003e\u003c/a\u003e [lts-active] Match Next data paths case-sensitively (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/196\"\u003e#196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/2d9f50a409312696145b82b3157aadb6b1fef476\"\u003e\u003ccode\u003e2d9f50a\u003c/code\u003e\u003c/a\u003e [lts-active] Fix MCP middleware DNS rebinding (\u003ca href=\"https://redirect.github.com/vercel/next.js/issues/213\"\u003e#213\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/bd9214f9a32854a011bf5fe58e481dffe1bbf598\"\u003e\u003ccode\u003ebd9214f\u003c/code\u003e\u003c/a\u003e [lts-active] Fix draft mode leaks through cross-request \u003ccode\u003e'use cache'\u003c/code\u003e dedupli...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/8db4a627c91e718514406ff5644ea4985dcaaae0\"\u003e\u003ccode\u003e8db4a62\u003c/code\u003e\u003c/a\u003e [lts-active][webpack] Ensure \u003ccode\u003edynamicParams\u003c/code\u003e is respected in `opengraph-image...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/e002ad68bd676bb0ed0c87bb22e3590304763e0b\"\u003e\u003ccode\u003ee002ad6\u003c/code\u003e\u003c/a\u003e [lts-active] fix(next/image): Pin DNS resolution when fetching external image...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/4c20699e29178d444994cf5a31b8a617ca3a2c80\"\u003e\u003ccode\u003e4c20699\u003c/code\u003e\u003c/a\u003e v16.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/2521aec5815e7de2121db253d12dae9f13e25361\"\u003e\u003ccode\u003e2521aec\u003c/code\u003e\u003c/a\u003e [backport] turbo-tasks-backend: fix strongly consistent read hanging on a can...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/next.js/compare/v16.3.6...v16.3.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 26.6.2 to 26.6.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 `@vitest/coverage-v8` from 5.0.1 to 5.0.3\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\u003ev5.0.3\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIsolate \u003ccode\u003eresult.status\u003c/code\u003e between \u003ccode\u003erepeats\u003c/code\u003e runs  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11218\"\u003evitest-dev/vitest#11218\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5dbebe9e3\"\u003e\u003c!-- raw HTML omitted --\u003e(5dbeb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't print an interceptor warning in browser mode  -  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/11377\"\u003evitest-dev/vitest#11377\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/15cc006aa\"\u003e\u003c!-- raw HTML omitted --\u003e(15cc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't retry when \u003ccode\u003etest.fails\u003c/code\u003e expectedly failed  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11219\"\u003evitest-dev/vitest#11219\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b24585f08\"\u003e\u003c!-- raw HTML omitted --\u003e(b2458)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eScope cache key generators to projects  -  by \u003ca href=\"https://github.com/ecoyoung\"\u003e\u003ccode\u003e@​ecoyoung\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11281\"\u003evitest-dev/vitest#11281\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11301\"\u003evitest-dev/vitest#11301\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/92ba7fc1d\"\u003e\u003c!-- raw HTML omitted --\u003e(92ba7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDelay server \u003ccode\u003elisten\u003c/code\u003e until tests start running  -  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/11366\"\u003evitest-dev/vitest#11366\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d8ed3e9b\"\u003e\u003c!-- raw HTML omitted --\u003e(7d8ed)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck mock path boundaries  -  by \u003ca href=\"https://github.com/saryn17\"\u003e\u003ccode\u003e@​saryn17\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eRyosei Sato\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/11361\"\u003evitest-dev/vitest#11361\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11362\"\u003evitest-dev/vitest#11362\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1c3888bce\"\u003e\u003c!-- raw HTML omitted --\u003e(1c388)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep config of browser-consumed environments  -  by \u003ca href=\"https://github.com/kasperpeulen\"\u003e\u003ccode\u003e@​kasperpeulen\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11378\"\u003evitest-dev/vitest#11378\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/aafc0996f\"\u003e\u003c!-- raw HTML omitted --\u003e(aafc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore page crash while cancelling  -  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/11386\"\u003evitest-dev/vitest#11386\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c36748fa\"\u003e\u003c!-- raw HTML omitted --\u003e(7c367)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etoMatchScreenshot\u003c/code\u003e uses wrong reference on retried tests  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11393\"\u003evitest-dev/vitest#11393\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c22aba992\"\u003e\u003c!-- raw HTML omitted --\u003e(c22ab)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecache\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eRevalidate imports of cached modules  -  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/11381\"\u003evitest-dev/vitest#11381\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/38f98855f\"\u003e\u003c!-- raw HTML omitted --\u003e(38f98)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePin \u003ccode\u003ewhy-is-node-running\u003c/code\u003e to \u003ccode\u003e3.2.1\u003c/code\u003e to avoid users running into \u003ccode\u003eERR_PNPM_TRUST_DOWNGRADE\u003c/code\u003e  -  by \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/11403\"\u003evitest-dev/vitest#11403\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f6c9a4977\"\u003e\u003c!-- raw HTML omitted --\u003e(f6c9a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePass current equality testers to \u003ccode\u003eexpect.extend\u003c/code\u003e asymmetric matchers  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11401\"\u003evitest-dev/vitest#11401\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e794a96b\"\u003e\u003c!-- raw HTML omitted --\u003e(3e794)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ejsdom\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport Blob on jsdom 30.1  -  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/11379\"\u003evitest-dev/vitest#11379\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6c49b7197\"\u003e\u003c!-- raw HTML omitted --\u003e(6c49b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epool\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePreserve unique pool ids when \u003ccode\u003egroupOrder\u003c/code\u003e is set  -  by \u003ca href=\"https://github.com/mtorp\"\u003e\u003ccode\u003e@​mtorp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11392\"\u003evitest-dev/vitest#11392\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/50312ebb4\"\u003e\u003c!-- raw HTML omitted --\u003e(50312)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSplit-pane handle overlapping iframe  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11221\"\u003evitest-dev/vitest#11221\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f91db0dfd\"\u003e\u003c!-- raw HTML omitted --\u003e(f91db)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evitest\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eRemove root temp dir on close  -  by \u003ca href=\"https://github.com/abhinav-phi\"\u003e\u003ccode\u003e@​abhinav-phi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11248\"\u003evitest-dev/vitest#11248\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c7119cf7\"\u003e\u003c!-- raw HTML omitted --\u003e(7c711)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evm\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDo not optimize deps from index.html  -  by \u003ca href=\"https://github.com/ezefernandezyf\"\u003e\u003ccode\u003e@​ezefernandezyf\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11329\"\u003evitest-dev/vitest#11329\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11360\"\u003evitest-dev/vitest#11360\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/caf2887de\"\u003e\u003c!-- raw HTML omitted --\u003e(caf28)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't reuse scripts across vite environments  -  by \u003ca href=\"https://github.com/MO2k4\"\u003e\u003ccode\u003e@​MO2k4\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eMartin Oehlert\u003c/strong\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11395\"\u003evitest-dev/vitest#11395\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/346d3896b\"\u003e\u003c!-- raw HTML omitted --\u003e(346d3)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v5.0.2...v5.0.3\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev5.0.2\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBind \u003ccode\u003eprocess\u003c/code\u003e in case global is overwritten  -  by \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/11343\"\u003evitest-dev/vitest#11343\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0b79231ad\"\u003e\u003c!-- raw HTML omitted --\u003e(0b792)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edetect-async-leaks\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eIgnore \u003ccode\u003eprocess.stdio\u003c/code\u003e handles  -  by \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/11333\"\u003evitest-dev/vitest#11333\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0fd6b9790\"\u003e\u003c!-- raw HTML omitted --\u003e(0fd6b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003etoMatchObject\u003c/code\u003e with asymmetric matchers  -  by \u003ca href=\"https://github.com/ShreeBohara\"\u003e\u003ccode\u003e@​ShreeBohara\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 5\u003c/strong\u003e, \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-5)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11100\"\u003evitest-dev/vitest#11100\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/42523289e\"\u003e\u003c!-- raw HTML omitted --\u003e(42523)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ejsdom\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eRequest\u003c/code\u003e with \u003ccode\u003eBlob\u003c/code\u003e body on jsdom 28+  -  by \u003ca href=\"https://github.com/harshit-d3v\"\u003e\u003ccode\u003e@​harshit-d3v\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11295\"\u003evitest-dev/vitest#11295\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d1c3ecc93\"\u003e\u003c!-- raw HTML omitted --\u003e(d1c3e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporter\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eagent\u003c/code\u003e to respect \u003ccode\u003e--silent\u003c/code\u003e  -  by \u003ca href=\"https://github.com/Raj4478\"\u003e\u003ccode\u003e@​Raj4478\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/11271\"\u003evitest-dev/vitest#11271\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5b95efb6d\"\u003e\u003c!-- raw HTML omitted --\u003e(5b95e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporters\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eHandle concurrent \u003ccode\u003ecreateReport\u003c/code\u003e calls  -  by \u003ca href=\"https://github.com/7rulnik\"\u003e\u003ccode\u003e@​7rulnik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11278\"\u003evitest-dev/vitest#11278\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e8e556ff7\"\u003e\u003c!-- raw HTML omitted --\u003e(e8e55)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ehanging-process\u003c/code\u003e to use ESM entrypoint  -  by \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/11316\"\u003evitest-dev/vitest#11316\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4e91e5668\"\u003e\u003c!-- raw HTML omitted --\u003e(4e91e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003espy\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix stack overflow when spying \u003ccode\u003eSet.prototype.add\u003c/code\u003e  -  by \u003ca href=\"https://github.com/fengmk2\"\u003e\u003ccode\u003e@​fengmk2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11299\"\u003evitest-dev/vitest#11299\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a0a939653\"\u003e\u003c!-- raw HTML omitted --\u003e(a0a93)\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/33cadea62e8763c455c7fca38d9ab1dda87c5f75\"\u003e\u003ccode\u003e33cadea\u003c/code\u003e\u003c/a\u003e chore: release v5.0.3 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11409\"\u003e#11409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a029e76a9e72ebdd468452ee1bb788bbe5dc635e\"\u003e\u003ccode\u003ea029e76\u003c/code\u003e\u003c/a\u003e chore: migrate to oxc (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11367\"\u003e#11367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/428e2e5043c64635b6b157358bde2fdeaa7b6b3a\"\u003e\u003ccode\u003e428e2e5\u003c/code\u003e\u003c/a\u003e chore: release v5.0.2 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11357\"\u003e#11357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v5.0.3/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.1.0 to 30.1.2\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\u003ev30.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated URLs to support Unicode v18.0.0 in internationalized domain names.\u003c/li\u003e\n\u003cli\u003eReduced package size and memory use for CSS property definitions. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (\u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an \u003ccode\u003einitial\u003c/code\u003e reset. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.\u003c/li\u003e\n\u003cli\u003eFixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.\u003c/li\u003e\n\u003cli\u003eFixed computed styles for \u003ccode\u003e:focus\u003c/code\u003e, \u003ccode\u003e:focus-visible\u003c/code\u003e, \u003ccode\u003e:focus-within\u003c/code\u003e, and selectors containing them after focus changes, including inside focus and blur listeners. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (\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 throwing for elements without inline-style support, including XML and MathML elements.\u003c/li\u003e\n\u003cli\u003eFixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after \u003ccode\u003ewindow.close()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed memory growth from long-lived \u003ccode\u003eMutationObserver\u003c/code\u003e instances retaining bookkeeping for garbage-collected nodes. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed retained \u003ccode\u003eselect.selectedOptions\u003c/code\u003e collections becoming stale after selection changes and form resets.\u003c/li\u003e\n\u003cli\u003eFixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.\u003c/li\u003e\n\u003cli\u003eFixed handling of deeply nested \u003ccode\u003ecolor-mix()\u003c/code\u003e expressions, including exceptions during color resolution. (\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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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/a23bfb72b5a3fc776db51ae1bccabf46af8a9e38\"\u003e\u003ccode\u003ea23bfb7\u003c/code\u003e\u003c/a\u003e 30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/64a75d240db0744cbfeff6f740b07c4da47cee99\"\u003e\u003ccode\u003e64a75d2\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/7bf9653bf12f8ed61255fddf065b1f27afbb6993\"\u003e\u003ccode\u003e7bf9653\u003c/code\u003e\u003c/a\u003e Invalidate styles after CSSOM and control state changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/fe9009c91a09dedd6519c65d8d5b266cce400fa2\"\u003e\u003ccode\u003efe9009c\u003c/code\u003e\u003c/a\u003e Update focused area handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a8d28b3ec0ae3f747a2a8bd2547517c358d00f9a\"\u003e\u003ccode\u003ea8d28b3\u003c/code\u003e\u003c/a\u003e Release windows retained by stylesheet parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/05a2c01549640ad820f6681e0549bf4aab316bbf\"\u003e\u003ccode\u003e05a2c01\u003c/code\u003e\u003c/a\u003e Deduplicate generated CSS property metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/1efa190736aa040ac1264e9009fa809d45d98c28\"\u003e\u003ccode\u003e1efa190\u003c/code\u003e\u003c/a\u003e Reduce generated CSS property data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a372e12fd6eeedadc16c11a12e7c155b8cba7c46\"\u003e\u003ccode\u003ea372e12\u003c/code\u003e\u003c/a\u003e Avoid Document named-property rebuilds after irrelevant tree mutations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b2cd235170228c83cafe6d0ff542419aa7fa6221\"\u003e\u003ccode\u003eb2cd235\u003c/code\u003e\u003c/a\u003e Update css-color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0542d2b8efe917ed37423d37f63488851613058d\"\u003e\u003ccode\u003e0542d2b\u003c/code\u003e\u003c/a\u003e Release idle MutationObserver bookkeeping\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.1.0...v30.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lint-staged` from 17.5.1 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/lint-staged/lint-staged/releases\"\u003elint-staged's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.6.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1850\"\u003e#1850\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/938d3f43d07cbd74f08052dfb8a7380ce8868180\"\u003e\u003ccode\u003e938d3f4\u003c/code\u003e\u003c/a\u003e - Task functions like \u003ccode\u003e{ title, task }\u003c/code\u003e can now use a logger function \u003ccode\u003elog()\u003c/code\u003e to emit output while the task runs. By default, the output will only be visible if the task fails, unless the \u003ccode\u003e--verbose\u003c/code\u003e option was used. Additionally, when the task rejects, the error will be shown in the output.\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { defineConfig } from 'lint-staged/config'\n\u003cp\u003eexport default defineConfig({\n'*': {\ntitle: 'Fail if PDF files are committed',\ntask: async (filepaths, { log }) =\u0026gt; {\nconst pdfFiles = filepaths.filter((f) =\u0026gt; f.toLowerCase().endsWith('.pdf'))\nif (pdfFiles.length \u0026gt; 0) {\nlog('PDF files should not be committed: %s', pdfFiles)\nthrow new Error('Failed')\n}\n},\n},\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/lint-staged/lint-staged/pull/1854\"\u003e#1854\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/30562bcbc5267bdb733c257c79c0a65c34465ba3\"\u003e\u003ccode\u003e30562bc\u003c/code\u003e\u003c/a\u003e - \u003cem\u003elint-staged\u003c/em\u003e now stages changes to \u003cstrong\u003eall tracked files modified by tasks\u003c/strong\u003e, including files that weren’t originally staged or didn’t match the configured globs. This can happen when your task has side-effects, or it's a function that ignores the staged files like \u003ccode\u003e() =\u0026gt; \u0026quot;prettier --write .\u0026quot;\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eIf you have unstaged changes in a file and the task also edits that file, your unstaged changes will be staged too. Use \u003ccode\u003e--hide-unstaged\u003c/code\u003e to hide your changes while tasks run.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1860\"\u003e#1860\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/4296532155fb893ab8f754a47f3518f691fd4d98\"\u003e\u003ccode\u003e4296532\u003c/code\u003e\u003c/a\u003e - The assignment of staged files to \u003cem\u003elint-staged\u003c/em\u003e configuration files (when using multiple, for example in a monorepo) has been rewritten to be more efficient. As a reminder, each staged file is assigned to exactly one configuration (the closest one), even if that config doesn't match the file in its globs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1861\"\u003e#1861\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/c45f28af47a540730de2bf22fddedeb8fac5952a\"\u003e\u003ccode\u003ec45f28a\u003c/code\u003e\u003c/a\u003e - Fix running parallel tasks for a single glob, when tasks are created by a function. Nesting one level of arrays inside an array of tasks will result in the inner tasks running in parallel. This behavior should now be consistent when creating tasks using functions. In the following example \u003ccode\u003eeslint\u003c/code\u003e and \u003ccode\u003eprettier\u003c/code\u003e will run in parallel (for all files, when any JS files are staged):\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { defineConfig } from 'lint-staged/config'\n\u003cp\u003eexport default defineConfig({\n'*.js': () =\u0026gt; [['eslint --max-warnings=0 .', 'prettier --list-different .']],\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/lint-staged/lint-staged/pull/1859\"\u003e#1859\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/f0ea69dc67399e504a08db67594f697d4c24df6d\"\u003e\u003ccode\u003ef0ea69d\u003c/code\u003e\u003c/a\u003e - Various performance improvements from skipping redundant internal Git calls.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1856\"\u003e#1856\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/69d7d17ca6d3b10f2ececf8b2756c1927a627821\"\u003e\u003ccode\u003e69d7d17\u003c/code\u003e\u003c/a\u003e - Partially staged changes are hidden in a uniquely-named patch file to avoid multiple invocations of \u003cem\u003elint-staged\u003c/em\u003e overwriting it. This makes it safer to run \u003cem\u003elint-staged\u003c/em\u003e in multiple worktrees at the same time.\u003c/p\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/lint-staged/lint-staged/blob/main/CHANGELOG.md\"\u003elint-staged's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e17.6.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1850\"\u003e#1850\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/938d3f43d07cbd74f08052dfb8a7380ce8868180\"\u003e\u003ccode\u003e938d3f4\u003c/code\u003e\u003c/a\u003e - Task functions like \u003ccode\u003e{ title, task }\u003c/code\u003e can now use a logger function \u003ccode\u003elog()\u003c/code\u003e to emit output while the task runs. By default, the output will only be visible if the task fails, unless the \u003ccode\u003e--verbose\u003c/code\u003e option was used. Additionally, when the task rejects, the error will be shown in the output.\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { defineConfig } from 'lint-staged/config'\n\u003cp\u003eexport default defineConfig({\n'*': {\ntitle: 'Fail if PDF files are committed',\ntask: async (filepaths, { log }) =\u0026gt; {\nconst pdfFiles = filepaths.filter((f) =\u0026gt; f.toLowerCase().endsWith('.pdf'))\nif (pdfFiles.length \u0026gt; 0) {\nlog('PDF files should not be committed: %s', pdfFiles)\nthrow new Error('Failed')\n}\n},\n},\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/lint-staged/lint-staged/pull/1854\"\u003e#1854\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/30562bcbc5267bdb733c257c79c0a65c34465ba3\"\u003e\u003ccode\u003e30562bc\u003c/code\u003e\u003c/a\u003e - \u003cem\u003elint-staged\u003c/em\u003e now stages changes to \u003cstrong\u003eall tracked files modified by tasks\u003c/strong\u003e, including files that weren’t originally staged or didn’t match the configured globs. This can happen when your task has side-effects, or it's a function that ignores the staged files like \u003ccode\u003e() =\u0026gt; \u0026quot;prettier --write .\u0026quot;\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eIf you have unstaged changes in a file and the task also edits that file, your unstaged changes will be staged too. Use \u003ccode\u003e--hide-unstaged\u003c/code\u003e to hide your changes while tasks run.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1860\"\u003e#1860\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/4296532155fb893ab8f754a47f3518f691fd4d98\"\u003e\u003ccode\u003e4296532\u003c/code\u003e\u003c/a\u003e - The assignment of staged files to \u003cem\u003elint-staged\u003c/em\u003e configuration files (when using multiple, for example in a monorepo) has been rewritten to be more efficient. As a reminder, each staged file is assigned to exactly one configuration (the closest one), even if that config doesn't match the file in its globs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1861\"\u003e#1861\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/c45f28af47a540730de2bf22fddedeb8fac5952a\"\u003e\u003ccode\u003ec45f28a\u003c/code\u003e\u003c/a\u003e - Fix running parallel tasks for a single glob, when tasks are created by a function. Nesting one level of arrays inside an array of tasks will result in the inner tasks running in parallel. This behavior should now be consistent when creating tasks using functions. In the following example \u003ccode\u003eeslint\u003c/code\u003e and \u003ccode\u003eprettier\u003c/code\u003e will run in parallel (for all files, when any JS files are staged):\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eimport { defineConfig } from 'lint-staged/config'\n\u003cp\u003eexport default defineConfig({\n'*.js': () =\u0026gt; [['eslint --max-warnings=0 .', 'prettier --list-different .']],\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/lint-staged/lint-staged/pull/1859\"\u003e#1859\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/f0ea69dc67399e504a08db67594f697d4c24df6d\"\u003e\u003ccode\u003ef0ea69d\u003c/code\u003e\u003c/a\u003e - Various performance improvements from skipping redundant internal Git calls.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1856\"\u003e#1856\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/69d7d17ca6d3b10f2ececf8b2756c1927a627821\"\u003e\u003ccode\u003e69d7d17\u003c/code\u003e\u003c/a\u003e - Partially staged changes are hidden in a uniquely-named patch file to avoid multiple invocations of \u003cem\u003elint-staged\u003c/em\u003e overwriting it. This makes it safer to run \u003cem\u003elint-staged\u003c/em\u003e in multiple worktrees at the same time.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/48f9f4ea4b88eb605de3546e4599083de7a394b2\"\u003e\u003ccode\u003e48f9f4e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1857\"\u003e#1857\u003c/a\u003e from lint-staged/changeset-release/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/16b2e213efeec330f7e1576a8d35776822bf698a\"\u003e\u003ccode\u003e16b2e21\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/195f15677da877431b63dfd001e1ed9369bb1479\"\u003e\u003ccode\u003e195f156\u003c/code\u003e\u003c/a\u003e docs: improve changeset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/0ba6261cabfdade60e487385ebec4fc2b4b44309\"\u003e\u003ccode\u003e0ba6261\u003c/code\u003e\u003c/a\u003e fix: create hidden directory only when required\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/66ac2de6f71d19256cc5d11026d37e653af11549\"\u003e\u003ccode\u003e66ac2de\u003c/code\u003e\u003c/a\u003e docs: fixes to changesets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/80af8d7f8246c4246cdf8b53229bd1bf7763f959\"\u003e\u003ccode\u003e80af8d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1863\"\u003e#1863\u003c/a\u003e from lint-staged/fix-issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e4334881d49d94669bc2b2fb5a73705d822c69bb\"\u003e\u003ccode\u003ee433488\u003c/code\u003e\u003c/a\u003e fix: handle task editing a symlinked file to a regular file, and --fail-on-ch...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e5019b32138e301c777c683f95e4a1e17362845f\"\u003e\u003ccode\u003ee5019b3\u003c/code\u003e\u003c/a\u003e fix: handle trailing newlines when detecting changed files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/74efec85fa276618837d3c4602062ef30d16abf1\"\u003e\u003ccode\u003e74efec8\u003c/code\u003e\u003c/a\u003e ci: run Cygwin and MSYS2 tests on Node.js 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/655b7dcd9f7eb57a6f574f03be371190afeb9f5c\"\u003e\u003ccode\u003e655b7dc\u003c/code\u003e\u003c/a\u003e fix: use TypeScript types instead of JSDoc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lint-staged/lint-staged/compare/v17.5.1...v17.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.9.8 to 3.9.9\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.9.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\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.9.9/CHANGELOG.md#399\"\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.9.9\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.8...3.9.9\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"md\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here.\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.8 --\u0026gt;\u003cbr /\u003e\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003efrom\u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.9 --\u0026gt;\u003cbr /\u003e\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003e from \u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\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/prettier/prettier/commit/cdd17f2288b28b170a76416c72dac56e3ea5daff\"\u003e\u003ccode\u003ecdd17f2\u003c/code\u003e\u003c/a\u003e Release 3.9.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dc7b8968e678f51ea00e2be3fe8c717d114691a3\"\u003e\u003ccode\u003edc7b896\u003c/code\u003e\u003c/a\u003e Disable \u003ccode\u003esingleDollarTextMath\u003c/code\u003e in \u003ccode\u003emdast-util-math\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/20140\"\u003e#20140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/f9be58fb8ec62dd47197ea19a30aac5ad26dfee0\"\u003e\u003ccode\u003ef9be58f\u003c/code\u003e\u003c/a\u003e Git blame ignore 3.9.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/88470cb79ca3b757dd6b93906d9a992aa1a456c3\"\u003e\u003ccode\u003e88470cb\u003c/code\u003e\u003c/a\u003e Bump Prettier dependency to 3.9.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/9559cab39eb5082c99a27e8829760c055adba841\"\u003e\u003ccode\u003e9559cab\u003c/code\u003e\u003c/a\u003e Clean changelog_unreleased\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/4fc8ee87465de8d54780273a6996d74e8e9da827\"\u003e\u003ccode\u003e4fc8ee8\u003c/code\u003e\u003c/a\u003e Update dependents count\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prettier/prettier/compare/3.9.8...3.9.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tsx` from 4.23.14 to 4.23.15\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.23.15\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.23.14...v4.23.15\"\u003e4.23.15\u003c/a\u003e (2026-09-20)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eexclude bare builtins from namespace inheritance (\u003ca href=\"https://github.com/privatenumber/tsx/commit/38e158857e50bca311be7c232a5057e5a2e5347a\"\u003e38e1588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose require.cache and require.extensions to tsImport CommonJS modules (\u003ca href=\"https://github.com/privatenumber/tsx/commit/2da34075afaed43e2b7fd0aca5fbebaaf337ff3a\"\u003e2da3407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake namespaced register() overloads portable for declaration emit (\u003ca href=\"https://github.com/privatenumber/tsx/commit/562c434a5c8695e74327bbeb51cfeb9b86fc7e15\"\u003e562c434\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.23.15\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\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/privatenumber/tsx/commit/ca66105a17a2a4c6503fe3a12b5b9ec408286011\"\u003e\u003ccode\u003eca66105\u003c/code\u003e\u003c/a\u003e test: fix drive-less file URLs in ESM resolver fixtures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/2da34075afaed43e2b7fd0aca5fbebaaf337ff3a\"\u003e\u003ccode\u003e2da3407\u003c/code\u003e\u003c/a\u003e fix: expose require.cache and require.extensions to tsImport CommonJS modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/38e158857e50bca311be7c232a5057e5a2e5347a\"\u003e\u003ccode\u003e38e1588\u003c/code\u003e\u003c/a\u003e fix: exclude bare builtins from namespace inheritance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/562c434a5c8695e74327bbeb51cfeb9b86fc7e15\"\u003e\u003ccode\u003e562c434\u003c/code\u003e\u003c/a\u003e fix: make namespaced register() overloads portable for declaration emit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/edfb1f05a3f40b879a41a03a0801c2abd3a3ecf9\"\u003e\u003ccode\u003eedfb1f0\u003c/code\u003e\u003c/a\u003e build: upgrade pkgroll and externalize CJS loader reference\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/70e78284837c859f09b96cd10cd71d007aa4b795\"\u003e\u003ccode\u003e70e7828\u003c/code\u003e\u003c/a\u003e test: upgrade tinyspy for disposable API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/9ed2022dfa9ea1be9511fe6abcde8110c25055a7\"\u003e\u003ccode\u003e9ed2022\u003c/code\u003e\u003c/a\u003e ci: avoid duplicate release notifications\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/872e77ffc5e96ca5c4727e74c0694debcb26219b\"\u003e\u003ccode\u003e872e77f\u003c/code\u003e\u003c/a\u003e refactor: use disposables for cleanup\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.23.14...v4.23.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 5.0.1 to 5.0.3\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\u003ev5.0.3\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIsolate \u003ccode\u003eresult.status\u003c/code\u003e between \u003ccode\u003erepeats\u003c/code\u003e runs  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11218\"\u003evitest-dev/vitest#11218\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5dbebe9e3\"\u003e\u003c!-- raw HTML omitted --\u003e(5dbeb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't print an interceptor warning in browser mode  -  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/11377\"\u003evitest-dev/vitest#11377\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/15cc006aa\"\u003e\u003c!-- raw HTML omitted --\u003e(15cc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't retry when \u003ccode\u003etest.fails\u003c/code\u003e expectedly failed  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11219\"\u003evitest-dev/vitest#11219\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b24585f08\"\u003e\u003c!-- raw HTML omitted --\u003e(b2458)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eScope cache key generators to projects  -  by \u003ca href=\"https://github.com/ecoyoung\"\u003e\u003ccode\u003e@​ecoyoung\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11281\"\u003evitest-dev/vitest#11281\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11301\"\u003evitest-dev/vitest#11301\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/92ba7fc1d\"\u003e\u003c!-- raw HTML omitted --\u003e(92ba7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDelay server \u003ccode\u003elisten\u003c/code\u003e until tests start running  -  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/11366\"\u003evitest-dev/vitest#11366\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d8ed3e9b\"\u003e\u003c!-- raw HTML omitted --\u003e(7d8ed)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck mock path boundaries  -  by \u003ca href=\"https://github.com/saryn17\"\u003e\u003ccode\u003e@​saryn17\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eRyosei Sato\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/11361\"\u003evitest-dev/vitest#11361\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11362\"\u003evitest-dev/vitest#11362\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1c3888bce\"\u003e\u003c!-- raw HTML omitted --\u003e(1c388)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep config of browser-consumed environments  -  by \u003ca href=\"https://github.com/kasperpeulen\"\u003e\u003ccode\u003e@​kasperpeulen\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11378\"\u003evitest-dev/vitest#11378\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/aafc0996f\"\u003e\u003c!-- raw HTML omitted --\u003e(aafc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore page crash while cancelling  -  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/11386\"\u003evitest-dev/vitest#11386\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c36748fa\"\u003e\u003c!-- raw HTML omitted --\u003e(7c367)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etoMatchScreenshot\u003c/code\u003e uses wrong reference on retried tests  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.c...\n\n_Description has been truncated_","html_url":"https://github.com/BasileChretien/sigmacv/pull/537","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/BasileChretien%2Fsigmacv/issues/537","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/537/packages"}},{"old_version":"30.0.1","new_version":"30.1.1","update_type":"minor","path":null,"pr_created_at":"2026-10-07T00:16:58.000Z","version_change":"30.0.1 → 30.1.1","issue":{"uuid":"5737209479","node_id":"PR_kwDOInNSaM8AAAABHBWbQg","number":2421,"state":"open","title":"Bump the production group with 13 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-07T00:16:58.000Z","updated_at":"2026-10-07T12:03:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production","update_count":13,"packages":[{"name":"@alveusgg/data","old_version":"0.79.0","new_version":"0.79.1","repository_url":"https://github.com/alveusgg/data"},{"name":"@aws-sdk/client-s3","old_version":"3.1138.0","new_version":"3.1143.0","repository_url":"https://github.com/aws/aws-sdk-js-v3"},{"name":"@aws-sdk/s3-request-presigner","old_version":"3.1138.0","new_version":"3.1143.0","repository_url":"https://github.com/aws/aws-sdk-js-v3"},{"name":"@upstash/ratelimit","old_version":"2.0.8","new_version":"2.2.0","repository_url":"https://github.com/upstash/ratelimit-js"},{"name":"@xyflow/react","old_version":"12.11.6","new_version":"12.12.0","repository_url":"https://github.com/xyflow/xyflow"},{"name":"csv-stringify","old_version":"6.8.3","new_version":"6.9.0","repository_url":"https://github.com/adaltas/node-csv"},{"name":"dompurify","old_version":"3.4.15","new_version":"3.4.16","repository_url":"https://github.com/cure53/DOMPurify"},{"name":"html-react-parser","old_version":"6.1.7","new_version":"6.1.8","repository_url":"https://github.com/remarkablemark/html-react-parser"},{"name":"jsdom","old_version":"30.0.1","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"maplibre-gl","old_version":"6.11.1","new_version":"6.11.2","repository_url":"https://github.com/maplibre/maplibre-gl-js"},{"name":"motion","old_version":"13.2.0","new_version":"13.4.6","repository_url":"https://github.com/motiondivision/motion"},{"name":"react-error-boundary","old_version":"6.1.5","new_version":"6.1.6","repository_url":"https://github.com/bvaughn/react-error-boundary"},{"name":"hono","old_version":"4.13.8","new_version":"4.13.11","repository_url":"https://github.com/honojs/hono"}],"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 production group with 13 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@alveusgg/data](https://github.com/alveusgg/data) | `0.79.0` | `0.79.1` |\n| [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.1138.0` | `3.1143.0` |\n| [@aws-sdk/s3-request-presigner](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner) | `3.1138.0` | `3.1143.0` |\n| [@upstash/ratelimit](https://github.com/upstash/ratelimit-js) | `2.0.8` | `2.2.0` |\n| [@xyflow/react](https://github.com/xyflow/xyflow/tree/HEAD/packages/react) | `12.11.6` | `12.12.0` |\n| [csv-stringify](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-stringify) | `6.8.3` | `6.9.0` |\n| [dompurify](https://github.com/cure53/DOMPurify) | `3.4.15` | `3.4.16` |\n| [html-react-parser](https://github.com/remarkablemark/html-react-parser) | `6.1.7` | `6.1.8` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.0.1` | `30.1.1` |\n| [maplibre-gl](https://github.com/maplibre/maplibre-gl-js) | `6.11.1` | `6.11.2` |\n| [motion](https://github.com/motiondivision/motion) | `13.2.0` | `13.4.6` |\n| [react-error-boundary](https://github.com/bvaughn/react-error-boundary) | `6.1.5` | `6.1.6` |\n| [hono](https://github.com/honojs/hono) | `4.13.8` | `4.13.11` |\n\nUpdates `@alveusgg/data` from 0.79.0 to 0.79.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alveusgg/data/commit/2c7e48aba9e307b5740855a19a35d0a90de71d5b\"\u003e\u003ccode\u003e2c7e48a\u003c/code\u003e\u003c/a\u003e Remove birth date for colonies (\u003ca href=\"https://redirect.github.com/alveusgg/data/issues/332\"\u003e#332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alveusgg/data/commit/aee12cd572ad1afc9f17db28b5f140af8617265f\"\u003e\u003ccode\u003eaee12cd\u003c/code\u003e\u003c/a\u003e Bump the development group with 4 updates (\u003ca href=\"https://redirect.github.com/alveusgg/data/issues/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alveusgg/data/commit/1b203e8181eba583ad5fba250ceaa1c978b11f08\"\u003e\u003ccode\u003e1b203e8\u003c/code\u003e\u003c/a\u003e Bump the development group across 1 directory with 4 updates (\u003ca href=\"https://redirect.github.com/alveusgg/data/issues/330\"\u003e#330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/alveusgg/data/compare/0.79.0...0.79.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@aws-sdk/client-s3` from 3.1138.0 to 3.1143.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-js-v3/releases\"\u003e@​aws-sdk/client-s3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1143.0\u003c/h2\u003e\n\u003ch4\u003e3.1143.0(2026-09-29)\u003c/h4\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient-inspector2:\u003c/strong\u003e  The ListFindingAggregations API now includes Low, Informational, and Untriaged counts alongside the existing severity counts in SeverityCounts. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/523ef40220620bd79aa004d6f67840c3133e1eec\"\u003e523ef402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-appstream:\u003c/strong\u003e  Add support for NVIDIA GRID driver version metadata in Workspace Applications image responses through the new ImageSoftwareMetadata field. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/87e9c22fa0785b557e3088ad3b1241488c36556b\"\u003e87e9c22f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-bedrock-agent-runtime:\u003c/strong\u003e  Amazon Bedrock Agentic Retrieve now supports the Bedrock Mantle (OpenAI Responses) endpoint via a new MantleFoundationModel configuration with an optional projectId. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/9529fe9e8ef1a92a5b0e782e0c9d1482f535c42b\"\u003e9529fe9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-sagemaker:\u003c/strong\u003e  Adds support for cpu flex type instances on SageMaker Training and Processing. Also contains minor updates to DescribeTrainingPlan to support ARN inputs. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/ca45f9e935ea650158af9afec74f2fdf96750cca\"\u003eca45f9e9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-opensearch:\u003c/strong\u003e  Amazon OpenSearch Service now supports advisory pre-validations for domain config changes. Non-critical checks now surface as warnings you can acknowledge (via the new AcceptedWarnings parameter) and proceed, instead of hard-blocking. Severity is reported in change-progress and dry-run results. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/2419dc69e0b38ed27c569e2cad2a6440ee7f5a81\"\u003e2419dc69\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-securityagent:\u003c/strong\u003e  Adds support for Azure DevOps and Bitbucket Data Center integration providers. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8fda1d1640f54a7a6346f6d18d6aa681f806a280\"\u003e8fda1d16\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-transfer:\u003c/strong\u003e  AWS Transfer Family now supports configuring up to three custom ports on public SFTP servers, instead of the single default port 22. You can also set each port's communication mode (server-talk-first or client-talk-first) so legacy and modern SFTP clients connect reliably. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/b5745934ce4f8cb3f054a1562866b5b6c15df80c\"\u003eb5745934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-mediatailor:\u003c/strong\u003e  AWS Elemental MediaTailor now supports beaconing configuration on playback configurations. In Insights reporting mode, MediaTailor will now gather client side beaconing metrics. Set the reporting mode to Disabled to turn this off. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/99e75af39ef631d89a3fdf1bf3667699829a3273\"\u003e99e75af3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-deadline:\u003c/strong\u003e  AWS Deadline Cloud now supports Docker software add-ons on service-managed fleets. Adds support for Open Job Description EXPR and Feature Bundle 1 job templates with typed job parameters and job, step, and parameter names up to 512 characters. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/33fcaa7bc7018afb77a5f918d9adc147cfb27666\"\u003e33fcaa7b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-identitystore:\u003c/strong\u003e  Add support for network access controls to restrict Identity Store API and SCIM access to trusted networks, optimistic locking for users and groups via resource revisions, and resource ARNs as identifiers in requests. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/b1ec66e6f34cb11a7326d83560d7812d6515fc03\"\u003eb1ec66e6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-elementalinference:\u003c/strong\u003e  Adds an extendedAnalysis setting to contextual metadata outputs to control detection of people, environments, brands, and on-screen text, and updates the summaryGeneration documentation. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/c121ec60ca55614ab2106d5b6296fd871ca45c53\"\u003ec121ec60\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-elasticache:\u003c/strong\u003e  Amazon ElastiCache Serverless now supports public endpoints for Valkey caches. With the new Connection Type parameter, you can create a serverless cache accessible over the internet without any VPC configuration. Public endpoint caches require IAM authentication. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/c674d6c7c9cb81956bc33864b996e1516ba4dfe3\"\u003ec674d6c7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-ec2:\u003c/strong\u003e  Adds the LaunchStatus field to CapacityReservation in the DescribeCapacityReservations response. This field indicates whether you can currently launch instances into an UltraServer. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/5bb9e1160a914a0c45cfe017bcc60450bd439be9\"\u003e5bb9e116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-glue:\u003c/strong\u003e  Add support for Glue system-managed materialized views. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/bddd698de450c58a1097b54ff321e951b7bd0dd3\"\u003ebddd698d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-rds:\u003c/strong\u003e  Adds the TargetResourceConfigurations parameter to CreateBlueGreenDeployment, letting you specify a target KMS key for each resource in the green environment. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6875fe52a1ed468629bbec18be8e10200ee5317b\"\u003e6875fe52\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-sesv2:\u003c/strong\u003e  Added Filter support for ListTenants, ListEmailIdentities, and ListConfigurationSets APIs. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/aa080a6f76a996c62f1613f68fa2e34ccdf08308\"\u003eaa080a6f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eBug Fixes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elib-transfer-manager:\u003c/strong\u003e  retry worker path download part failures (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8285\"\u003e#8285\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/13f49fff196a19bca13f69f153d57a2262055e5c\"\u003e13f49fff\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eTests\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eundici-http-handler:\u003c/strong\u003e  temporarily skip e2e test (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8320\"\u003e#8320\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/2c59e39469a7c32c1aca8b82d908b8abc7a7a7e4\"\u003e2c59e394\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eFor list of updated packages, view \u003cstrong\u003eupdated-packages.md\u003c/strong\u003e in \u003cstrong\u003eassets-3.1143.0.zip\u003c/strong\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1142.0\u003c/h2\u003e\n\u003ch4\u003e3.1142.0(2026-09-28)\u003c/h4\u003e\n\u003ch5\u003eChores\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eci:\u003c/strong\u003e  add format-check workflow for lint and formatting (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8316\"\u003e#8316\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6f16c4331a9251f6763b14c0d8901909c96f46d9\"\u003e6f16c433\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient-billing:\u003c/strong\u003e  Adds support for (a) listing Business Support account charges via ListBusinessSupportAccountCharges and (b) subscription history via ListBusinessSupportSubscriptionHistory through the AWS Billing API. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6352ff06030a0253a1175853aa1723fa05b9de8a\"\u003e6352ff06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-eks:\u003c/strong\u003e  An optional customer provided prefix used to construct the hostname of the Argo CD server endpoint for EKS Argo CD Capability. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/373ebbd8a9b9b6adddadc8c12e935782357c74e2\"\u003e373ebbd8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-agent-registry-control:\u003c/strong\u003e  AWS Agent Registry adds support for custom metadata. Define a typed metadata schema on your registry and attach structured key-value metadata to registry records. Schemas are additive only. Enforcement is progressive. Records show a compliance status computed against the current schema. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/19adcfee1c1c18c21ccc32cbff2c8f1e4347cad7\"\u003e19adcfee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-ec2:\u003c/strong\u003e  API changes to AWS Client VPN to support device posture assessment and Cedar authorization policies (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6afa3ce42e13620f18ae182d0fc1ab2fb91bc742\"\u003e6afa3ce4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-connect:\u003c/strong\u003e  This release adds ConnectionTypes and ChatStreamingConfiguration to StartChatContact, and ConnectionCredentials, Websocket, and StreamingId to its response, so customers can request connection information and chat streaming in the same call that starts the chat. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/21e76d11be702bb166ef281ac2e14b56e290c13a\"\u003e21e76d11\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-guardduty:\u003c/strong\u003e  Adding awsServiceName field to GuardDuty Findings (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/f466e44ecbad61490397a2ecd51d8ea197c76ded\"\u003ef466e44e\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/aws/aws-sdk-js-v3/blob/main/clients/client-s3/CHANGELOG.md\"\u003e@​aws-sdk/client-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1142.0...v3.1143.0\"\u003e3.1143.0\u003c/a\u003e (2026-09-29)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1141.0...v3.1142.0\"\u003e3.1142.0\u003c/a\u003e (2026-09-28)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1140.0...v3.1141.0\"\u003e3.1141.0\u003c/a\u003e (2026-09-25)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1139.0...v3.1140.0\"\u003e3.1140.0\u003c/a\u003e (2026-09-24)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1138.0...v3.1139.0\"\u003e3.1139.0\u003c/a\u003e (2026-09-23)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\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/aws/aws-sdk-js-v3/commit/81afad00ca9394ca4d767468216743ac3ba90fb1\"\u003e\u003ccode\u003e81afad0\u003c/code\u003e\u003c/a\u003e Publish v3.1143.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/c935fdd2bc9b36c689ef8e17b75c57bf9a780990\"\u003e\u003ccode\u003ec935fdd\u003c/code\u003e\u003c/a\u003e Publish v3.1142.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/5bc8d9a96936723ac90d721e0c5a2bff7ee8520d\"\u003e\u003ccode\u003e5bc8d9a\u003c/code\u003e\u003c/a\u003e Publish v3.1141.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6050a3813c26795562b5ada8b0d9ea498eb9f8a1\"\u003e\u003ccode\u003e6050a38\u003c/code\u003e\u003c/a\u003e Publish v3.1140.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/03d54a858f80012bbc60046a77242223e8dfd9d9\"\u003e\u003ccode\u003e03d54a8\u003c/code\u003e\u003c/a\u003e Publish v3.1139.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commits/v3.1143.0/clients/client-s3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@aws-sdk/s3-request-presigner` from 3.1138.0 to 3.1143.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-js-v3/releases\"\u003e@​aws-sdk/s3-request-presigner's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1143.0\u003c/h2\u003e\n\u003ch4\u003e3.1143.0(2026-09-29)\u003c/h4\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient-inspector2:\u003c/strong\u003e  The ListFindingAggregations API now includes Low, Informational, and Untriaged counts alongside the existing severity counts in SeverityCounts. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/523ef40220620bd79aa004d6f67840c3133e1eec\"\u003e523ef402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-appstream:\u003c/strong\u003e  Add support for NVIDIA GRID driver version metadata in Workspace Applications image responses through the new ImageSoftwareMetadata field. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/87e9c22fa0785b557e3088ad3b1241488c36556b\"\u003e87e9c22f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-bedrock-agent-runtime:\u003c/strong\u003e  Amazon Bedrock Agentic Retrieve now supports the Bedrock Mantle (OpenAI Responses) endpoint via a new MantleFoundationModel configuration with an optional projectId. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/9529fe9e8ef1a92a5b0e782e0c9d1482f535c42b\"\u003e9529fe9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-sagemaker:\u003c/strong\u003e  Adds support for cpu flex type instances on SageMaker Training and Processing. Also contains minor updates to DescribeTrainingPlan to support ARN inputs. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/ca45f9e935ea650158af9afec74f2fdf96750cca\"\u003eca45f9e9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-opensearch:\u003c/strong\u003e  Amazon OpenSearch Service now supports advisory pre-validations for domain config changes. Non-critical checks now surface as warnings you can acknowledge (via the new AcceptedWarnings parameter) and proceed, instead of hard-blocking. Severity is reported in change-progress and dry-run results. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/2419dc69e0b38ed27c569e2cad2a6440ee7f5a81\"\u003e2419dc69\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-securityagent:\u003c/strong\u003e  Adds support for Azure DevOps and Bitbucket Data Center integration providers. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8fda1d1640f54a7a6346f6d18d6aa681f806a280\"\u003e8fda1d16\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-transfer:\u003c/strong\u003e  AWS Transfer Family now supports configuring up to three custom ports on public SFTP servers, instead of the single default port 22. You can also set each port's communication mode (server-talk-first or client-talk-first) so legacy and modern SFTP clients connect reliably. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/b5745934ce4f8cb3f054a1562866b5b6c15df80c\"\u003eb5745934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-mediatailor:\u003c/strong\u003e  AWS Elemental MediaTailor now supports beaconing configuration on playback configurations. In Insights reporting mode, MediaTailor will now gather client side beaconing metrics. Set the reporting mode to Disabled to turn this off. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/99e75af39ef631d89a3fdf1bf3667699829a3273\"\u003e99e75af3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-deadline:\u003c/strong\u003e  AWS Deadline Cloud now supports Docker software add-ons on service-managed fleets. Adds support for Open Job Description EXPR and Feature Bundle 1 job templates with typed job parameters and job, step, and parameter names up to 512 characters. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/33fcaa7bc7018afb77a5f918d9adc147cfb27666\"\u003e33fcaa7b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-identitystore:\u003c/strong\u003e  Add support for network access controls to restrict Identity Store API and SCIM access to trusted networks, optimistic locking for users and groups via resource revisions, and resource ARNs as identifiers in requests. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/b1ec66e6f34cb11a7326d83560d7812d6515fc03\"\u003eb1ec66e6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-elementalinference:\u003c/strong\u003e  Adds an extendedAnalysis setting to contextual metadata outputs to control detection of people, environments, brands, and on-screen text, and updates the summaryGeneration documentation. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/c121ec60ca55614ab2106d5b6296fd871ca45c53\"\u003ec121ec60\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-elasticache:\u003c/strong\u003e  Amazon ElastiCache Serverless now supports public endpoints for Valkey caches. With the new Connection Type parameter, you can create a serverless cache accessible over the internet without any VPC configuration. Public endpoint caches require IAM authentication. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/c674d6c7c9cb81956bc33864b996e1516ba4dfe3\"\u003ec674d6c7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-ec2:\u003c/strong\u003e  Adds the LaunchStatus field to CapacityReservation in the DescribeCapacityReservations response. This field indicates whether you can currently launch instances into an UltraServer. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/5bb9e1160a914a0c45cfe017bcc60450bd439be9\"\u003e5bb9e116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-glue:\u003c/strong\u003e  Add support for Glue system-managed materialized views. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/bddd698de450c58a1097b54ff321e951b7bd0dd3\"\u003ebddd698d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-rds:\u003c/strong\u003e  Adds the TargetResourceConfigurations parameter to CreateBlueGreenDeployment, letting you specify a target KMS key for each resource in the green environment. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6875fe52a1ed468629bbec18be8e10200ee5317b\"\u003e6875fe52\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-sesv2:\u003c/strong\u003e  Added Filter support for ListTenants, ListEmailIdentities, and ListConfigurationSets APIs. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/aa080a6f76a996c62f1613f68fa2e34ccdf08308\"\u003eaa080a6f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eBug Fixes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elib-transfer-manager:\u003c/strong\u003e  retry worker path download part failures (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8285\"\u003e#8285\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/13f49fff196a19bca13f69f153d57a2262055e5c\"\u003e13f49fff\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eTests\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eundici-http-handler:\u003c/strong\u003e  temporarily skip e2e test (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8320\"\u003e#8320\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/2c59e39469a7c32c1aca8b82d908b8abc7a7a7e4\"\u003e2c59e394\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eFor list of updated packages, view \u003cstrong\u003eupdated-packages.md\u003c/strong\u003e in \u003cstrong\u003eassets-3.1143.0.zip\u003c/strong\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1142.0\u003c/h2\u003e\n\u003ch4\u003e3.1142.0(2026-09-28)\u003c/h4\u003e\n\u003ch5\u003eChores\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eci:\u003c/strong\u003e  add format-check workflow for lint and formatting (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/8316\"\u003e#8316\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6f16c4331a9251f6763b14c0d8901909c96f46d9\"\u003e6f16c433\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient-billing:\u003c/strong\u003e  Adds support for (a) listing Business Support account charges via ListBusinessSupportAccountCharges and (b) subscription history via ListBusinessSupportSubscriptionHistory through the AWS Billing API. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6352ff06030a0253a1175853aa1723fa05b9de8a\"\u003e6352ff06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-eks:\u003c/strong\u003e  An optional customer provided prefix used to construct the hostname of the Argo CD server endpoint for EKS Argo CD Capability. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/373ebbd8a9b9b6adddadc8c12e935782357c74e2\"\u003e373ebbd8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-agent-registry-control:\u003c/strong\u003e  AWS Agent Registry adds support for custom metadata. Define a typed metadata schema on your registry and attach structured key-value metadata to registry records. Schemas are additive only. Enforcement is progressive. Records show a compliance status computed against the current schema. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/19adcfee1c1c18c21ccc32cbff2c8f1e4347cad7\"\u003e19adcfee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-ec2:\u003c/strong\u003e  API changes to AWS Client VPN to support device posture assessment and Cedar authorization policies (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6afa3ce42e13620f18ae182d0fc1ab2fb91bc742\"\u003e6afa3ce4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-connect:\u003c/strong\u003e  This release adds ConnectionTypes and ChatStreamingConfiguration to StartChatContact, and ConnectionCredentials, Websocket, and StreamingId to its response, so customers can request connection information and chat streaming in the same call that starts the chat. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/21e76d11be702bb166ef281ac2e14b56e290c13a\"\u003e21e76d11\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-guardduty:\u003c/strong\u003e  Adding awsServiceName field to GuardDuty Findings (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/f466e44ecbad61490397a2ecd51d8ea197c76ded\"\u003ef466e44e\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/aws/aws-sdk-js-v3/blob/main/packages/s3-request-presigner/CHANGELOG.md\"\u003e@​aws-sdk/s3-request-presigner's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1142.0...v3.1143.0\"\u003e3.1143.0\u003c/a\u003e (2026-09-29)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1141.0...v3.1142.0\"\u003e3.1142.0\u003c/a\u003e (2026-09-28)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1140.0...v3.1141.0\"\u003e3.1141.0\u003c/a\u003e (2026-09-25)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1139.0...v3.1140.0\"\u003e3.1140.0\u003c/a\u003e (2026-09-24)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1138.0...v3.1139.0\"\u003e3.1139.0\u003c/a\u003e (2026-09-23)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\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/aws/aws-sdk-js-v3/commit/81afad00ca9394ca4d767468216743ac3ba90fb1\"\u003e\u003ccode\u003e81afad0\u003c/code\u003e\u003c/a\u003e Publish v3.1143.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/c935fdd2bc9b36c689ef8e17b75c57bf9a780990\"\u003e\u003ccode\u003ec935fdd\u003c/code\u003e\u003c/a\u003e Publish v3.1142.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/5bc8d9a96936723ac90d721e0c5a2bff7ee8520d\"\u003e\u003ccode\u003e5bc8d9a\u003c/code\u003e\u003c/a\u003e Publish v3.1141.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6050a3813c26795562b5ada8b0d9ea498eb9f8a1\"\u003e\u003ccode\u003e6050a38\u003c/code\u003e\u003c/a\u003e Publish v3.1140.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/03d54a858f80012bbc60046a77242223e8dfd9d9\"\u003e\u003ccode\u003e03d54a8\u003c/code\u003e\u003c/a\u003e Publish v3.1139.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commits/v3.1143.0/packages/s3-request-presigner\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@upstash/ratelimit` from 2.0.8 to 2.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/upstash/ratelimit-js/releases\"\u003e@​upstash/ratelimit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: use last token successfully on cachedFixedWindow cache hits by \u003ca href=\"https://github.com/Tyagiquamar\"\u003e\u003ccode\u003e@​Tyagiquamar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/157\"\u003eupstash/ratelimit-js#157\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid negative setTimeout delay in blockUntilReady by \u003ca href=\"https://github.com/MisterJimson\"\u003e\u003ccode\u003e@​MisterJimson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/159\"\u003eupstash/ratelimit-js#159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject token-bucket requests that exceed the remaining tokens by \u003ca href=\"https://github.com/eeshsaxena\"\u003e\u003ccode\u003e@​eeshsaxena\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/156\"\u003eupstash/ratelimit-js#156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: support decimal values and week unit in duration parser by \u003ca href=\"https://github.com/Tyagiquamar\"\u003e\u003ccode\u003e@​Tyagiquamar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/158\"\u003eupstash/ratelimit-js#158\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/Tyagiquamar\"\u003e\u003ccode\u003e@​Tyagiquamar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/157\"\u003eupstash/ratelimit-js#157\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MisterJimson\"\u003e\u003ccode\u003e@​MisterJimson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/159\"\u003eupstash/ratelimit-js#159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eeshsaxena\"\u003e\u003ccode\u003e@​eeshsaxena\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/156\"\u003eupstash/ratelimit-js#156\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/upstash/ratelimit-js/compare/v2.1.0...v2.2.0\"\u003ehttps://github.com/upstash/ratelimit-js/compare/v2.1.0...v2.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDX-2363: add skill files by \u003ca href=\"https://github.com/CahidArda\"\u003e\u003ccode\u003e@​CahidArda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/148\"\u003eupstash/ratelimit-js#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDX-2278: update release to use npm OIDC by \u003ca href=\"https://github.com/CahidArda\"\u003e\u003ccode\u003e@​CahidArda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/149\"\u003eupstash/ratelimit-js#149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDX-2861: add sdk telemetry by \u003ca href=\"https://github.com/ytkimirti\"\u003e\u003ccode\u003e@​ytkimirti\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/153\"\u003eupstash/ratelimit-js#153\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: add npm bugs and homepage metadata, fix repository URL by \u003ca href=\"https://github.com/XananasX7\"\u003e\u003ccode\u003e@​XananasX7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/152\"\u003eupstash/ratelimit-js#152\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDX-2954: poll npm for the ci version instead of a fixed sleep by \u003ca href=\"https://github.com/CahidArda\"\u003e\u003ccode\u003e@​CahidArda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/155\"\u003eupstash/ratelimit-js#155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: run lua scripts with allow-key-locking flag by \u003ca href=\"https://github.com/CahidArda\"\u003e\u003ccode\u003e@​CahidArda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/154\"\u003eupstash/ratelimit-js#154\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/XananasX7\"\u003e\u003ccode\u003e@​XananasX7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/152\"\u003eupstash/ratelimit-js#152\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/upstash/ratelimit-js/compare/v2.0.8...v2.1.0\"\u003ehttps://github.com/upstash/ratelimit-js/compare/v2.0.8...v2.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.1.0-rc\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDX-2363: add skill files by \u003ca href=\"https://github.com/CahidArda\"\u003e\u003ccode\u003e@​CahidArda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/148\"\u003eupstash/ratelimit-js#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDX-2278: update release to use npm OIDC by \u003ca href=\"https://github.com/CahidArda\"\u003e\u003ccode\u003e@​CahidArda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/149\"\u003eupstash/ratelimit-js#149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDX-2861: add sdk telemetry by \u003ca href=\"https://github.com/ytkimirti\"\u003e\u003ccode\u003e@​ytkimirti\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/pull/153\"\u003eupstash/ratelimit-js#153\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/upstash/ratelimit-js/compare/v2.0.8...v2.1.0-rc\"\u003ehttps://github.com/upstash/ratelimit-js/compare/v2.0.8...v2.1.0-rc\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/upstash/ratelimit-js/commit/fccd840d6e0f893f50bc677107fba4d913a414e3\"\u003e\u003ccode\u003efccd840\u003c/code\u003e\u003c/a\u003e feat: support decimal values and week unit in duration parser (\u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/issues/158\"\u003e#158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/ratelimit-js/commit/a955a3c7cd99961efafa655040eb27847d4a5d33\"\u003e\u003ccode\u003ea955a3c\u003c/code\u003e\u003c/a\u003e Reject token-bucket requests that exceed the remaining tokens (\u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/issues/156\"\u003e#156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/ratelimit-js/commit/8f641c642bf078937b4f623b308ebf20ac358598\"\u003e\u003ccode\u003e8f641c6\u003c/code\u003e\u003c/a\u003e fix: avoid negative setTimeout delay in blockUntilReady (\u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/issues/159\"\u003e#159\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/ratelimit-js/commit/75a956e49149ea36a889a04949e415251da7bc8e\"\u003e\u003ccode\u003e75a956e\u003c/code\u003e\u003c/a\u003e fix: use last token successfully on cachedFixedWindow cache hits (\u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/issues/157\"\u003e#157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/ratelimit-js/commit/7e071b91d801a2e9345bbd751dc544b9b935e006\"\u003e\u003ccode\u003e7e071b9\u003c/code\u003e\u003c/a\u003e feat: run lua scripts with allow-key-locking flag (\u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/issues/154\"\u003e#154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/ratelimit-js/commit/89c481bf3b836a1ef5454c0615bc201e6386826b\"\u003e\u003ccode\u003e89c481b\u003c/code\u003e\u003c/a\u003e DX-2954: poll npm for the ci version instead of a fixed sleep (\u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/issues/155\"\u003e#155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/ratelimit-js/commit/91c0bad0afe4c41a35af5217bd331bf2b2611693\"\u003e\u003ccode\u003e91c0bad\u003c/code\u003e\u003c/a\u003e chore: add npm bugs and homepage metadata, fix repository URL (\u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/issues/152\"\u003e#152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/ratelimit-js/commit/f2fc2c724b9d1c33c729c3703fc112bf9a51727a\"\u003e\u003ccode\u003ef2fc2c7\u003c/code\u003e\u003c/a\u003e DX-2861: add sdk telemetry (\u003ca href=\"https://redirect.github.com/upstash/ratelimit-js/issues/153\"\u003e#153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/ratelimit-js/commit/5b5448a5f0bae809cd624a7c639771a8b2e227cb\"\u003e\u003ccode\u003e5b5448a\u003c/code\u003e\u003c/a\u003e DX-2479: fix package.version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/upstash/ratelimit-js/commit/589cc3e234bc06d8afc05abc9e1f035793e8e506\"\u003e\u003ccode\u003e589cc3e\u003c/code\u003e\u003c/a\u003e Rename skill from 'ratelimit-ts' to 'upstash-ratelimit-ts'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/upstash/ratelimit-js/compare/v2.0.8...v2.2.0\"\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@​upstash/ratelimit\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@xyflow/react` from 12.11.6 to 12.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/xyflow/xyflow/releases\"\u003e@​xyflow/react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​xyflow/react\u003c/code\u003e\u003ca href=\"https://github.com/12\"\u003e\u003ccode\u003e@​12\u003c/code\u003e\u003c/a\u003e.12.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/xyflow/xyflow/pull/5998\"\u003e#5998\u003c/a\u003e \u003ca href=\"https://github.com/xyflow/xyflow/commit/91a4adf4f901d2c59ed77486bc0d3ec6d3843423\"\u003e\u003ccode\u003e91a4adf\u003c/code\u003e\u003c/a\u003e - Always fire onResizeEnd after onResizeStart\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/xyflow/xyflow/pull/5998\"\u003e#5998\u003c/a\u003e \u003ca href=\"https://github.com/xyflow/xyflow/commit/91a4adf4f901d2c59ed77486bc0d3ec6d3843423\"\u003e\u003ccode\u003e91a4adf\u003c/code\u003e\u003c/a\u003e - Fix incorrect values during resize when shouldResize returns false\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/xyflow/xyflow/commit/91a4adf4f901d2c59ed77486bc0d3ec6d3843423\"\u003e\u003ccode\u003e91a4adf\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/xyflow/xyflow/commit/91a4adf4f901d2c59ed77486bc0d3ec6d3843423\"\u003e\u003ccode\u003e91a4adf\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​xyflow/system\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.0.83\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/xyflow/xyflow/blob/main/packages/react/CHANGELOG.md\"\u003e@​xyflow/react's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.12.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/xyflow/xyflow/pull/5998\"\u003e#5998\u003c/a\u003e \u003ca href=\"https://github.com/xyflow/xyflow/commit/91a4adf4f901d2c59ed77486bc0d3ec6d3843423\"\u003e\u003ccode\u003e91a4adf\u003c/code\u003e\u003c/a\u003e - Always fire onResizeEnd after onResizeStart\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/xyflow/xyflow/pull/5998\"\u003e#5998\u003c/a\u003e \u003ca href=\"https://github.com/xyflow/xyflow/commit/91a4adf4f901d2c59ed77486bc0d3ec6d3843423\"\u003e\u003ccode\u003e91a4adf\u003c/code\u003e\u003c/a\u003e - Fix incorrect values during resize when shouldResize returns false\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/xyflow/xyflow/commit/91a4adf4f901d2c59ed77486bc0d3ec6d3843423\"\u003e\u003ccode\u003e91a4adf\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/xyflow/xyflow/commit/91a4adf4f901d2c59ed77486bc0d3ec6d3843423\"\u003e\u003ccode\u003e91a4adf\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​xyflow/system\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.0.83\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xyflow/xyflow/commit/8716946b6b7f537a29049767f1a8d16c2965fe14\"\u003e\u003ccode\u003e8716946\u003c/code\u003e\u003c/a\u003e chore(packages): bump\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/xyflow/xyflow/commits/@xyflow/react@12.12.0/packages/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `csv-stringify` from 6.8.3 to 6.9.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/adaltas/node-csv/blob/master/packages/csv-stringify/CHANGELOG.md\"\u003ecsv-stringify's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/adaltas/node-csv/compare/csv-stringify@6.8.3...csv-stringify@6.9.0\"\u003e6.9.0\u003c/a\u003e (2026-09-25)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecsv-stringify:\u003c/strong\u003e expose csv error and normalize_options (\u003ca href=\"https://github.com/adaltas/node-csv/commit/963388da88d150e0ab2dafa2ad4382917c25cc06\"\u003e963388d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecsv-stringify:\u003c/strong\u003e do not alter the source record when columns is set (\u003ca href=\"https://redirect.github.com/adaltas/node-csv/issues/504\"\u003e#504\u003c/a\u003e) (\u003ca href=\"https://github.com/adaltas/node-csv/commit/041deff3f9b811e73ac0d151d00c605eaf2a00d6\"\u003e041deff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecsv-stringify:\u003c/strong\u003e preserve header cast context when eof is false (\u003ca href=\"https://redirect.github.com/adaltas/node-csv/issues/505\"\u003e#505\u003c/a\u003e) (\u003ca href=\"https://github.com/adaltas/node-csv/commit/a38ef064a099cdac907cd170d028d8ced3fb1c52\"\u003ea38ef06\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecsv-stringify:\u003c/strong\u003e preserve negative numeric values (\u003ca href=\"https://redirect.github.com/adaltas/node-csv/issues/510\"\u003e#510\u003c/a\u003e) (\u003ca href=\"https://github.com/adaltas/node-csv/commit/0002d56f882eb386510ee725d318f06bfeccc9cc\"\u003e0002d56\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecsv-stringify:\u003c/strong\u003e preserve objects returned by cast functions (\u003ca href=\"https://redirect.github.com/adaltas/node-csv/issues/509\"\u003e#509\u003c/a\u003e) (\u003ca href=\"https://github.com/adaltas/node-csv/commit/1742c9ff3386f9a20e3fdcf452322e75b3a19f1a\"\u003e1742c9f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecsv-stringify:\u003c/strong\u003e quote fields containing a carriage return (\u003ca href=\"https://redirect.github.com/adaltas/node-csv/issues/485\"\u003e#485\u003c/a\u003e) (\u003ca href=\"https://github.com/adaltas/node-csv/commit/d64d410b21cf126d410c79c9448b648531a2e8af\"\u003ed64d410\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/adaltas/node-csv/commit/594c6469c4a7376c1048d13c47859c2f91674206\"\u003e\u003ccode\u003e594c646\u003c/code\u003e\u003c/a\u003e chore(release): publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adaltas/node-csv/commit/9f041459c37f881ecf2f3a2610f7b76f5df89632\"\u003e\u003ccode\u003e9f04145\u003c/code\u003e\u003c/a\u003e build: latest dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adaltas/node-csv/commit/d64d410b21cf126d410c79c9448b648531a2e8af\"\u003e\u003ccode\u003ed64d410\u003c/code\u003e\u003c/a\u003e fix(csv-stringify): quote fields containing a carriage return (\u003ca href=\"https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-stringify/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adaltas/node-csv/commit/963388da88d150e0ab2dafa2ad4382917c25cc06\"\u003e\u003ccode\u003e963388d\u003c/code\u003e\u003c/a\u003e feat(csv-stringify): expose csv error and normalize_options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adaltas/node-csv/commit/041deff3f9b811e73ac0d151d00c605eaf2a00d6\"\u003e\u003ccode\u003e041deff\u003c/code\u003e\u003c/a\u003e fix(csv-stringify): do not alter the source record when columns is set (\u003ca href=\"https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-stringify/issues/504\"\u003e#504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adaltas/node-csv/commit/a38ef064a099cdac907cd170d028d8ced3fb1c52\"\u003e\u003ccode\u003ea38ef06\u003c/code\u003e\u003c/a\u003e fix(csv-stringify): preserve header cast context when eof is false (\u003ca href=\"https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-stringify/issues/505\"\u003e#505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adaltas/node-csv/commit/8d4173d6d8dbb375ba8699cfd1d83af93b921f80\"\u003e\u003ccode\u003e8d4173d\u003c/code\u003e\u003c/a\u003e build: latest dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adaltas/node-csv/commit/c8caa1ccd262151c7d11add8fb7b454ed1d447a9\"\u003e\u003ccode\u003ec8caa1c\u003c/code\u003e\u003c/a\u003e build: generate latest dist\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adaltas/node-csv/commit/3433750d78b890cb4c05c959af259e950c4ba473\"\u003e\u003ccode\u003e3433750\u003c/code\u003e\u003c/a\u003e test: eslint format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adaltas/node-csv/commit/6c45c9b2f5aac96b2097229749a3521840cf1dc2\"\u003e\u003ccode\u003e6c45c9b\u003c/code\u003e\u003c/a\u003e build: remove npx usage in package scripts\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/adaltas/node-csv/commits/csv-stringify@6.9.0/packages/csv-stringify\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dompurify` from 3.4.15 to 3.4.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cure53/DOMPurify/releases\"\u003edompurify's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDOMPurify 3.4.16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a problem with \u003ccode\u003eIN_PLACE\u003c/code\u003e node removal when working with hooks, thanks \u003ca href=\"https://github.com/manus-pi\"\u003e\u003ccode\u003e@​manus-pi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a problem with \u003ccode\u003eIN_PLACE\u003c/code\u003e sanitization and raw-text roots, thanks \u003ca href=\"https://github.com/h-t-m\"\u003e\u003ccode\u003e@​h-t-m\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a problem with ESM default exports landing in CommonJS declarations, thanks \u003ca href=\"https://github.com/ssi02014\"\u003e\u003ccode\u003e@​ssi02014\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrated from \u003ccode\u003erollup\u003c/code\u003e to \u003ccode\u003erolldown\u003c/code\u003e because performance, thanks \u003ca href=\"https://github.com/ssi02014\"\u003e\u003ccode\u003e@​ssi02014\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBumped several dependencies where possible\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/cure53/DOMPurify/commit/b9b9d80f7e401771c2ccaef5f45def7eec8f27d7\"\u003e\u003ccode\u003eb9b9d80\u003c/code\u003e\u003c/a\u003e release: 3.4.16 (\u003ca href=\"https://redirect.github.com/cure53/DOMPurify/issues/1636\"\u003e#1636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/cure53/DOMPurify/compare/3.4.15...3.4.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `html-react-parser` from 6.1.7 to 6.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/remarkablemark/html-react-parser/releases\"\u003ehtml-react-parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/compare/v6.1.7...v6.1.8\"\u003e6.1.8\u003c/a\u003e (2026-09-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erestore instanceof Text and Comment in replace callback (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2406\"\u003e#2406\u003c/a\u003e) (\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/e16b18709d3c4adeab636af75272767219bd9c1c\"\u003ee16b187\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2256\"\u003e#2256\u003c/a\u003e \u003ca href=\"https://github.com/ashwinmridul\"\u003e\u003ccode\u003e@​ashwinmridul\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/remarkablemark/html-react-parser/blob/master/CHANGELOG.md\"\u003ehtml-react-parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/compare/v6.1.7...v6.1.8\"\u003e6.1.8\u003c/a\u003e (2026-09-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erestore instanceof Text and Comment in replace callback (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2406\"\u003e#2406\u003c/a\u003e) (\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/e16b18709d3c4adeab636af75272767219bd9c1c\"\u003ee16b187\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2256\"\u003e#2256\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/remarkablemark/html-react-parser/commit/e3d02d1f5bb55830abef0dbee978d263e8e942dc\"\u003e\u003ccode\u003ee3d02d1\u003c/code\u003e\u003c/a\u003e chore(master): release 6.1.8 (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2407\"\u003e#2407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/8f377228935990c934b31141fa1c1bd7f6f88b1a\"\u003e\u003ccode\u003e8f37722\u003c/code\u003e\u003c/a\u003e build(package): upgrade devDependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/cd0228cf4f246ca7f5958fc6724d29be3998acbb\"\u003e\u003ccode\u003ecd0228c\u003c/code\u003e\u003c/a\u003e build(package): remove unused globals and tidy eslint config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/7e9e1b1a36855d40453e369ffa95e5d49d13e7ba\"\u003e\u003ccode\u003e7e9e1b1\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump rollup from 4.63.2 to 4.63.3 (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2408\"\u003e#2408\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/e16b18709d3c4adeab636af75272767219bd9c1c\"\u003e\u003ccode\u003ee16b187\u003c/code\u003e\u003c/a\u003e fix: restore instanceof Text and Comment in replace callback (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2406\"\u003e#2406\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/0c9092cc53c6f5320442dadc42e550bfb89b78b5\"\u003e\u003ccode\u003e0c9092c\u003c/code\u003e\u003c/a\u003e build(deps): bump codecov/codecov-action from 7.0.0 to 7.1.0 (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2405\"\u003e#2405\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/47f06077edf3ed7e3c13a316f7bf32297cd23402\"\u003e\u003ccode\u003e47f0607\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump \u003ccode\u003e@​size-limit/preset-big-lib\u003c/code\u003e from 13.0.3 to 13.1.1 (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2404\"\u003e#2404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/f7ef5dc4354e0424b4aa456d21076247339e928f\"\u003e\u003ccode\u003ef7ef5dc\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump rollup from 4.63.1 to 4.63.2 (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2403\"\u003e#2403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/d63dfc3aa10bed3b065ef1b7bd8dc5545dd7331e\"\u003e\u003ccode\u003ed63dfc3\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump size-limit from 13.0.3 to 13.1.1 (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2402\"\u003e#2402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remarkablemark/html-react-parser/commit/43427a9ea3c6044b29dc5558851d63eda6754f9e\"\u003e\u003ccode\u003e43427a9\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action/upload-sarif (\u003ca href=\"https://redirect.github.com/remarkablemark/html-react-parser/issues/2401\"\u003e#2401\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/remarkablemark/html-react-parser/compare/v6.1.7...v6.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.0.1 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.0.1...v30.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `maplibre-gl` from 6.11.1 to 6.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/maplibre/maplibre-gl-js/releases\"\u003emaplibre-gl's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.11.2\u003c/h2\u003e\n\u003ch3\u003e✨ Features and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove rendering performance by uploading each tile's projection data once per frame instead of before every draw call (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8545\"\u003e#8545\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multiple glyph variants in requests, caches, and atlases (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8488\"\u003e#8488\u003c/a\u003e) (by \u003ca href=\"https://github.com/NEKOYASAN\"\u003e\u003ccode\u003e@​NEKOYASAN\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐞 Bug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eMap#once(type, layerId, listener)\u003c/code\u003e unsubscribing on the first event that misses the layer instead of the first event that hits it (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8499\"\u003e#8499\u003c/a\u003e) (by \u003ca href=\"https://github.com/cherenkov\"\u003e\u003ccode\u003e@​cherenkov\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove hillshade gradient toward the poles (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8551\"\u003e#8551\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix camera settings being undone during camera movement with terrain or \u003ccode\u003etransformCameraUpdate\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8550\"\u003e#8550\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix zooming and panning with the pointer above the horizon moving the map in the opposite direction (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8544\"\u003e#8544\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the camera jumping when a drag over terrain ends at a pitch above 84° (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8541\"\u003e#8541\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEase the center elevation over terrain during \u003ccode\u003eeaseTo\u003c/code\u003e and \u003ccode\u003eflyTo\u003c/code\u003e instead of holding it and jumping when the animation ends (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8543\"\u003e#8543\u003c/a\u003e) (by \u003ca href=\"https://github.com/johncarmack1984\"\u003e\u003ccode\u003e@​johncarmack1984\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efitBounds\u003c/code\u003e and \u003ccode\u003ecameraForBounds\u003c/code\u003e throwing on the globe projection when the padding exceeds the viewport, instead of warning and returning \u003ccode\u003eundefined\u003c/code\u003e as on mercator (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8538\"\u003e#8538\u003c/a\u003e) (by \u003ca href=\"https://github.com/drakeo338\"\u003e\u003ccode\u003e@​drakeo338\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKeep raster tiles sharp at a fractional \u003ccode\u003edevicePixelRatio\u003c/code\u003e, where the canvas covered a different number of device pixels than its backing store held and the compositor rescaled it (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/1590\"\u003e#1590\u003c/a\u003e) (by \u003ca href=\"https://github.com/zdila\"\u003e\u003ccode\u003e@​zdila\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/maplibre/maplibre-gl-js/blob/main/CHANGELOG.md\"\u003emaplibre-gl's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.11.2\u003c/h2\u003e\n\u003ch3\u003e✨ Features and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove rendering performance by uploading each tile's projection data once per frame instead of before every draw call (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8545\"\u003e#8545\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport multiple glyph variants in requests, caches, and atlases (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8488\"\u003e#8488\u003c/a\u003e) (by \u003ca href=\"https://github.com/NEKOYASAN\"\u003e\u003ccode\u003e@​NEKOYASAN\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐞 Bug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eMap#once(type, layerId, listener)\u003c/code\u003e unsubscribing on the first event that misses the layer instead of the first event that hits it (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8499\"\u003e#8499\u003c/a\u003e) (by \u003ca href=\"https://github.com/cherenkov\"\u003e\u003ccode\u003e@​cherenkov\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove hillshade gradient toward the poles (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8551\"\u003e#8551\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix camera settings being undone during camera movement with terrain or \u003ccode\u003etransformCameraUpdate\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8550\"\u003e#8550\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix zooming and panning with the pointer above the horizon moving the map in the opposite direction (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8544\"\u003e#8544\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the camera jumping when a drag over terrain ends at a pitch above 84° (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8541\"\u003e#8541\u003c/a\u003e) (by \u003ca href=\"https://github.com/birkskyum\"\u003e\u003ccode\u003e@​birkskyum\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEase the center elevation over terrain during \u003ccode\u003eeaseTo\u003c/code\u003e and \u003ccode\u003eflyTo\u003c/code\u003e instead of holding it and jumping when the animation ends (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/pull/8543\"\u003e#8543\u003c/a\u003e) (by \u003ca href=\"https://github.com/johncarmack1984\"\u003e\u003ccode\u003e@​johncarmack1984\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efitBounds\u003c/code\u003e and \u003ccode\u003ecameraForBounds\u003c/code\u003e throwing on the globe projection when the padding exceeds the viewport, instead of warning and returning \u003ccode\u003eundefined\u003c/code\u003e as on mercator (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8538\"\u003e#8538\u003c/a\u003e) (by \u003ca href=\"https://github.com/drakeo338\"\u003e\u003ccode\u003e@​drakeo338\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKeep raster tiles sharp at a fractional \u003ccode\u003edevicePixelRatio\u003c/code\u003e, where the canvas covered a different number of device pixels than its backing store held and the compositor rescaled it (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/1590\"\u003e#1590\u003c/a\u003e) (by \u003ca href=\"https://github.com/zdila\"\u003e\u003ccode\u003e@​zdila\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/maplibre/maplibre-gl-js/commit/acb7b722f6a752ac1a2ba98cf83006c83dc4fafa\"\u003e\u003ccode\u003eacb7b72\u003c/code\u003e\u003c/a\u003e Bump js version to 6.11.2 (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8555\"\u003e#8555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maplibre/maplibre-gl-js/commit/d28f8443e207be1b54669798b809d731070932b9\"\u003e\u003ccode\u003ed28f844\u003c/code\u003e\u003c/a\u003e fix: Map#once with layerId unsubscribes only after a real hit (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8499\"\u003e#8499\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maplibre/maplibre-gl-js/commit/99d0160b018e31dbe5ceba71b79806b36fc0d2ef\"\u003e\u003ccode\u003e99d0160\u003c/code\u003e\u003c/a\u003e Support multiple glyph variants (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8488\"\u003e#8488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maplibre/maplibre-gl-js/commit/98268d3829222064b81b8bfa112baf446ac32cf4\"\u003e\u003ccode\u003e98268d3\u003c/code\u003e\u003c/a\u003e Fix globe cameraForBoxAndBearing throwing when padding exceeds the viewport (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maplibre/maplibre-gl-js/commit/f560a83ac3491086024967fbf8cc0503eae3a76d\"\u003e\u003ccode\u003ef560a83\u003c/code\u003e\u003c/a\u003e Size the canvas to whole device pixels (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8513\"\u003e#8513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maplibre/maplibre-gl-js/commit/7a897d0b0db6a2bb4b9eae54e0b2b54896af63f1\"\u003e\u003ccode\u003e7a897d0\u003c/code\u003e\u003c/a\u003e Remove hillshade gradient toward the poles (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8551\"\u003e#8551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maplibre/maplibre-gl-js/commit/0dff33ab118c6d8ea41f7d9d30e0df9d4acf9ea3\"\u003e\u003ccode\u003e0dff33a\u003c/code\u003e\u003c/a\u003e Fix camera settings being undone during camera movement (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8550\"\u003e#8550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maplibre/maplibre-gl-js/commit/c2031bfb2bf54ee866fcb68bad5b149646a2f4b1\"\u003e\u003ccode\u003ec2031bf\u003c/code\u003e\u003c/a\u003e GM2.8 Upload projection data once per tile instead of once per draw (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8545\"\u003e#8545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maplibre/maplibre-gl-js/commit/728a44c08bdd55ca06f601edd1dbf334159fc99e\"\u003e\u003ccode\u003e728a44c\u003c/code\u003e\u003c/a\u003e Fix zoom and drag above the horizon moving the map the wrong way (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8544\"\u003e#8544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maplibre/maplibre-gl-js/commit/3dfdce0b796e27715a51d9c314448be9f6fd9efb\"\u003e\u003ccode\u003e3dfdce0\u003c/code\u003e\u003c/a\u003e refactor: one method builds the mercator animation's end transform (\u003ca href=\"https://redirect.github.com/maplibre/maplibre-gl-js/issues/8546\"\u003e#8546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/maplibre/maplibre-gl-js/compare/v6.11.1...v6.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `motion` from 13.2.0 to 13.4.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/motiondivision/motion/blob/main/CHANGELOG.md\"\u003emotion's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[13.4.6] 2026-09-29\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAnimatePresence\u003c/code\u003e: \u003ccode\u003emode=\u0026quot;wait\u0026quot;\u003c/code...\n\n_Description has been truncated_","html_url":"https://github.com/alveusgg/alveusgg/pull/2421","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/alveusgg%2Falveusgg/issues/2421","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2421/packages"}},{"old_version":"30.0.1","new_version":"30.1.1","update_type":"minor","path":null,"pr_created_at":"2026-10-06T21:20:57.000Z","version_change":"30.0.1 → 30.1.1","issue":{"uuid":"5735574472","node_id":"PR_kwDOUP6d4s8AAAABHADVPg","number":16,"state":"open","title":"deps-dev(deps-dev): bump the npm-version group with 7 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":["SimplicityGuy"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-06T21:20:57.000Z","updated_at":"2026-10-06T21:21:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps-dev(deps-dev): bump","group_name":"npm-version","update_count":7,"packages":[{"name":"@testing-library/dom","old_version":"10.4.1","new_version":"10.4.2","repository_url":"https://github.com/testing-library/dom-testing-library"},{"name":"@types/node","old_version":"24.13.3","new_version":"24.19.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"jsdom","old_version":"30.0.1","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"oxlint","old_version":"1.80.0","new_version":"1.86.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"tsx","old_version":"4.23.13","new_version":"4.23.15","repository_url":"https://github.com/privatenumber/tsx"},{"name":"vite","old_version":"8.2.2","new_version":"8.3.1","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"5.0.0","new_version":"5.0.2","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-version group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@testing-library/dom](https://github.com/testing-library/dom-testing-library) | `10.4.1` | `10.4.2` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.13.3` | `24.19.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.0.1` | `30.1.1` |\n| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.80.0` | `1.86.0` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.23.13` | `4.23.15` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.2.2` | `8.3.1` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.0` | `5.0.2` |\n\nUpdates `@testing-library/dom` from 10.4.1 to 10.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testing-library/dom-testing-library/releases\"\u003e@​testing-library/dom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/testing-library/dom-testing-library/compare/v10.4.1...v10.4.2\"\u003e10.4.2\u003c/a\u003e (2026-09-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e pin \u003ccode\u003e@​types/node\u003c/code\u003e to a TypeScript 4-compatible version (\u003ca href=\"https://redirect.github.com/testing-library/dom-testing-library/issues/1386\"\u003e#1386\u003c/a\u003e) (\u003ca href=\"https://github.com/testing-library/dom-testing-library/commit/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b\"\u003e6049cc0\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/dom-testing-library/commit/6049cc0bc7cf2201625c476c95fa6299d0e2fa8b\"\u003e\u003ccode\u003e6049cc0\u003c/code\u003e\u003c/a\u003e fix(deps): pin \u003ccode\u003e@​types/node\u003c/code\u003e to a TypeScript 4-compatible version (\u003ca href=\"https://redirect.github.com/testing-library/dom-testing-library/issues/1386\"\u003e#1386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/dom-testing-library/commit/e395d5b8ecd4ec95cc02540ddcf16571ecd33e0f\"\u003e\u003ccode\u003ee395d5b\u003c/code\u003e\u003c/a\u003e Switch to trusted publishing (\u003ca href=\"https://redirect.github.com/testing-library/dom-testing-library/issues/1368\"\u003e#1368\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/testing-library/dom-testing-library/compare/v10.4.1...v10.4.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/dom\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 24.13.3 to 24.19.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/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.0.1 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.0.1...v30.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oxlint` from 1.80.0 to 1.86.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.86.0\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e9d80eed linter/react/only-export-components: Support \u003ccode\u003eallowCompoundComponents\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/27117\"\u003e#27117\u003c/a\u003e) (Kuroda Kayn)\u003c/li\u003e\n\u003cli\u003ee05b155 linter: Add typescript/no-generated-empty-object-type (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26958\"\u003e#26958\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e8306aa4 linter/typescript/no-unnecessary-parameter-property-assignment: Account for parameter property reassignment (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26955\"\u003e#26955\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e42dfbb5 linter/eslint/one-var: Keep \u003ccode\u003edeclare\u003c/code\u003e when splitting declarations (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/27081\"\u003e#27081\u003c/a\u003e) (Cheolhee Lee)\u003c/li\u003e\n\u003cli\u003e2ba7e33 linter/eslint/require-await: Count \u003ccode\u003eawait using\u003c/code\u003e as an await (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/27080\"\u003e#27080\u003c/a\u003e) (Cheolhee Lee)\u003c/li\u003e\n\u003cli\u003e611e4ed linter/plugins: Include executing selectors in JS plugin rule timings (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/27111\"\u003e#27111\u003c/a\u003e) (overlookmotel)\u003c/li\u003e\n\u003cli\u003e2cac66f react-compiler: Handle recursive function expressions (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26796\"\u003e#26796\u003c/a\u003e) (Brennan Butler)\u003c/li\u003e\n\u003cli\u003ee996e6c react-compiler: Treat zero-argument new Date as impure (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26894\"\u003e#26894\u003c/a\u003e) (Boshen)\u003c/li\u003e\n\u003cli\u003e571cfa3 oxlint: Skip type-aware lint rules in type-check-only mode (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/27076\"\u003e#27076\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003ed0b2462 oxlint: Skip undefined children in CFG walker (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/27075\"\u003e#27075\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e5186328 parser: Handle HTML comment values (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/22933\"\u003e#22933\u003c/a\u003e) (Boshen)\u003c/li\u003e\n\u003cli\u003e0b630e8 linter/typescript/unified-signatures: Align rule with upstream (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26956\"\u003e#26956\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003eebb22f1 linter/node/no-exports-assign: Change category from style to suspicious (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26555\"\u003e#26555\u003c/a\u003e) (Bartok)\u003c/li\u003e\n\u003cli\u003ecce28a0 linter/import/no-duplicates: Distinguish import attributes (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26936\"\u003e#26936\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003efeb733b linter/unicorn/prefer-spread: Stop checking string split calls (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26935\"\u003e#26935\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e929e154 linter/eslint/no-unused-vars: Honor ignore patterns inside array rest bindings (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26923\"\u003e#26923\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e5bdb9b8 linter/eslint/no-unused-vars: Recognize consumed update expressions (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26782\"\u003e#26782\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e5c05bef linter/eslint/prefer-const: Ignore embedded assignments (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26920\"\u003e#26920\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e⚡ Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eded4c29 linter/eslint/no-unused-vars: Skip sequence checks when absent (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26921\"\u003e#26921\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eoxlint v1.85.0\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e415b742 oxlint,oxfmt: Do not discover nested config in Vite+ mode (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26763\"\u003e#26763\u003c/a\u003e) (leaysgur)\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/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.86.0] - 2026-09-28\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e9d80eed linter/react/only-export-components: Support \u003ccode\u003eallowCompoundComponents\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/27117\"\u003e#27117\u003c/a\u003e) (Kuroda Kayn)\u003c/li\u003e\n\u003cli\u003ee05b155 linter: Add typescript/no-generated-empty-object-type (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26958\"\u003e#26958\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.82.0] - 2026-09-07\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e6a0e19c linter/eslint/no-unmodified-loop-condition: Support \u003ccode\u003echeckConditionalExpressions\u003c/code\u003e option (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26249\"\u003e#26249\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.81.0] - 2026-08-31\u003c/h2\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ed5be037 linter/typescript/switch-exhaustiveness-check: Clarify default case comment pattern (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26100\"\u003e#26100\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.79.0] - 2026-08-18\u003c/h2\u003e\n\u003ch3\u003e💥 BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e8c4552d linter: [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Split react/react-compiler into per-category rules (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25500\"\u003e#25500\u003c/a\u003e) (Boshen)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e228e8e0 linter: Resolve inactive React compiler rules (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25830\"\u003e#25830\u003c/a\u003e) (Boshen)\u003c/li\u003e\n\u003cli\u003eaa49d86 linter: Allow spread rule options in config types (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25675\"\u003e#25675\u003c/a\u003e) (ch3rry)\u003c/li\u003e\n\u003cli\u003e36f8451 linter/eslint/no-eval: Align indirect default with ESLint (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25656\"\u003e#25656\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003ebeb724d linter/eslint/no-unused-vars: Report bare underscore parameters (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25663\"\u003e#25663\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e4004c10 linter/eslint/no-irregular-whitespace: Check comments by default (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25660\"\u003e#25660\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e285820e linter/no-large-snapshots: Precompile and document allowed snapshot matchers (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25611\"\u003e#25611\u003c/a\u003e) (Mikhail Baev)\u003c/li\u003e\n\u003cli\u003e4df5835 linter: Allow capitalized built-in calls (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25516\"\u003e#25516\u003c/a\u003e) (Boshen)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.78.0] - 2026-08-10\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eccb8fe8 linter/jsdoc: Implement \u003ccode\u003eno-blank-blocks\u003c/code\u003e rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25207\"\u003e#25207\u003c/a\u003e) (Mikhail Baev)\u003c/li\u003e\n\u003cli\u003ed4a897c linter/eslint: Implement \u003ccode\u003eone-var\u003c/code\u003e rule (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/24470\"\u003e#24470\u003c/a\u003e) (Cole Ellison)\u003c/li\u003e\n\u003cli\u003e5ab9340 linter/jsx-a11y/anchor-has-content: Add options to match eslint (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/24571\"\u003e#24571\u003c/a\u003e) (Cole Ellison)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e9573937 linter/typescript: Validate \u003ccode\u003eban-ts-comment\u003c/code\u003e description_format (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/25320\"\u003e#25320\u003c/a\u003e) (Mikhail Baev)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.77.0] - 2026-08-03\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug 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/oxc-project/oxc/commit/2ae2939bb2fd98796393658b21556b2a2467e047\"\u003e\u003ccode\u003e2ae2939\u003c/code\u003e\u003c/a\u003e release(apps): oxlint v1.86.0 \u0026amp;\u0026amp; oxfmt v0.71.0 (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/27132\"\u003e#27132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/9d80eeddbd1d84032e258cc3662182b7649b4161\"\u003e\u003ccode\u003e9d80eed\u003c/code\u003e\u003c/a\u003e feat(linter/react/only-export-components): support \u003ccode\u003eallowCompoundComponents\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/e05b155a6d1e7467f58225628705573c34d3cded\"\u003e\u003ccode\u003ee05b155\u003c/code\u003e\u003c/a\u003e feat(linter): add typescript/no-generated-empty-object-type (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26958\"\u003e#26958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/88a009621499725d891780b04c41f23ebba09f30\"\u003e\u003ccode\u003e88a0096\u003c/code\u003e\u003c/a\u003e chore(oxlint): require tsgolint 7.0.2003 (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/27021\"\u003e#27021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/288d8cc77984b0a3851c58c423ffe9e6edc79f2e\"\u003e\u003ccode\u003e288d8cc\u003c/code\u003e\u003c/a\u003e release(apps): oxlint v1.85.0 \u0026amp;\u0026amp; oxfmt v0.70.0 (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26903\"\u003e#26903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/f02a64a517a69a4eaa4ef83b722a3f10cf633f10\"\u003e\u003ccode\u003ef02a64a\u003c/code\u003e\u003c/a\u003e release(apps): oxlint v1.84.0 \u0026amp;\u0026amp; oxfmt v0.69.0 (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26874\"\u003e#26874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/7bf68f70c20f5329251f19be95076f6eab4fe396\"\u003e\u003ccode\u003e7bf68f7\u003c/code\u003e\u003c/a\u003e release(apps): oxlint v1.83.0 \u0026amp;\u0026amp; oxfmt v0.68.0 (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26631\"\u003e#26631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/b4da00b621ec2f6f67ed218f5366c45ed325331b\"\u003e\u003ccode\u003eb4da00b\u003c/code\u003e\u003c/a\u003e release(apps): oxlint v1.82.0 \u0026amp;\u0026amp; oxfmt v0.67.0 (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26384\"\u003e#26384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/aa38ddfbea657a9d332f86e42e235ff8cbdcac6d\"\u003e\u003ccode\u003eaa38ddf\u003c/code\u003e\u003c/a\u003e fix(linter/unicorn/numeric-separators-style): correct schema defaults (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/26393\"\u003e#26393\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/6a0e19cfaae35ec882de6bc8dde7668d1b0cc58e\"\u003e\u003ccode\u003e6a0e19c\u003c/code\u003e\u003c/a\u003e feat(linter/eslint/no-unmodified-loop-condition): support `checkConditionalEx...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/oxc-project/oxc/commits/oxlint_v1.86.0/npm/oxlint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tsx` from 4.23.13 to 4.23.15\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.23.15\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.23.14...v4.23.15\"\u003e4.23.15\u003c/a\u003e (2026-09-20)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eexclude bare builtins from namespace inheritance (\u003ca href=\"https://github.com/privatenumber/tsx/commit/38e158857e50bca311be7c232a5057e5a2e5347a\"\u003e38e1588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose require.cache and require.extensions to tsImport CommonJS modules (\u003ca href=\"https://github.com/privatenumber/tsx/commit/2da34075afaed43e2b7fd0aca5fbebaaf337ff3a\"\u003e2da3407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake namespaced register() overloads portable for declaration emit (\u003ca href=\"https://github.com/privatenumber/tsx/commit/562c434a5c8695e74327bbeb51cfeb9b86fc7e15\"\u003e562c434\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.23.15\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.23.14\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.23.13...v4.23.14\"\u003e4.23.14\u003c/a\u003e (2026-09-20)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erestore the CJS bridge namespace for Node 24 require(esm) under tsImport() (\u003ca href=\"https://redirect.github.com/privatenumber/tsx/issues/802\"\u003e#802\u003c/a\u003e) (\u003ca href=\"https://github.com/privatenumber/tsx/commit/6e5236b065738d3687a06396d064774cfede390f\"\u003e6e5236b\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.23.14\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\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/privatenumber/tsx/commit/ca66105a17a2a4c6503fe3a12b5b9ec408286011\"\u003e\u003ccode\u003eca66105\u003c/code\u003e\u003c/a\u003e test: fix drive-less file URLs in ESM resolver fixtures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/2da34075afaed43e2b7fd0aca5fbebaaf337ff3a\"\u003e\u003ccode\u003e2da3407\u003c/code\u003e\u003c/a\u003e fix: expose require.cache and require.extensions to tsImport CommonJS modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/38e158857e50bca311be7c232a5057e5a2e5347a\"\u003e\u003ccode\u003e38e1588\u003c/code\u003e\u003c/a\u003e fix: exclude bare builtins from namespace inheritance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/562c434a5c8695e74327bbeb51cfeb9b86fc7e15\"\u003e\u003ccode\u003e562c434\u003c/code\u003e\u003c/a\u003e fix: make namespaced register() overloads portable for declaration emit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/edfb1f05a3f40b879a41a03a0801c2abd3a3ecf9\"\u003e\u003ccode\u003eedfb1f0\u003c/code\u003e\u003c/a\u003e build: upgrade pkgroll and externalize CJS loader reference\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/70e78284837c859f09b96cd10cd71d007aa4b795\"\u003e\u003ccode\u003e70e7828\u003c/code\u003e\u003c/a\u003e test: upgrade tinyspy for disposable API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/9ed2022dfa9ea1be9511fe6abcde8110c25055a7\"\u003e\u003ccode\u003e9ed2022\u003c/code\u003e\u003c/a\u003e ci: avoid duplicate release notifications\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/872e77ffc5e96ca5c4727e74c0694debcb26219b\"\u003e\u003ccode\u003e872e77f\u003c/code\u003e\u003c/a\u003e refactor: use disposables for cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/6e5236b065738d3687a06396d064774cfede390f\"\u003e\u003ccode\u003e6e5236b\u003c/code\u003e\u003c/a\u003e fix: restore the CJS bridge namespace for Node 24 require(esm) under tsImport...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.23.13...v4.23.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite` from 8.2.2 to 8.3.1\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.3.1\u003c/h2\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/23482\"\u003e#23482\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/3c752c8932bc0599465ba4a6d8f44aaf1e934c3d\"\u003e3c752c8\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/issues/23537\"\u003e#23537\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e8990c4d6101dfaca2654ed8ab4d0574ee920248\"\u003ee8990c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23483\"\u003e#23483\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/9aecbbfa5fb5da4b9981c099cb9746a9fd210806\"\u003e9aecbbf\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ehandle \u003ccode\u003eserver.ws: false\u003c/code\u003e in mergeConfig (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23511\"\u003e#23511\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/f68c0d5a28c96555431413e3e2cbe644337b087f\"\u003ef68c0d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emerge \u003ccode\u003ebuild.rolldownOptions.output.comments\u003c/code\u003e correctly (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23514\"\u003e#23514\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/4aba8d8720e82e4c5b694a4b7877755a3f84fc57\"\u003e4aba8d8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e don't skip imports whose binding starts with type (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23540\"\u003e#23540\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/39330f489a0ae08923557f0ce10a307d6662a3f5\"\u003e39330f4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e resolve pending discovered dep processing on close before init (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23567\"\u003e#23567\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5f894339d27882fedc86bf6b1076fa6d92e404f3\"\u003e5f89433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e avoid reinitializing watcher when adding file after server close (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23572\"\u003e#23572\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6f831f9b58ebda77638b514042ad8d160edfb928\"\u003e6f831f9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esourcemap:\u003c/strong\u003e skip URL source roots when injecting sources content (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23519\"\u003e#23519\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/04fc30a4b91870e65a436b3420620a2e02a94a41\"\u003e04fc30a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emerge prereleases in changelog (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23466\"\u003e#23466\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/99bd9d1d46153fa939f4a304cc0177db42e28776\"\u003e99bd9d1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e add debug log when waiting for dep before init (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23566\"\u003e#23566\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/63567c73ac132e6384fef384e6b9f7e8d5a37fff\"\u003e63567c7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003eoptimizeDeps.include\u003c/code\u003e comment (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23489\"\u003e#23489\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6a84c72100da4e4be4badb2d9a0026279b4df136\"\u003e6a84c72\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eassets regexp use non-capture (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23491\"\u003e#23491\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/f4b4431a2f9097fd9bbb7aaebbf1b63c4b54dea1\"\u003ef4b4431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove duplicate configurations (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23532\"\u003e#23532\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/9abd99bfdd3117149d6faf87fc37bc9899b1c998\"\u003e9abd99b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace \u003ccode\u003efind\u003c/code\u003e with \u003ccode\u003esome\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23554\"\u003e#23554\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/af7cdf6964f124f58d66037e808fe687654948e2\"\u003eaf7cdf6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ecreate-vite@8.3.0\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/create-vite@8.3.0/packages/create-vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev8.3.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e avoid settling seen preload dependencies for performance (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23446\"\u003e#23446\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e6f6b3e3119256daa837b2dc399058c8aa45b470\"\u003ee6f6b3e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle CRLF line endings in code frame positions (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23219\"\u003e#23219\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/9913672bee9c34a2df7fff4c2538783cd4f43b4e\"\u003e9913672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eonly treat whole \u003ccode\u003enode_modules\u003c/code\u003e path segments as dependencies (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/17467\"\u003e#17467\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23437\"\u003e#23437\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/ef0dc17ada53d1169ae5a89cb8f6482831466755\"\u003eef0dc17\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eproxy:\u003c/strong\u003e pre-compile context matchers at server creation (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23263\"\u003e#23263\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8abf700eeb2411d8402d08f8e2696effafdbe774\"\u003e8abf700\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.3.0-beta.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edevtools:\u003c/strong\u003e enable dev server integration (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23333\"\u003e#23333\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/68aeb8a3b5a5a2ccd505288999bae1a5e6942ee1\"\u003e68aeb8a\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 keep hash placeholders as-is in \u003ccode\u003eresolveFileUrl\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23422\"\u003e#23422\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e8d6a4d3399c739772080d70c7f3c4d548a637c9\"\u003ee8d6a4d\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/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.3.0...v8.3.1\"\u003e8.3.1\u003c/a\u003e (2026-09-24)\u003c!-- raw HTML omitted --\u003e\u003c/h2\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/23482\"\u003e#23482\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/3c752c8932bc0599465ba4a6d8f44aaf1e934c3d\"\u003e3c752c8\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/issues/23537\"\u003e#23537\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e8990c4d6101dfaca2654ed8ab4d0574ee920248\"\u003ee8990c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23483\"\u003e#23483\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/9aecbbfa5fb5da4b9981c099cb9746a9fd210806\"\u003e9aecbbf\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ehandle \u003ccode\u003eserver.ws: false\u003c/code\u003e in mergeConfig (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23511\"\u003e#23511\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/f68c0d5a28c96555431413e3e2cbe644337b087f\"\u003ef68c0d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emerge \u003ccode\u003ebuild.rolldownOptions.output.comments\u003c/code\u003e correctly (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23514\"\u003e#23514\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/4aba8d8720e82e4c5b694a4b7877755a3f84fc57\"\u003e4aba8d8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e don't skip imports whose binding starts with type (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23540\"\u003e#23540\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/39330f489a0ae08923557f0ce10a307d6662a3f5\"\u003e39330f4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e resolve pending discovered dep processing on close before init (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23567\"\u003e#23567\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5f894339d27882fedc86bf6b1076fa6d92e404f3\"\u003e5f89433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e avoid reinitializing watcher when adding file after server close (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23572\"\u003e#23572\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6f831f9b58ebda77638b514042ad8d160edfb928\"\u003e6f831f9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esourcemap:\u003c/strong\u003e skip URL source roots when injecting sources content (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23519\"\u003e#23519\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/04fc30a4b91870e65a436b3420620a2e02a94a41\"\u003e04fc30a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emerge prereleases in changelog (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23466\"\u003e#23466\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/99bd9d1d46153fa939f4a304cc0177db42e28776\"\u003e99bd9d1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e add debug log when waiting for dep before init (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23566\"\u003e#23566\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/63567c73ac132e6384fef384e6b9f7e8d5a37fff\"\u003e63567c7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003eoptimizeDeps.include\u003c/code\u003e comment (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23489\"\u003e#23489\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6a84c72100da4e4be4badb2d9a0026279b4df136\"\u003e6a84c72\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eassets regexp use non-capture (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23491\"\u003e#23491\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/f4b4431a2f9097fd9bbb7aaebbf1b63c4b54dea1\"\u003ef4b4431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove duplicate configurations (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23532\"\u003e#23532\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/9abd99bfdd3117149d6faf87fc37bc9899b1c998\"\u003e9abd99b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace \u003ccode\u003efind\u003c/code\u003e with \u003ccode\u003esome\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23554\"\u003e#23554\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/af7cdf6964f124f58d66037e808fe687654948e2\"\u003eaf7cdf6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.2.2...v8.3.0\"\u003e8.3.0\u003c/a\u003e (2026-09-10)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e avoid settling seen preload dependencies for performance (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23446\"\u003e#23446\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e6f6b3e3119256daa837b2dc399058c8aa45b470\"\u003ee6f6b3e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edevtools:\u003c/strong\u003e enable dev server integration (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23333\"\u003e#23333\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/68aeb8a3b5a5a2ccd505288999bae1a5e6942ee1\"\u003e68aeb8a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaccept Rolldown watch options in \u003ccode\u003eserver.watch\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23133\"\u003e#23133\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/1b5cfe3d3777d4ceb7f35fcee9d3c4279316a084\"\u003e1b5cfe3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd closeServer and closePreviewServer hooks (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23110\"\u003e#23110\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e17d2d565b0288f169c7995adb2b192f917548e7\"\u003ee17d2d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd top-level \u003ccode\u003etsconfig\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23310\"\u003e#23310\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/93164c3530a7b4fc7bbedfb986d6afa9546cdef3\"\u003e93164c3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd warning for unsupported hooks in plugin returned from \u003ccode\u003eapplyToEnvironment\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23191\"\u003e#23191\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fdef04f112aadfea40ad3c448d96a49a04c168bd\"\u003efdef04f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e support naming the CPU profile via --profile [name] (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23042\"\u003e#23042\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/a500deeb6f52d93ca501a0fc612a5392b939f2f5\"\u003ea500dee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econfig:\u003c/strong\u003e warn on named imports from JSON modules (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23378\"\u003e#23378\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/472385e6ec4b21e3167c7abf9769883d1c9675f8\"\u003e472385e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e minify style tag (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23183\"\u003e#23183\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8156684572bdcf73e9d8568ed67971f0467fab60\"\u003e8156684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esearched params attached to workers are now preserved (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22280\"\u003e#22280\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/517b97f57ab9473e7417da856eb641d76870a56e\"\u003e517b97f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport subpath imports in dynamic import statements (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23185\"\u003e#23185\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/b78e2f1bc1cba404c4bd9faf518d26ec85e89fc7\"\u003eb78e2f1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse \u003ccode\u003eimport.meta.ROLLDOWN_FILE_URL_*\u003c/code\u003e for assets in JS (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22888\"\u003e#22888\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/4366ac468343252df6d5706361a6348afa66f9cc\"\u003e4366ac4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse \u003ccode\u003eimport.meta.ROLLDOWN_FILE_URL_*\u003c/code\u003e for other plugins (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22894\"\u003e#22894\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e38f29ee48bea5ea3178faec5b78708e86f38afb\"\u003ee38f29e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eworker:\u003c/strong\u003e remove worker chunk if it's detected that it's not referenced (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22473\"\u003e#22473\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/924997a4bdda9115faee9bdb622fcec4fc8357f0\"\u003e924997a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle CRLF line endings in code frame positions (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23219\"\u003e#23219\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/9913672bee9c34a2df7fff4c2538783cd4f43b4e\"\u003e9913672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eonly treat whole \u003ccode\u003enode_modules\u003c/code\u003e path segments as dependencies (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/17467\"\u003e#17467\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23437\"\u003e#23437\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/ef0dc17ada53d1169ae5a89cb8f6482831466755\"\u003eef0dc17\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e keep hash placeholders as-is in \u003ccode\u003eresolveFileUrl\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23422\"\u003e#23422\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e8d6a4d3399c739772080d70c7f3c4d548a637c9\"\u003ee8d6a4d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e mark payload delivered on client report (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23373\"\u003e#23373\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/a6d43bc9e3464faa4d49f090e75e1ab334ffb7b0\"\u003ea6d43bc\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/39ddf7ccf7e7469ff6a3ba37bca38c32ea804d6e\"\u003e\u003ccode\u003e39ddf7c\u003c/code\u003e\u003c/a\u003e release: v8.3.1 (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23573\"\u003e#23573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/f68c0d5a28c96555431413e3e2cbe644337b087f\"\u003e\u003ccode\u003ef68c0d5\u003c/code\u003e\u003c/a\u003e fix: handle \u003ccode\u003eserver.ws: false\u003c/code\u003e in mergeConfig (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23511\"\u003e#23511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/6f831f9b58ebda77638b514042ad8d160edfb928\"\u003e\u003ccode\u003e6f831f9\u003c/code\u003e\u003c/a\u003e fix(server): avoid reinitializing watcher when adding file after server close...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/04fc30a4b91870e65a436b3420620a2e02a94a41\"\u003e\u003ccode\u003e04fc30a\u003c/code\u003e\u003c/a\u003e fix(sourcemap): skip URL source roots when injecting sources content (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23519\"\u003e#23519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/5f894339d27882fedc86bf6b1076fa6d92e404f3\"\u003e\u003ccode\u003e5f89433\u003c/code\u003e\u003c/a\u003e fix(optimizer): resolve pending discovered dep processing on close before ini...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/63567c73ac132e6384fef384e6b9f7e8d5a37fff\"\u003e\u003ccode\u003e63567c7\u003c/code\u003e\u003c/a\u003e chore(optimizer): add debug log when waiting for dep before init (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23566\"\u003e#23566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/e8990c4d6101dfaca2654ed8ab4d0574ee920248\"\u003e\u003ccode\u003ee8990c4\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/23537\"\u003e#23537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/af7cdf6964f124f58d66037e808fe687654948e2\"\u003e\u003ccode\u003eaf7cdf6\u003c/code\u003e\u003c/a\u003e refactor: replace \u003ccode\u003efind\u003c/code\u003e with \u003ccode\u003esome\u003c/code\u003e (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23554\"\u003e#23554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/39330f489a0ae08923557f0ce10a307d6662a3f5\"\u003e\u003ccode\u003e39330f4\u003c/code\u003e\u003c/a\u003e fix(optimizer): don't skip imports whose binding starts with type (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23540\"\u003e#23540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/9abd99bfdd3117149d6faf87fc37bc9899b1c998\"\u003e\u003ccode\u003e9abd99b\u003c/code\u003e\u003c/a\u003e refactor: remove duplicate configurations (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23532\"\u003e#23532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitejs/vite/commits/v8.3.1/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 5.0.0 to 5.0.2\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\u003ev5.0.2\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBind \u003ccode\u003eprocess\u003c/code\u003e in case global is overwritten  -  by \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/11343\"\u003evitest-dev/vitest#11343\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0b79231ad\"\u003e\u003c!-- raw HTML omitted --\u003e(0b792)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edetect-async-leaks\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eIgnore \u003ccode\u003eprocess.stdio\u003c/code\u003e handles  -  by \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/11333\"\u003evitest-dev/vitest#11333\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0fd6b9790\"\u003e\u003c!-- raw HTML omitted --\u003e(0fd6b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003etoMatchObject\u003c/code\u003e with asymmetric matchers  -  by \u003ca href=\"https://github.com/ShreeBohara\"\u003e\u003ccode\u003e@​ShreeBohara\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 5\u003c/strong\u003e, \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-5)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11100\"\u003evitest-dev/vitest#11100\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/42523289e\"\u003e\u003c!-- raw HTML omitted --\u003e(42523)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ejsdom\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eRequest\u003c/code\u003e with \u003ccode\u003eBlob\u003c/code\u003e body on jsdom 28+  -  by \u003ca href=\"https://github.com/harshit-d3v\"\u003e\u003ccode\u003e@​harshit-d3v\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11295\"\u003evitest-dev/vitest#11295\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d1c3ecc93\"\u003e\u003c!-- raw HTML omitted --\u003e(d1c3e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporter\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eagent\u003c/code\u003e to respect \u003ccode\u003e--silent\u003c/code\u003e  -  by \u003ca href=\"https://github.com/Raj4478\"\u003e\u003ccode\u003e@​Raj4478\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/11271\"\u003evitest-dev/vitest#11271\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5b95efb6d\"\u003e\u003c!-- raw HTML omitted --\u003e(5b95e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporters\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eHandle concurrent \u003ccode\u003ecreateReport\u003c/code\u003e calls  -  by \u003ca href=\"https://github.com/7rulnik\"\u003e\u003ccode\u003e@​7rulnik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11278\"\u003evitest-dev/vitest#11278\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e8e556ff7\"\u003e\u003c!-- raw HTML omitted --\u003e(e8e55)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ehanging-process\u003c/code\u003e to use ESM entrypoint  -  by \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/11316\"\u003evitest-dev/vitest#11316\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4e91e5668\"\u003e\u003c!-- raw HTML omitted --\u003e(4e91e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003espy\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix stack overflow when spying \u003ccode\u003eSet.prototype.add\u003c/code\u003e  -  by \u003ca href=\"https://github.com/fengmk2\"\u003e\u003ccode\u003e@​fengmk2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11299\"\u003evitest-dev/vitest#11299\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a0a939653\"\u003e\u003c!-- raw HTML omitted --\u003e(a0a93)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePersist authentication cookie beyond current browser session  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eOpenCode (gpt-5.6-sol)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11066\"\u003evitest-dev/vitest#11066\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f88195e16\"\u003e\u003c!-- raw HTML omitted --\u003e(f8819)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v5.0.1...v5.0.2\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev5.0.1\u003c/h2\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eMove trace attempts selector to viewer header  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11189\"\u003evitest-dev/vitest#11189\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5dc4b5c92\"\u003e\u003c!-- raw HTML omitted --\u003e(5dc4b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd focused trace view layout mode  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e, \u003cstrong\u003eOpenCode (gpt-5.6-sol)\u003c/strong\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11190\"\u003evitest-dev/vitest#11190\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/376dc3bc1\"\u003e\u003c!-- raw HTML omitted --\u003e(376dc)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExit 1 when vitest list fails collection  -  by \u003ca href=\"https://github.com/hamed-bavar\"\u003e\u003ccode\u003e@​hamed-bavar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11145\"\u003evitest-dev/vitest#11145\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11146\"\u003evitest-dev/vitest#11146\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6108b8197\"\u003e\u003c!-- raw HTML omitted --\u003e(6108b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep parse error details in static collection  -  by \u003ca href=\"https://github.com/hamed-bavar\"\u003e\u003ccode\u003e@​hamed-bavar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11150\"\u003evitest-dev/vitest#11150\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11151\"\u003evitest-dev/vitest#11151\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c818153a\"\u003e\u003c!-- raw HTML omitted --\u003e(7c818)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid recursive prototype in automocking  -  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/11195\"\u003evitest-dev/vitest#11195\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/99fc52591\"\u003e\u003c!-- raw HTML omitted --\u003e(99fc5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent false Vitest import resolution  -  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/11196\"\u003evitest-dev/vitest#11196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b426c1976\"\u003e\u003c!-- raw HTML omitted --\u003e(b426c)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep metadata file when clearing the cache  -  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/11199\"\u003evitest-dev/vitest#11199\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/73614654a\"\u003e\u003c!-- raw HTML omitted --\u003e(73614)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect typos in error message and comments  -  by \u003ca href=\"https://github.com/shinji00222\"\u003e\u003ccode\u003e@​shinji00222\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eShinji\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11187\"\u003evitest-dev/vitest#11187\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/115c3f6d2\"\u003e\u003c!-- raw HTML omitted --\u003e(115c3)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve ResolvedConfig exactOptionalPropertyTypes errors  -  by \u003ca href=\"https://github.com/LukeAbby\"\u003e\u003ccode\u003e@​LukeAbby\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11175\"\u003evitest-dev/vitest#11175\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/498fbe922\"\u003e\u003c!-- raw HTML omitted --\u003e(498fb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShare the server on self-referencing \u003ccode\u003eextends\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/11034\"\u003evitest-dev/vitest#11034\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/23dda738c\"\u003e\u003c!-- raw HTML omitted --\u003e(23dda)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn when deprecated \u003ccode\u003edeps.optimizer.web\u003c/code\u003e is used  -  by \u003ca href=\"https://github.com/im10furry\"\u003e\u003ccode\u003e@​im10furry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11214\"\u003evitest-dev/vitest#11214\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2ce29d5fa\"\u003e\u003c!-- raw HTML omitted --\u003e(2ce29)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAvoid double quotes in \u003ccode\u003econfig.define\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/11198\"\u003evitest-dev/vitest#11198\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/972e24bab\"\u003e\u003c!-- raw HTML omitted --\u003e(972e2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edoctor\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eMeasure vm pools for custom environments  -  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/11212\"\u003evitest-dev/vitest#11212\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/91ab1588c\"\u003e\u003c!-- raw HTML omitted --\u003e(91ab1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eCorrect return value in \u003ccode\u003etoMatchAriaSnapshot\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/11208\"\u003evitest-dev/vitest#11208\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c119be016\"\u003e\u003c!-- raw HTML omitted --\u003e(c119b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efakeTimers\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eForce \u003ccode\u003equeueMicrotask\u003c/code\u003e and \u003ccode\u003enextTick\u003c/code\u003e in \u003ccode\u003etoNotFake\u003c/code\u003e  -  by \u003ca href=\"https://github.com/kingmakeruix\"\u003e\u003ccode\u003e@​kingmakeruix\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003ekingmakeruix\u003c/strong\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e, \u003cstrong\u003eCodex\u003c/strong\u003e and \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/11261\"\u003evitest-dev/vitest#11261\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a47d7908f\"\u003e\u003c!-- raw HTML omitted --\u003e(a47d7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eReport obsolete keys next to skipped tests  -  by \u003ca href=\"https://github.com/hamed-bavar\"\u003e\u003ccode\u003e@​hamed-bavar\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eOpenCode (gpt-5.6-sol)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11157\"\u003evitest-dev/vitest#11157\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11158\"\u003evitest-dev/vitest#11158\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/17e2b22dd\"\u003e\u003c!-- raw HTML omitted --\u003e(17e2b)\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/428e2e5043c64635b6b157358bde2fdeaa7b6b3a\"\u003e\u003ccode\u003e428e2e5\u003c/code\u003e\u003c/a\u003e chore: release v5.0.2 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11357\"\u003e#11357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0b79231ad7897f03de17940ef16684b63aa217fe\"\u003e\u003ccode\u003e0b79231\u003c/code\u003e\u003c/a\u003e fix: bind \u003ccode\u003eprocess\u003c/code\u003e in case global is overwritten (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11343\"\u003e#11343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/597df569aba3e8b24c9ad231aacd3cf641ac3bdf\"\u003e\u003ccode\u003e597df56\u003c/code\u003e\u003c/a\u003e docs: correct stale config defaults (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11354\"\u003e#11354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/ea1c44fb581978421f9f0901ce8c635970ea72fb\"\u003e\u003ccode\u003eea1c44f\u003c/code\u003e\u003c/a\u003e docs: \u003ccode\u003esequence.setupFiles\u003c/code\u003e default is \u003ccode\u003e'list'\u003c/code\u003e (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11351\"\u003e#11351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0fd6b97902bc828d489385e0a28b82515f57b7cf\"\u003e\u003ccode\u003e0fd6b97\u003c/code\u003e\u003c/a\u003e fix(detect-async-leaks): ignore \u003ccode\u003eprocess.stdio\u003c/code\u003e handles (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11333\"\u003e#11333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/4e91e56687de43427fbb664d86a63438ca73b681\"\u003e\u003ccode\u003e4e91e56\u003c/code\u003e\u003c/a\u003e fix(reporters): \u003ccode\u003ehanging-process\u003c/code\u003e to use ESM entrypoint (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11316\"\u003e#11316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/1a57929a49fb6fb2db02b47e56c4677ca5ae1704\"\u003e\u003ccode\u003e1a57929\u003c/code\u003e\u003c/a\u003e docs(browser): fix locators.exact default  (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11338\"\u003e#11338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/5b95efb6dfe378dc6fc8380f5b1e96832f019a5d\"\u003e\u003ccode\u003e5b95efb\u003c/code\u003e\u003c/a\u003e fix(reporter): \u003ccode\u003eagent\u003c/code\u003e to respect \u003ccode\u003e--silent\u003c/code\u003e (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11271\"\u003e#11271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/f58a209779ffd3007006481d0c9da0099d5226e6\"\u003e\u003ccode\u003ef58a209\u003c/code\u003e\u003c/a\u003e docs: correct benchmark.exclude and watch defaults (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11268\"\u003e#11268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/d1c3ecc932dcb4cd50420c54aa1f7fa3051deac7\"\u003e\u003ccode\u003ed1c3ecc\u003c/code\u003e\u003c/a\u003e fix(jsdom): fix \u003ccode\u003eRequest\u003c/code\u003e with \u003ccode\u003eBlob\u003c/code\u003e body on jsdom 28+ (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/11295\"\u003e#11295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v5.0.2/packages/vitest\"\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/SimplicityGuy/herdr-corral/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimplicityGuy%2Fherdr-corral/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"}},{"old_version":"26.1.0","new_version":"30.1.1","update_type":"major","path":null,"pr_created_at":"2026-10-06T21:14:50.000Z","version_change":"26.1.0 → 30.1.1","issue":{"uuid":"5735506051","node_id":"PR_kwDOU-QcmM8AAAABG__2CQ","number":26,"state":"closed","title":"build(deps-dev): Bump jsdom from 26.1.0 to 30.1.1","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-10-06T21:16:45.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-06T21:14:50.000Z","updated_at":"2026-10-06T21:16:54.000Z","time_to_close":115,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): Bump","packages":[{"name":"jsdom","old_version":"26.1.0","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 26.1.0 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v26.1.0...v30.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=30.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/Msameim181/iran-map-react/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Msameim181%2Firan-map-react/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"}},{"old_version":"29.1.1","new_version":"30.1.1","update_type":"major","path":null,"pr_created_at":"2026-10-06T19:24:21.000Z","version_change":"29.1.1 → 30.1.1","issue":{"uuid":"5734180249","node_id":"PR_kwDOSFswoM8AAAABG-73Mg","number":265,"state":"open","title":"chore(deps-dev): bump jsdom from 29.1.1 to 30.1.1","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-06T19:24:21.000Z","updated_at":"2026-10-06T19:26:45.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":"29.1.1","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 29.1.1 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v29.1.1...v30.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jsdom\u0026package-manager=npm_and_yarn\u0026previous-version=29.1.1\u0026new-version=30.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/roymcfarland/llm-workbench/pull/265","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/roymcfarland%2Fllm-workbench/issues/265","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/265/packages"}},{"old_version":"26.1.0","new_version":"30.1.1","update_type":"major","path":null,"pr_created_at":"2026-10-06T14:07:29.000Z","version_change":"26.1.0 → 30.1.1","issue":{"uuid":"5729810543","node_id":"PR_kwDOUxL1s88AAAABG7aKqA","number":15,"state":"open","title":"Bump jsdom from 26.1.0 to 30.1.1","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-06T14:07:29.000Z","updated_at":"2026-10-07T10:56:26.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":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 26.1.0 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v26.1.0...v30.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","html_url":"https://github.com/swissspidy/graft/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/swissspidy%2Fgraft/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"}},{"old_version":"30.0.1","new_version":"30.1.1","update_type":"minor","path":null,"pr_created_at":"2026-10-06T07:44:29.000Z","version_change":"30.0.1 → 30.1.1","issue":{"uuid":"5724861528","node_id":"PR_kwDOQk5FCc8AAAABG3bVIQ","number":160,"state":"open","title":"chore(deps): bump the dev-dependencies group across 1 directory with 9 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-10-06T07:44:29.000Z","updated_at":"2026-10-06T07:44:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dev-dependencies","update_count":9,"packages":[{"name":"@commitlint/cli","old_version":"21.2.2","new_version":"21.2.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.2.2","new_version":"21.2.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"eslint","old_version":"10.9.0","new_version":"10.12.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-n","old_version":"18.3.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"fast-xml-parser","old_version":"5.11.0","new_version":"5.11.2","repository_url":"https://github.com/NaturalIntelligence/fast-xml-parser"},{"name":"jsdom","old_version":"30.0.1","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"lefthook","old_version":"2.1.10","new_version":"2.1.16","repository_url":"https://github.com/evilmartians/lefthook"},{"name":"markdownlint-cli2","old_version":"0.23.2","new_version":"0.23.3","repository_url":"https://github.com/DavidAnson/markdownlint-cli2"},{"name":"prettier","old_version":"3.9.6","new_version":"3.9.9","repository_url":"https://github.com/prettier/prettier"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.2.2` | `21.2.3` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.2.2` | `21.2.3` |\n| [eslint](https://github.com/eslint/eslint) | `10.9.0` | `10.12.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.3.0` | `18.4.1` |\n| [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) | `5.11.0` | `5.11.2` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.0.1` | `30.1.1` |\n| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.10` | `2.1.16` |\n| [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) | `0.23.2` | `0.23.3` |\n| [prettier](https://github.com/prettier/prettier) | `3.9.6` | `3.9.9` |\n\n\nUpdates `@commitlint/cli` from 21.2.2 to 21.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.2.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): correct breaking-change-exclamation-mark rule config type by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(config-nx-scopes): read scopes from the nx project graph by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(lint): trim trailing whitespace off the message handed to ignore matchers by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4960\"\u003econventional-changelog/commitlint#4960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): detect dynamic await support on node majors above 20 by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4961\"\u003econventional-changelog/commitlint#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rules): report the case that matched in case rule failure messages by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4962\"\u003econventional-changelog/commitlint#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): run the parser factory of scoped conventional-changelog presets by \u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(load): drop the node version check gating cosmiconfig loaders by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4972\"\u003econventional-changelog/commitlint#4972\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore, ci, build, etc.\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebuild: install pnpm via npm instead of corepack by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4948\"\u003econventional-changelog/commitlint#4948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: retire the docker compose dev environment by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4949\"\u003econventional-changelog/commitlint#4949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: verify pnpm tarball against the packageManager sha512 pin by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4952\"\u003econventional-changelog/commitlint#4952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: stabilize Windows CI by raising Vitest default timeout by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: drop the Node 24 config-loading workaround note by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4976\"\u003econventional-changelog/commitlint#4976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: move pnpm settings from .npmrc to pnpm-workspace.yaml by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4977\"\u003econventional-changelog/commitlint#4977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: swap pnpm resolutionMode time-based for minimumReleaseAge by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4984\"\u003econventional-changelog/commitlint#4984\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/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\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/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elint:\u003c/strong\u003e trim trailing whitespace off the message handed to ignore matchers (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4960\"\u003e#4960\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a6f279b931bb4cf01d17a9ced48de5b9377172bd\"\u003ea6f279b\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/conventional-changelog/commitlint/commit/95d40569d2592bf9719bc27da2d51fc6b801e4ef\"\u003e\u003ccode\u003e95d4056\u003c/code\u003e\u003c/a\u003e v21.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a6f279b931bb4cf01d17a9ced48de5b9377172bd\"\u003e\u003ccode\u003ea6f279b\u003c/code\u003e\u003c/a\u003e fix(lint): trim trailing whitespace off the message handed to ignore matchers...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.2.3/@commitlint/cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/config-conventional` from 21.2.2 to 21.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.2.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): correct breaking-change-exclamation-mark rule config type by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(config-nx-scopes): read scopes from the nx project graph by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(lint): trim trailing whitespace off the message handed to ignore matchers by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4960\"\u003econventional-changelog/commitlint#4960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): detect dynamic await support on node majors above 20 by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4961\"\u003econventional-changelog/commitlint#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rules): report the case that matched in case rule failure messages by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4962\"\u003econventional-changelog/commitlint#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): run the parser factory of scoped conventional-changelog presets by \u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(load): drop the node version check gating cosmiconfig loaders by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4972\"\u003econventional-changelog/commitlint#4972\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore, ci, build, etc.\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebuild: install pnpm via npm instead of corepack by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4948\"\u003econventional-changelog/commitlint#4948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: retire the docker compose dev environment by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4949\"\u003econventional-changelog/commitlint#4949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: verify pnpm tarball against the packageManager sha512 pin by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4952\"\u003econventional-changelog/commitlint#4952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: stabilize Windows CI by raising Vitest default timeout by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: drop the Node 24 config-loading workaround note by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4976\"\u003econventional-changelog/commitlint#4976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: move pnpm settings from .npmrc to pnpm-workspace.yaml by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4977\"\u003econventional-changelog/commitlint#4977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: swap pnpm resolutionMode time-based for minimumReleaseAge by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4984\"\u003econventional-changelog/commitlint#4984\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/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\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/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erules:\u003c/strong\u003e report the case that matched in case rule failure messages (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4962\"\u003e#4962\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/9f5f7bc0304f85f270097a4046da6d0509c44620\"\u003e9f5f7bc\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/conventional-changelog/commitlint/commit/95d40569d2592bf9719bc27da2d51fc6b801e4ef\"\u003e\u003ccode\u003e95d4056\u003c/code\u003e\u003c/a\u003e v21.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/9f5f7bc0304f85f270097a4046da6d0509c44620\"\u003e\u003ccode\u003e9f5f7bc\u003c/code\u003e\u003c/a\u003e fix(rules): report the case that matched in case rule failure messages (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4962\"\u003e#4962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.2.3/@commitlint/config-conventional\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.9.0 to 10.12.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.12.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4618052eed6bb3ef420cf0db0490bbda2fd835a5\"\u003e\u003ccode\u003e4618052\u003c/code\u003e\u003c/a\u003e feat: handle astral letters in \u003ccode\u003enew-cap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21357\"\u003e#21357\u003c/a\u003e) (sary)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4ec5168d6d6888e3f7b163eb82963d40e45a75fa\"\u003e\u003ccode\u003e4ec5168\u003c/code\u003e\u003c/a\u003e feat: allow \u003ccode\u003eSourceCode#getText()\u003c/code\u003e to accept tokens and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21340\"\u003e#21340\u003c/a\u003e) (electrohyun)\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/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e) (Daniel Pinto)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/efc4d6bdc4c4d1dfba8bdab6a8f44f27a1b1d00a\"\u003e\u003ccode\u003eefc4d6b\u003c/code\u003e\u003c/a\u003e fix: astral letters in \u003ccode\u003econsistent-return\u003c/code\u003e, \u003ccode\u003eno-eval\u003c/code\u003e, \u003ccode\u003eno-invalid-this\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21360\"\u003e#21360\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/93de066d4125f8df013d40305e8009f4634a5cba\"\u003e\u003ccode\u003e93de066\u003c/code\u003e\u003c/a\u003e fix: prefer-exponentiation-operator autofix for async function base (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21322\"\u003e#21322\u003c/a\u003e) (Vladimir Babin)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/02e34ffba6adbed72365177c7caee71d950834e5\"\u003e\u003ccode\u003e02e34ff\u003c/code\u003e\u003c/a\u003e fix: add missing space after \u003ccode\u003eelse\u003c/code\u003e in \u003ccode\u003ecurly\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21355\"\u003e#21355\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b14b8bc213ccfc19d3edcfa9ce6af62622661160\"\u003e\u003ccode\u003eb14b8bc\u003c/code\u003e\u003c/a\u003e fix: correct \u003ccode\u003eid-length\u003c/code\u003e message for long private names (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21348\"\u003e#21348\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/69aac01d898837a934c9e735e0b7881cc1df09e8\"\u003e\u003ccode\u003e69aac01\u003c/code\u003e\u003c/a\u003e fix: support \u003ccode\u003eTSFunctionType\u003c/code\u003e in \u003ccode\u003egetFunctionHeadLoc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21335\"\u003e#21335\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/686630eb34ec1cddf399a4e6eaeebb080116a532\"\u003e\u003ccode\u003e686630e\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eno-loss-of-precision\u003c/code\u003e false positive with \u003ccode\u003e0.e5\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21337\"\u003e#21337\u003c/a\u003e) (sethamus)\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/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\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/5370d7ee35a6523873f798e87f3ccc73779d5d21\"\u003e\u003ccode\u003e5370d7e\u003c/code\u003e\u003c/a\u003e docs: clarify \u003ccode\u003eone-var\u003c/code\u003e \u003ccode\u003eseparateRequires\u003c/code\u003e matches any \u003ccode\u003erequire()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21192\"\u003e#21192\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8816c1ddfcfa31318ad17cddcfb68acffa30940f\"\u003e\u003ccode\u003e8816c1d\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/3d2e7cedb7409d8a2c5f2c2fafb14fa22790e40e\"\u003e\u003ccode\u003e3d2e7ce\u003c/code\u003e\u003c/a\u003e docs: fix typo in no-unused-expressions documentation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21346\"\u003e#21346\u003c/a\u003e) (bytedoe)\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/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e) (James Ross)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/29585ceba7ad35368d1b763bd1e80d899f28842c\"\u003e\u003ccode\u003e29585ce\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-expect-type to ^0.7.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21359\"\u003e#21359\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39d79ba9650542ac66d585d1899304abd630c07d\"\u003e\u003ccode\u003e39d79ba\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21354\"\u003e#21354\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/182a6e993a8a5dbdad5a628b69ad7382d48bf24f\"\u003e\u003ccode\u003e182a6e9\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21352\"\u003e#21352\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f995127230dad258069c29b7f51971681bd53f00\"\u003e\u003ccode\u003ef995127\u003c/code\u003e\u003c/a\u003e chore: remove CLAUDE.md in favor of AGENTS.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21339\"\u003e#21339\u003c/a\u003e) (Jarren)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b95fb6cb335f82a0ccabb0944ac3b89c703bd947\"\u003e\u003ccode\u003eb95fb6c\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21347\"\u003e#21347\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3782dd458fdfbe492e600d9a54b295a9721ed815\"\u003e\u003ccode\u003e3782dd4\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21342\"\u003e#21342\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.11.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d136fa4b0d2dd4a9e738ca1c012cc674d1441127\"\u003e\u003ccode\u003ed136fa4\u003c/code\u003e\u003c/a\u003e feat: object-shorthand handle quoted properties for \u003ccode\u003eignoreConstructors\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21271\"\u003e#21271\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/397b3b8134b8ce1a61cbf414d4c29c945ba25690\"\u003e\u003ccode\u003e397b3b8\u003c/code\u003e\u003c/a\u003e feat: report unsafe labeled \u003ccode\u003econtinue\u003c/code\u003e in \u003ccode\u003eno-unsafe-finally\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21316\"\u003e#21316\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d3dd47f42e4cb5f9da27e3a2e741aa21e02ea1a4\"\u003e\u003ccode\u003ed3dd47f\u003c/code\u003e\u003c/a\u003e feat: only exempt \u003ccode\u003enew-cap\u003c/code\u003e built-ins that reference the global (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21290\"\u003e#21290\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/22b09f54f67a9512d4cea39ddbab9b6973d5c476\"\u003e\u003ccode\u003e22b09f5\u003c/code\u003e\u003c/a\u003e fix: ignore \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eprefer-object-spread\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21311\"\u003e#21311\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b684bb1cd7e6be03ad1b7a951baead936d9c2166\"\u003e\u003ccode\u003eb684bb1\u003c/code\u003e\u003c/a\u003e fix: make TimePass.parse optional in types and docs (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21313\"\u003e#21313\u003c/a\u003e) (ntnyq)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/26d11bce3e0e21f223613d4bb4be3423839b229e\"\u003e\u003ccode\u003e26d11bc\u003c/code\u003e\u003c/a\u003e fix: don't report \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eobject-shorthand\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21310\"\u003e#21310\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/9ecfdc5319f83580cf3b81beab7e936015fef2fa\"\u003e\u003ccode\u003e9ecfdc5\u003c/code\u003e\u003c/a\u003e docs: note that --cache can serve stale results for cross-file rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21312\"\u003e#21312\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6c789ff39bc5420e94e8dafeb328bf2b7e3d35ab\"\u003e\u003ccode\u003e6c789ff\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/5997825635dc9c4e81434894607ef2e3887e0ea3\"\u003e\u003ccode\u003e5997825\u003c/code\u003e\u003c/a\u003e docs: clarify preserve-caught-error known limitation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21294\"\u003e#21294\u003c/a\u003e) (Akinyemi Toluwalase)\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/a438ec39512c3381f4785a1f3058982ce9845970\"\u003e\u003ccode\u003ea438ec3\u003c/code\u003e\u003c/a\u003e 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/32a73f144198510e23c40c5ca6808e2c09b7e5e5\"\u003e\u003ccode\u003e32a73f1\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.9.0...v10.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 18.3.0 to 18.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\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/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\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/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fast-xml-parser` from 5.11.0 to 5.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/releases\"\u003efast-xml-parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: decode Uint8Array XML input as UTF-8 by \u003ca href=\"https://github.com/emme1t\"\u003e\u003ccode\u003e@​emme1t\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/875\"\u003eNaturalIntelligence/fast-xml-parser#875\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: type EntityDecoderOptions.setXmlVersion's version as a number by \u003ca href=\"https://github.com/YevheniiKotyrlo\"\u003e\u003ccode\u003e@​YevheniiKotyrlo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/880\"\u003eNaturalIntelligence/fast-xml-parser#880\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/emme1t\"\u003e\u003ccode\u003e@​emme1t\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/875\"\u003eNaturalIntelligence/fast-xml-parser#875\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/YevheniiKotyrlo\"\u003e\u003ccode\u003e@​YevheniiKotyrlo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/880\"\u003eNaturalIntelligence/fast-xml-parser#880\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.1...v5.11.2\"\u003ehttps://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.1...v5.11.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.11.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 7.0.0 to 7.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/858\"\u003eNaturalIntelligence/fast-xml-parser#858\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump zizmorcore/zizmor-action from 0.5.7 to 0.6.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/856\"\u003eNaturalIntelligence/fast-xml-parser#856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-node from 6.4.0 to 7.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/854\"\u003eNaturalIntelligence/fast-xml-parser#854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix two 404 documentation links by \u003ca href=\"https://github.com/rajanpanth\"\u003e\u003ccode\u003e@​rajanpanth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/862\"\u003eNaturalIntelligence/fast-xml-parser#862\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/rajanpanth\"\u003e\u003ccode\u003e@​rajanpanth\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/862\"\u003eNaturalIntelligence/fast-xml-parser#862\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.0...v5.11.1\"\u003ehttps://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.0...v5.11.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md\"\u003efast-xml-parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003eNote: If you find missing information about particular minor version, that version must have been changed without any functional change in this library.\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003cp\u003eNote: Due to some last quick changes on v4, detail of v4.5.3 \u0026amp; v4.5.4 are not updated here. v4.5.4x is the last tag of v4 in github repository. I'm extremely sorry for the confusion\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e5.11.2 / 2026-09-29\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/875\"\u003e#875\u003c/a\u003e): decode Uint8Array XML input as UTF-8 (By emme1t)\u003c/li\u003e\n\u003cli\u003efix (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/880\"\u003e#880\u003c/a\u003e) :type EntityDecoderOptions.setXmlVersion's version as a number (By Yevhenii Kotyrlo)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.11.1 / 2026-08-27\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: validator; Replace regex with a single-pass scanner for attribute tokens, eliminating quadratic behavior on long whitespace runs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.11.0 / 2026-08-16\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support for endIndex in node metadata (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/850\"\u003e#850\u003c/a\u003e) [By \u003ca href=\"https://github.com/Wain-PC\"\u003ePavel Dranichnikov\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003efix: don't crash on a closing tag with no matching opening tag (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/861\"\u003e#861\u003c/a\u003e) [By \u003ca href=\"https://github.com/hdimer\"\u003eHaïm Dimer\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003efix: DOCTYPE to read SYSTEM/PUBLIC\u003c/li\u003e\n\u003cli\u003edeps: strnum v2.4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.10.1 / 2026-07-17\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: multiple DOCTYPE declarations.\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003e@nodable/entities\u003c/code\u003e for treeshaking\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.10.0 / 2026-07-11\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade:\n\u003cul\u003e\n\u003cli\u003exml-naming v0.3.0: cache support\u003c/li\u003e\n\u003cli\u003ePEM v1.6.2: sibling bug fix\u003c/li\u003e\n\u003cli\u003eis-unsafe v2.0.0: tree shaking\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.3 / 2026-06-19\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupdate strnum\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.2 / 2026-06-17\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edummy release to test changes in github action\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.1 / 2026-06-17\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edummy release to test release from github action\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.0 / 2026-06-15\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupdate strnum to 2.3.0\n\u003cul\u003e\n\u003cli\u003eyou can set hex, binary, enotation, infinity, unicode\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003evalidate unsafe HTML or XML data in doctype entities unsing 'is-unsafe' library.\nUser can override rules by overriding EntityDecoder.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.8.0 / 2026-05-12\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eintegrate xml-naming to validate DOCTYPE entity name and notation name (using qname becaue of backward compatibility)\n\u003cul\u003e\n\u003cli\u003eThis will consider xml-version as well. '1.0' is default\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eupdate strnum to 2.3.0\n\u003cul\u003e\n\u003cli\u003eYou can set octal and binary parsing which is bydeault off\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eupdate fast-xml-builder to 1.2.0\n\u003cul\u003e\n\u003cli\u003ecan sanitize tag names if found invalid\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/NaturalIntelligence/fast-xml-parser/commit/80e88a848b073fd630bc181291a24922c6d1e839\"\u003e\u003ccode\u003e80e88a8\u003c/code\u003e\u003c/a\u003e 5.11.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/0718e417385d109bc63f509ef0821b0328c4e2d8\"\u003e\u003ccode\u003e0718e41\u003c/code\u003e\u003c/a\u003e changelog, browser bundles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/1a6646b8949ca54f2e2ea205a5923a9980d8fa1d\"\u003e\u003ccode\u003e1a6646b\u003c/code\u003e\u003c/a\u003e deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/d39644185031299e2f5a84241dcce9bcd3238095\"\u003e\u003ccode\u003ed396441\u003c/code\u003e\u003c/a\u003e audit fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/513d0b3cac51a52d62d79cdf01440aa3bbc21553\"\u003e\u003ccode\u003e513d0b3\u003c/code\u003e\u003c/a\u003e fix: type EntityDecoderOptions.setXmlVersion's version as a number (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/880\"\u003e#880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/bb2ec6ce4bfc3f62d621df6e6bf2b3152965175a\"\u003e\u003ccode\u003ebb2ec6c\u003c/code\u003e\u003c/a\u003e fix: decode Uint8Array XML input as UTF-8 (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/875\"\u003e#875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/3617550adfb280989f482d662b7e9ece55a32a34\"\u003e\u003ccode\u003e3617550\u003c/code\u003e\u003c/a\u003e 5.11.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/6021128c3251d4c1456d2c6cd8442a5005a1f39a\"\u003e\u003ccode\u003e6021128\u003c/code\u003e\u003c/a\u003e update for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/6ddcb65f240005988457af6af6dd68fa0947acf5\"\u003e\u003ccode\u003e6ddcb65\u003c/code\u003e\u003c/a\u003e remove regex from validator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/7d608151078d47040841e9804d490feb5c07dfe7\"\u003e\u003ccode\u003e7d60815\u003c/code\u003e\u003c/a\u003e docs: fix two 404 documentation links (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/862\"\u003e#862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.0...v5.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.0.1 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.0.1...v30.1.1\"\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.10 to 2.1.16\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.16\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e3ee04318fd06d56a70cc9c90dc8385b19918f520 ci: refactor publishing scripts (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1559\"\u003e#1559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e91407e537b2fa36539506963a33e582dca394798 deps: bump mod and text deps to resolve CVEs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1560\"\u003e#1560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebe6f0ae8793533449cb9a07a253fa9a381e82206 fix: preserve unrelated unstaged changes on conflict (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1483\"\u003e#1483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecf4ef1e19baf0581871f69b40914d64c94ff19d7 fix: test staging fixed files with partially staged\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.15\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e2388dde2b31dc9a782e967764046b41b404cece9 feat: propagate forced colors to hook commands via CLICOLOR_FORCE (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1547\"\u003e#1547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e49260b57c2a56bc4d65d09395458bb3ce3c63311 fix(lfs): do not pipe stdin into post-checkout git-lfs hook (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1523\"\u003e#1523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38bc1c6cef3192a36002d0dcc37973416249c07e fix: quote paths in the generated hook shim (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1509\"\u003e#1509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e0892f5f256ebe162485492af5ca14c2ced45586f fix: remove color blending (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1558\"\u003e#1558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ef1de41cd5cd6a6c5e0179c65e00d5ed6d90078c2 fix: resolve push-files fallback against the remote-tracking ref (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1485\"\u003e#1485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e07ce565bcc73465bc18fb36561b935ee2a53eab6 fix: sanitize slashes in remote ref when building the checkout dir name (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1486\"\u003e#1486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec465ca8ef4fc9ee0695aa4a9530fc404ed838b7a test(cmd): regression for valid fish shell completion output (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1527\"\u003e#1527\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.14\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003ev2.1.12\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eb8350fde604197b2422adfc4ae0af080725822b9 ci: fix npm publishing by bumping Node to 24 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1508\"\u003e#1508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9fb290d786a0e122fe113b1b49a45bbd0ffa7d28 fix: LEFTHOOK_OUTPUT precedence (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1506\"\u003e#1506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2f0a9f37cef73e10d95043ba3754329a21850d57 fix: fail the hook when staging fixed files errors (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1484\"\u003e#1484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.11\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ee5b10ac3a2645784ee2e4260620c49c31b44992a deps: bump Go to 1.26.6 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1495\"\u003e#1495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed4a259f460b7c1d8c512dd75eedc7068310ee961 fix: inherit terminal size for PTY commands (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1498\"\u003e#1498\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.16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: test staging fixed files with partially staged by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve unrelated unstaged changes on conflict (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1483\"\u003e#1483\u003c/a\u003e) by \u003ca href=\"https://github.com/Sakshamm-Goyal\"\u003e\u003ccode\u003e@​Sakshamm-Goyal\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump mod and text deps to resolve CVEs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1560\"\u003e#1560\u003c/a\u003e) by \u003ca href=\"https://github.com/devindavies\"\u003e\u003ccode\u003e@​devindavies\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: refactor publishing scripts (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1559\"\u003e#1559\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: do not pipe stdin into post-checkout git-lfs hook (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1523\"\u003e#1523\u003c/a\u003e) by \u003ca href=\"https://github.com/rwinkelman\"\u003e\u003ccode\u003e@​rwinkelman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove color blending (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1558\"\u003e#1558\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve push-files fallback against the remote-tracking ref (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1485\"\u003e#1485\u003c/a\u003e) by \u003ca href=\"https://github.com/hamodywe\"\u003e\u003ccode\u003e@​hamodywe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: regression for valid fish shell completion output (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1527\"\u003e#1527\u003c/a\u003e) by \u003ca href=\"https://github.com/rwinkelman\"\u003e\u003ccode\u003e@​rwinkelman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: sanitize slashes in remote ref when building the checkout dir name (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1486\"\u003e#1486\u003c/a\u003e) by \u003ca href=\"https://github.com/hamodywe\"\u003e\u003ccode\u003e@​hamodywe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: quote paths in the generated hook shim (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1509\"\u003e#1509\u003c/a\u003e) by \u003ca href=\"https://github.com/addielaruee\"\u003e\u003ccode\u003e@​addielaruee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: propagate forced colors to hook commands via CLICOLOR_FORCE (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1547\"\u003e#1547\u003c/a\u003e) by \u003ca href=\"https://github.com/Yash121l\"\u003e\u003ccode\u003e@​Yash121l\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.13/2.1.14 (2026-09-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: error when --job/--command matches nothing (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1512\"\u003e#1512\u003c/a\u003e) by \u003ca href=\"https://github.com/nityanand123gupta\"\u003e\u003ccode\u003e@​nityanand123gupta\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disable tty things when stdout is not TTY (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1545\"\u003e#1545\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document files inheritance for grouped jobs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1536\"\u003e#1536\u003c/a\u003e) by \u003ca href=\"https://github.com/chiliec\"\u003e\u003ccode\u003e@​chiliec\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: force colors when colors are explicitly enabled (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1538\"\u003e#1538\u003c/a\u003e) by \u003ca href=\"https://github.com/Yash121l\"\u003e\u003ccode\u003e@​Yash121l\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve file_types paths from the repo root (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1537\"\u003e#1537\u003c/a\u003e) by \u003ca href=\"https://github.com/Yash121l\"\u003e\u003ccode\u003e@​Yash121l\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: don't force-install hooks from the npm postinstall (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1510\"\u003e#1510\u003c/a\u003e) by \u003ca href=\"https://github.com/hamodywe\"\u003e\u003ccode\u003e@​hamodywe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: quote template run examples (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1472\"\u003e#1472\u003c/a\u003e) by \u003ca href=\"https://github.com/Guflly\"\u003e\u003ccode\u003e@​Guflly\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.12 (2026-08-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: fail the hook when staging fixed files errors (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1484\"\u003e#1484\u003c/a\u003e) by \u003ca href=\"https://github.com/teddytennant\"\u003e\u003ccode\u003e@​teddytennant\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: LEFTHOOK_OUTPUT precedence (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1506\"\u003e#1506\u003c/a\u003e) by \u003ca href=\"https://github.com/Yuki9814\"\u003e\u003ccode\u003e@​Yuki9814\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix npm publishing by bumping Node to 24 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1508\"\u003e#1508\u003c/a\u003e) by \u003ca href=\"https://github.com/mariokresic\"\u003e\u003ccode\u003e@​mariokresic\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.11 (2026-08-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: inherit terminal size for PTY commands (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1498\"\u003e#1498\u003c/a\u003e) by \u003ca href=\"https://github.com/mariokresic\"\u003e\u003ccode\u003e@​mariokresic\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: correct Lefthook commit message configuration (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1499\"\u003e#1499\u003c/a\u003e) by \u003ca href=\"https://github.com/codersjj\"\u003e\u003ccode\u003e@​codersjj\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: hide contributors regenerate tip from the site (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1500\"\u003e#1500\u003c/a\u003e) by \u003ca href=\"https://github.com/MikevPeeren\"\u003e\u003ccode\u003e@​MikevPeeren\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify signed-off commit example (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1492\"\u003e#1492\u003c/a\u003e) by \u003ca href=\"https://github.com/nightcityblade\"\u003e\u003ccode\u003e@​nightcityblade\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump Go to 1.26.6 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1495\"\u003e#1495\u003c/a\u003e) by \u003ca href=\"https://github.com/quaacxlok\"\u003e\u003ccode\u003e@​quaacxlok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix em notice by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update docmd (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1481\"\u003e#1481\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix EM mention HTML by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify remote script folders (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1477\"\u003e#1477\u003c/a\u003e) by \u003ca href=\"https://github.com/scop\"\u003e\u003ccode\u003e@​scop\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document script args (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1479\"\u003e#1479\u003c/a\u003e) by \u003ca href=\"https://github.com/lntutor\"\u003e\u003ccode\u003e@​lntutor\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update em logo by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\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/433e6b9067d5d138bf63b47403e0df8895a40e33\"\u003e\u003ccode\u003e433e6b9\u003c/code\u003e\u003c/a\u003e 2.1.16: preserve unrelated unstaged changes on conflicts after autofixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/cf4ef1e19baf0581871f69b40914d64c94ff19d7\"\u003e\u003ccode\u003ecf4ef1e\u003c/code\u003e\u003c/a\u003e fix: test staging fixed files with partially staged\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/be6f0ae8793533449cb9a07a253fa9a381e82206\"\u003e\u003ccode\u003ebe6f0ae\u003c/code\u003e\u003c/a\u003e fix: preserve unrelated unstaged changes on conflict (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1483\"\u003e#1483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/91407e537b2fa36539506963a33e582dca394798\"\u003e\u003ccode\u003e91407e5\u003c/code\u003e\u003c/a\u003e deps: bump mod and text deps to resolve CVEs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1560\"\u003e#1560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmar...\n\n_Description has been truncated_","html_url":"https://github.com/jonathan-vella/apex-accelerator/pull/160","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathan-vella%2Fapex-accelerator/issues/160","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/160/packages"}},{"old_version":"24.1.3","new_version":"30.1.1","update_type":"major","path":"/frontend","pr_created_at":"2026-10-06T01:47:31.000Z","version_change":"24.1.3 → 30.1.1","issue":{"uuid":"5721605668","node_id":"PR_kwDOU9ZQ188AAAABG02YuA","number":7,"state":"open","title":"deps(frontend): Bump jsdom from 24.1.3 to 30.1.1 in /frontend","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-10-06T01:47:31.000Z","updated_at":"2026-10-06T02:03:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(frontend): Bump","packages":[{"name":"jsdom","old_version":"24.1.3","new_version":"30.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 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v24.1.3...v30.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","html_url":"https://github.com/geoai-latam/geo-copilot/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/geoai-latam%2Fgeo-copilot/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}},{"old_version":"25.0.1","new_version":"30.1.1","update_type":"major","path":null,"pr_created_at":"2026-10-06T00:31:41.000Z","version_change":"25.0.1 → 30.1.1","issue":{"uuid":"5720960201","node_id":"PR_kwDOU9MZws8AAAABG0Vo-A","number":63,"state":"open","title":"Bump jsdom from 25.0.1 to 30.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-10-06T00:31:41.000Z","updated_at":"2026-10-06T00:34:00.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"jsdom","old_version":"25.0.1","new_version":"30.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 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v25.0.1...v30.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=30.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\n\n\u003c!-- angada-body-summary:start --\u003e\n## Summary by Angada\n\n`2 files` `+452` `-282` `jsdom major: 25 → 30` `New packages: 14` `Removed packages: 9`\n\nBumps the jsdom dev dependency of the admin-ui workspace from 25.0.1 to 30.1.1 and re-resolves the lockfile, pulling a new DOM/CSS parsing stack and newer Babel, browserslist and undici transitive versions.\n\n1. **Manifest raises the jsdom floor** — admin-ui/package.json swaps jsdom ^25.0.1 for ^30.1.1 in devDependencies; nothing else in the workspace changes.\n2. **Lockfile re-resolves the graph** — pnpm-lock.yaml pins jsdom 30.1.1 and rewrites the transitive tree, adding selector, CSS color and bytes packages.\n3. **jsdom internals are replaced** — Selector matching, CSS color parsing, HTML parsing and URL handling move to new major versions of their packages.\n4. **Vitest picks up the new peer** — Both admin-ui and create-keycloak-theme vitest entries now resolve against jsdom 30.1.1 instead of 25.0.1.\n5. **Node floor moves with it** — jsdom 30 requires Node ^22.22.2 || ^24.15.0 || \u0026gt;=26.0.0, so the test environment must meet that.\n\n```mermaid\nflowchart LR\n  subgraph l0[\"Entry points\"]\n    n0[\"package.json\u003cbr/\u003e\u003csmall\u003eadmin-ui devDependencies\u003c/small\u003e\"]:::modified\n    n1[\"pnpm-lock.yaml\u003cbr/\u003e\u003csmall\u003eResolved dependency graph\u003c/small\u003e\"]:::modified\n  end\n  subgraph l1[\"Application\"]\n    n2[\"vitest\u003cbr/\u003e\u003csmall\u003eTest runner, jsdom peer\u003c/small\u003e\"]:::modified\n    n3[\"jsdom\u003cbr/\u003e\u003csmall\u003eDOM implementation for tests\u003c/small\u003e\"]:::modified\n  end\n  subgraph l2[\"Adapters\"]\n    n4[\"@asamuzakjp/dom-selector\u003cbr/\u003e\u003csmall\u003eSelector engine\u003c/small\u003e\"]:::added\n    n5[\"@asamuzakjp/css-color\u003cbr/\u003e\u003csmall\u003eCSS color resolution\u003c/small\u003e\"]:::added\n    n6[\"parse5\u003cbr/\u003e\u003csmall\u003eHTML parser\u003c/small\u003e\"]:::modified\n    n7[\"whatwg-url\u003cbr/\u003e\u003csmall\u003eURL and encoding\u003c/small\u003e\"]:::modified\n    n8[\"tough-cookie\u003cbr/\u003e\u003csmall\u003eCookie jar\u003c/small\u003e\"]:::modified\n    n9[\"@babel/core\u003cbr/\u003e\u003csmall\u003eTranspiler, transitive\u003c/small\u003e\"]:::modified\n    n10[\"browserslist\u003cbr/\u003e\u003csmall\u003eTarget resolution\u003c/small\u003e\"]:::modified\n  end\n  subgraph l3[\"External\"]\n    n11[\"undici\u003cbr/\u003e\u003csmall\u003eHTTP client\u003c/small\u003e\"]:::modified\n  end\n  l0 ~~~ l1\n  l1 ~~~ l2\n  l2 ~~~ l3\n  n0 ==\u003e|\"declares ^30.1.1\"| n3\n  n1 ==\u003e|\"resolves 30.1.1\"| n3\n  n2 --\u003e|\"runs tests in\"| n3\n  n3 --\u003e|\"queries with\"| n4\n  n3 --\u003e|\"parses colors with\"| n5\n  n3 --\u003e|\"parses HTML with\"| n6\n  n3 --\u003e|\"builds URLs with\"| n7\n  n3 --\u003e|\"stores cookies in\"| n8\n  n3 --\u003e|\"fetches with\"| n11\n  n9 --\u003e|\"resolves targets via\"| n10\n  classDef added fill:#dcfce7,stroke:#16a34a,color:#14532d\n  classDef modified fill:#fef3c7,stroke:#d97706,color:#78350f\n  classDef removed fill:#fee2e2,stroke:#dc2626,color:#7f1d1d,stroke-dasharray:4\n  classDef unchanged fill:#f4f4f5,stroke:#a1a1aa,color:#3f3f46\n  style l0 fill:none\n  style l1 fill:none\n  style l2 fill:none\n  style l3 fill:none\n```\n\n\u003cdetails\u003e\u003csummary\u003eData flow\u003c/summary\u003e\n\n```mermaid\nsequenceDiagram\n  participant p0 as package.json\n  participant p1 as pnpm-lock.yaml\n  participant p2 as jsdom\n  participant p3 as vitest\n  p0-\u003e\u003ep1: jsdom ^30.1.1\n  p1-\u003e\u003ep2: resolve 30.1.1\n  p2--\u003e\u003ep1: transitive tree\n  p1-\u003e\u003ep3: jsdom@30.1.1 peer\n  p3--\u003e\u003ep0: install complete\n```\n\n\u003c/details\u003e\n\n\u003ca href=\"https://app.angada.ai/angada-bench/angada-bench/keycloak__keycloak__angada-2026-10__PR33832__20261006/pull/63?utm_source=github\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\u003cimg alt=\"Review with angada\" src=\"https://img.shields.io/badge/Review_with_angada-1f2328?style=for-the-badge\"\u003e\u003c/a\u003e\n\u003c!-- angada-body-summary:end --\u003e","html_url":"https://github.com/angada-bench/keycloak__keycloak__angada-2026-10__PR33832__20261006/pull/63","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/angada-bench%2Fkeycloak__keycloak__angada-2026-10__PR33832__20261006/issues/63","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/63/packages"}},{"old_version":"25.0.1","new_version":"30.1.1","update_type":"major","path":"/web","pr_created_at":"2026-10-05T23:39:27.000Z","version_change":"25.0.1 → 30.1.1","issue":{"uuid":"5720479617","node_id":"PR_kwDOUbRSs88AAAABGz84sg","number":31,"state":"closed","title":"build(deps): bump the web group in /web with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-10-06T00:49:08.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-05T23:39:27.000Z","updated_at":"2026-10-06T00:49:11.000Z","time_to_close":4181,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"web","update_count":12,"packages":[{"name":"@tanstack/react-query","old_version":"5.103.2","new_version":"5.104.1","repository_url":"https://github.com/TanStack/query"},{"name":"@tanstack/react-table","old_version":"8.21.3","new_version":"9.2.4","repository_url":"https://github.com/TanStack/table"},{"name":"react","old_version":"18.3.1","new_version":"19.3.0","repository_url":"https://github.com/react/react"},{"name":"@types/react","old_version":"18.3.31","new_version":"19.3.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-dom","old_version":"18.3.1","new_version":"19.3.0","repository_url":"https://github.com/react/react"},{"name":"@types/react-dom","old_version":"18.3.7","new_version":"19.3.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-router","old_version":"7.18.4","new_version":"8.4.0","repository_url":"https://github.com/remix-run/react-router"},{"name":"@types/node","old_version":"22.20.4","new_version":"26.6.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"jsdom","old_version":"25.0.1","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"typescript","old_version":"5.9.3","new_version":"7.0.2","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"vite","old_version":"8.3.1","new_version":"8.3.2","repository_url":"https://github.com/vitejs/vite"},{"name":"vitest","old_version":"5.0.1","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"}],"path":"/web","ecosystem":"npm"},"body":"Bumps the web group in /web with 12 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.103.2` | `5.104.1` |\n| [@tanstack/react-table](https://github.com/TanStack/table/tree/HEAD/packages/react-table) | `8.21.3` | `9.2.4` |\n| [react](https://github.com/react/react/tree/HEAD/packages/react) | `18.3.1` | `19.3.0` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `18.3.31` | `19.3.0` |\n| [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) | `18.3.1` | `19.3.0` |\n| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `18.3.7` | `19.3.0` |\n| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `7.18.4` | `8.4.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.20.4` | `26.6.4` |\n| [jsdom](https://github.com/jsdom/jsdom) | `25.0.1` | `30.1.1` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `7.0.2` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.3.1` | `8.3.2` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.1` | `5.0.3` |\n\nUpdates `@tanstack/react-query` from 5.103.2 to 5.104.1\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'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.104.1\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/ec060b6f74b2e51f4b0c78932beec656ef6f6878\"\u003e\u003ccode\u003eec060b6\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.104.1\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.104.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-next-experimental\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.104.1\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/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.104.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-persist-client\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.104.1\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-persist-client-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.104.1\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.104.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\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.104.1\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-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.104.1\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.104.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/TanStack/query/pull/11650\"\u003e#11650\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/query/commit/5279b05211223dd719803ca22a9d1fa46c98638e\"\u003e\u003ccode\u003e5279b05\u003c/code\u003e\u003c/a\u003e - Build projects with Vite 8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/5279b05211223dd719803ca22a9d1fa46c98638e\"\u003e\u003ccode\u003e5279b05\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.104.0\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.104.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-next-experimental\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.104.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/TanStack/query/pull/11650\"\u003e#11650\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/query/commit/5279b05211223dd719803ca22a9d1fa46c98638e\"\u003e\u003ccode\u003e5279b05\u003c/code\u003e\u003c/a\u003e - Build projects with Vite 8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/5279b05211223dd719803ca22a9d1fa46c98638e\"\u003e\u003ccode\u003e5279b05\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.104.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-persist-client\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.104.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/blob/main/packages/react-query/CHANGELOG.md\"\u003e@​tanstack/react-query's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.104.1\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-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.104.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.104.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/TanStack/query/pull/11650\"\u003e#11650\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/query/commit/5279b05211223dd719803ca22a9d1fa46c98638e\"\u003e\u003ccode\u003e5279b05\u003c/code\u003e\u003c/a\u003e - Build projects with Vite 8\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/5279b05211223dd719803ca22a9d1fa46c98638e\"\u003e\u003ccode\u003e5279b05\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.104.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.103.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/TanStack/query/pull/11647\"\u003e#11647\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/query/commit/1c9693eac75495a04ae4328a35818b1fdf264978\"\u003e\u003ccode\u003e1c9693e\u003c/code\u003e\u003c/a\u003e - fix(codemods): avoid copying unnecessary files from codemods project\u003c/li\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.103.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/29859ae60c8dca0a5cdbf8abccc775b655cf43e2\"\u003e\u003ccode\u003e29859ae\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/11806\"\u003e#11806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/339e09f4e50f5e693e7d9d35b25ecac43f818cd0\"\u003e\u003ccode\u003e339e09f\u003c/code\u003e\u003c/a\u003e chore(*): manage 'react' eslint plugins with pnpm 'catalog' (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/11781\"\u003e#11781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/0a5727935a56db69e720222730e28523400c8f30\"\u003e\u003ccode\u003e0a57279\u003c/code\u003e\u003c/a\u003e test({react,preact,solid,angular}-query/mutationOptions): fix 'mutationOpt1' ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/c51bb623bb3999aa28aa7afde404d054689d2ee0\"\u003e\u003ccode\u003ec51bb62\u003c/code\u003e\u003c/a\u003e chore(*): declare '\u003ccode\u003e@​eslint-react/eslint-plugin\u003c/code\u003e' in the react packages and exa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/a91461326bd6708601104b2cfdb27af72c59dc7a\"\u003e\u003ccode\u003ea914613\u003c/code\u003e\u003c/a\u003e chore(*): declare 'eslint-plugin-react-hooks' in the react packages that use ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/d99c84b6b55775ce8ef4eca41f24ee90aefc578e\"\u003e\u003ccode\u003ed99c84b\u003c/code\u003e\u003c/a\u003e chore(*): update '\u003ccode\u003e@​eslint-react/eslint-plugin\u003c/code\u003e' to v5 and apply its 'recommend...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/fd96529f3e0b748874be4655516caecc5d6a0521\"\u003e\u003ccode\u003efd96529\u003c/code\u003e\u003c/a\u003e chore(*): update 'eslint-plugin-react-hooks' to v7 and use its stable 'recomm...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/e878990b869da186ade549145193cfc718ca3330\"\u003e\u003ccode\u003ee878990\u003c/code\u003e\u003c/a\u003e chore(*): manage 'react' packages with pnpm 'catalog' (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/11712\"\u003e#11712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/2e1ad64b525f6ff2034f169ab9c2f48f82f17296\"\u003e\u003ccode\u003e2e1ad64\u003c/code\u003e\u003c/a\u003e chore(*): declare 'npm-run-all2' once in the root 'package.json' like other s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/c1de23a80e8c2b69299101c9fb6b22bc7c17552f\"\u003e\u003ccode\u003ec1de23a\u003c/code\u003e\u003c/a\u003e chore(*): manage 'typescript' with pnpm 'catalog' and declare it in each pack...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TanStack/query/commits/@tanstack/react-query@5.104.1/packages/react-query\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tanstack/react-table` from 8.21.3 to 9.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/table/releases\"\u003e@​tanstack/react-table's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-table\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.2.4\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/table/commit/f72e5164bcfe749403ec173035c226f8719647fc\"\u003e\u003ccode\u003ef72e516\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.2.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-table\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.2.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/table/commit/468f26768d6f7e31010e14c3363b54696cb6a1eb\"\u003e\u003ccode\u003e468f267\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/TanStack/table/commit/3b946481795b53a53d6d823cea0ab3e368befec7\"\u003e\u003ccode\u003e3b94648\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.2.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-table-devtools\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.2\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/table-devtools\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-table\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/table/commit/ff436663f808e22091e8a4d2ee7ca81b37ea99c2\"\u003e\u003ccode\u003eff43666\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-table-devtools\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.1\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/table-devtools\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-table\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/table/commit/269e0d81c8b5c128de01cbab4ddb40240a4b8b38\"\u003e\u003ccode\u003e269e0d8\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.1\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/table/blob/main/packages/react-table/CHANGELOG.md\"\u003e@​tanstack/react-table's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.2.4\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/table/commit/f72e5164bcfe749403ec173035c226f8719647fc\"\u003e\u003ccode\u003ef72e516\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.2.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.2.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/table/commit/468f26768d6f7e31010e14c3363b54696cb6a1eb\"\u003e\u003ccode\u003e468f267\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/TanStack/table/commit/3b946481795b53a53d6d823cea0ab3e368befec7\"\u003e\u003ccode\u003e3b94648\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.2.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.1.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/table/commit/ff436663f808e22091e8a4d2ee7ca81b37ea99c2\"\u003e\u003ccode\u003eff43666\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.1.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/table/commit/269e0d81c8b5c128de01cbab4ddb40240a4b8b38\"\u003e\u003ccode\u003e269e0d8\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.1.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/table/commit/09598d2e413fe63396d183a8a4fc145c31c6d2ea\"\u003e\u003ccode\u003e09598d2\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.1.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.0.1\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/TanStack/table/pull/6521\"\u003e#6521\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/table/commit/10accb27cef872d84118580dba03b541c887378e\"\u003e\u003ccode\u003e10accb2\u003c/code\u003e\u003c/a\u003e - Column defs built with \u003ccode\u003elegacyCreateColumnHelper\u003c/code\u003e now accept the built-in \u003ccode\u003efilterFn\u003c/code\u003e, \u003ccode\u003esortFn\u003c/code\u003e, and \u003ccode\u003eaggregationFn\u003c/code\u003e names, matching the registries \u003ccode\u003euseLegacyTable\u003c/code\u003e registers at runtime.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/table-core\u003c/code\u003e\u003ca href=\"https://github.com/9\"\u003e\u003ccode\u003e@​9\u003c/code\u003e\u003c/a\u003e.0.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.0.0\u003c/h2\u003e\n\u003ch3\u003eMajor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/TanStack/table/pull/6512\"\u003e#6512\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/table/commit/2327f80906bebbfef5766cebf556d195952f459e\"\u003e\u003ccode\u003e2327f80\u003c/code\u003e\u003c/a\u003e - TanStack Table v9 stable release. See the \u0026quot;Migrating to V9\u0026quot; guide for your framework (e.g. \u003ca href=\"https://tanstack.com/table/latest/docs/framework/react/guide/migrating\"\u003eReact\u003c/a\u003e) for upgrade instructions.\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/TanStack/table/commit/d01c01bedbab0ff6c2641f18b2fc9a11545d9bf6\"\u003e\u003ccode\u003ed01c01b\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/table/tree/HEAD/packages/react-table/issues/6580\"\u003e#6580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/table/commit/f72e5164bcfe749403ec173035c226f8719647fc\"\u003e\u003ccode\u003ef72e516\u003c/code\u003e\u003c/a\u003e fix: Add realtime (w/ fake data) trading table example (\u003ca href=\"https://github.com/TanStack/table/tree/HEAD/packages/react-table/issues/6561\"\u003e#6561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/table/commit/3bfc1bf60b3f00218394b744939eda4699e9ca2b\"\u003e\u003ccode\u003e3bfc1bf\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/table/tree/HEAD/packages/react-table/issues/6575\"\u003e#6575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/table/commit/ac4f1345220649da3c60a24471b7f130fb159ab4\"\u003e\u003ccode\u003eac4f134\u003c/code\u003e\u003c/a\u003e docs: add react compiler guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/table/commit/faa261b54c00ab4758861c1903bfce70a158f1c6\"\u003e\u003ccode\u003efaa261b\u003c/code\u003e\u003c/a\u003e feat: support latest TanStack Devtools and refresh package versions (\u003ca href=\"https://github.com/TanStack/table/tree/HEAD/packages/react-table/issues/6553\"\u003e#6553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/table/commit/ff7653dad0bf1525ed8c3e8d6fe2e64c64e8a280\"\u003e\u003ccode\u003eff7653d\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/table/tree/HEAD/packages/react-table/issues/6533\"\u003e#6533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/table/commit/ff436663f808e22091e8a4d2ee7ca81b37ea99c2\"\u003e\u003ccode\u003eff43666\u003c/code\u003e\u003c/a\u003e refactor(table-core): centralize no-op state update guarding in setStateSlice...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/table/commit/058a5208ef56a03a6e7caeaf64adb6be49830b2d\"\u003e\u003ccode\u003e058a520\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/table/tree/HEAD/packages/react-table/issues/6531\"\u003e#6531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/table/commit/3af6abca64da187e1cdf16ae370716d2d94cdf60\"\u003e\u003ccode\u003e3af6abc\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/table/tree/HEAD/packages/react-table/issues/6527\"\u003e#6527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/table/commit/896e998827555b6d851c443fd54fc105bac00363\"\u003e\u003ccode\u003e896e998\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/table/tree/HEAD/packages/react-table/issues/6525\"\u003e#6525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TanStack/table/commits/@tanstack/react-table@9.2.4/packages/react-table\"\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@​tanstack/react-table\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react` from 18.3.1 to 19.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/react/react/releases\"\u003ereact's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e19.3.0 (September 9, 2026)\u003c/h2\u003e\n\u003cp\u003eBelow is a list of all new features, APIs, and bug fixes.\u003c/p\u003e\n\u003cp\u003eRead the \u003ca href=\"https://react.dev/blog/2026/09/09/react-19-3\"\u003eReact 19.3 release post\u003c/a\u003e for more information.\u003c/p\u003e\n\u003ch2\u003eNew React Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e\u0026lt;ViewTransition /\u0026gt;\u003c/code\u003e: Adds \u003ccode\u003e\u0026lt;ViewTransition /\u0026gt;\u003c/code\u003e and \u003ccode\u003eaddTransitionType\u003c/code\u003e APIs to power View Transition animations in React (\u003ca href=\"https://github.com/sebmarkbage\"\u003e\u003ccode\u003e@​sebmarkbage\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jackpope\"\u003e\u003ccode\u003e@​jackpope\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gaearon\"\u003e\u003ccode\u003e@​gaearon\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/31975\"\u003e#31975\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/31987\"\u003e#31987\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/31996\"\u003e#31996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/31999\"\u003e#31999\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32001\"\u003e#32001\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32002\"\u003e#32002\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32028\"\u003e#32028\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32029\"\u003e#32029\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32031\"\u003e#32031\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32034\"\u003e#32034\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32038\"\u003e#32038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32041\"\u003e#32041\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32050\"\u003e#32050\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32090\"\u003e#32090\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32105\"\u003e#32105\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32254\"\u003e#32254\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32379\"\u003e#32379\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32422\"\u003e#32422\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32462\"\u003e#32462\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32540\"\u003e#32540\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32545\"\u003e#32545\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32585\"\u003e#32585\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32599\"\u003e#32599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32611\"\u003e#32611\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32612\"\u003e#32612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32617\"\u003e#32617\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32651\"\u003e#32651\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32653\"\u003e#32653\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32656\"\u003e#32656\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32664\"\u003e#32664\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32699\"\u003e#32699\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32723\"\u003e#32723\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32734\"\u003e#32734\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32751\"\u003e#32751\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32752\"\u003e#32752\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32760\"\u003e#32760\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32761\"\u003e#32761\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32764\"\u003e#32764\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32772\"\u003e#32772\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32790\"\u003e#32790\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32819\"\u003e#32819\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32820\"\u003e#32820\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32822\"\u003e#32822\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32833\"\u003e#32833\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32849\"\u003e#32849\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33094\"\u003e#33094\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33191\"\u003e#33191\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33200\"\u003e#33200\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33206\"\u003e#33206\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33293\"\u003e#33293\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33330\"\u003e#33330\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33331\"\u003e#33331\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33332\"\u003e#33332\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33357\"\u003e#33357\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33362\"\u003e#33362\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33433\"\u003e#33433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33576\"\u003e#33576\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34374\"\u003e#34374\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34450\"\u003e#34450\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34481\"\u003e#34481\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34500\"\u003e#34500\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34502\"\u003e#34502\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34510\"\u003e#34510\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34511\"\u003e#34511\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34539\"\u003e#34539\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35567\"\u003e#35567\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35564\"\u003e#35564\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35485\"\u003e#35485\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35380\"\u003e#35380\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35063\"\u003e#35063\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35060\"\u003e#35060\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34676\"\u003e#34676\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/36917\"\u003e#36917\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35337\"\u003e#35337\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35520\"\u003e#35520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFragment Refs: Add Refs to \u003ccode\u003e\u0026lt;Fragment /\u0026gt;\u003c/code\u003e to support composable platform behavior (\u003ca href=\"https://github.com/jackpope\"\u003e\u003ccode\u003e@​jackpope\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/sebmarkbage\"\u003e\u003ccode\u003e@​sebmarkbage\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Dhakshin2007\"\u003e\u003ccode\u003e@​Dhakshin2007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/chirokas\"\u003e\u003ccode\u003e@​chirokas\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/teamleaderleo\"\u003e\u003ccode\u003e@​teamleaderleo\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/fallintoplace\"\u003e\u003ccode\u003e@​fallintoplace\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/32465\"\u003e#32465\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32613\"\u003e#32613\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32619\"\u003e#32619\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32654\"\u003e#32654\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32660\"\u003e#32660\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32682\"\u003e#32682\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32722\"\u003e#32722\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32813\"\u003e#32813\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32814\"\u003e#32814\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33056\"\u003e#33056\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33058\"\u003e#33058\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33093\"\u003e#33093\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34069\"\u003e#34069\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34103\"\u003e#34103\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34544\"\u003e#34544\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34545\"\u003e#34545\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37062\"\u003e#37062\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37061\"\u003e#37061\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37060\"\u003e#37060\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/36047\"\u003e#36047\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/36010\"\u003e#36010\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35642\"\u003e#35642\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35641\"\u003e#35641\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35637\"\u003e#35637\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35630\"\u003e#35630\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34935\"\u003e#34935\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37457\"\u003e#37457\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37408\"\u003e#37408\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37326\"\u003e#37326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37251\"\u003e#37251\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37171\"\u003e#37171\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37169\"\u003e#37169\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37168\"\u003e#37168\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37167\"\u003e#37167\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37166\"\u003e#37166\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37165\"\u003e#37165\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37164\"\u003e#37164\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37163\"\u003e#37163\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37162\"\u003e#37162\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37161\"\u003e#37161\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37160\"\u003e#37160\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37125\"\u003e#37125\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37063\"\u003e#37063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew React DOM Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebrowser()\u003c/code\u003e: a new \u003ccode\u003ereact-dom\u003c/code\u003e API that returns a usable which errors during server rendering and resolves in the browser. \u003ccode\u003euse(browser())\u003c/code\u003e inside a \u003ccode\u003e\u0026lt;Suspense\u0026gt;\u003c/code\u003e boundary marks a subtree as browser-only without reporting a recoverable error (\u003ca href=\"https://github.com/gnoff\"\u003e\u003ccode\u003e@​gnoff\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/37143\"\u003e#37143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37241\"\u003e#37241\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eAdded an \u003ccode\u003eonBrowserBailout\u003c/code\u003e option to the \u003ccode\u003ereact-dom/server\u003c/code\u003e APIs to observe when a subtree defers to the browser (\u003ca href=\"https://github.com/gnoff\"\u003e\u003ccode\u003e@​gnoff\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/37193\"\u003e#37193\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotable changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable Trusted Types API integration (\u003ca href=\"https://github.com/rickhanlonii\"\u003e\u003ccode\u003e@​rickhanlonii\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35816\"\u003e#35816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTransitions now render independently instead of being entangled into a single render, so a slow transition no longer holds up unrelated ones (\u003ca href=\"https://github.com/acdlite\"\u003e\u003ccode\u003e@​acdlite\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/37290\"\u003e#37290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded a DEV-only warning when a component appears to have been unblocked by calling \u003ccode\u003euse()\u003c/code\u003e conditionally (\u003ca href=\"https://github.com/hoxyq\"\u003e\u003ccode\u003e@​hoxyq\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/37104\"\u003e#37104\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37203\"\u003e#37203\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37491\"\u003e#37491\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAll Changes\u003c/h2\u003e\n\u003ch3\u003eReact\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFast Refresh Fixes\n\u003cul\u003e\n\u003cli\u003eFix Fast Refresh to find and remount edits to components wrapped behind \u003ccode\u003elazy()\u003c/code\u003e (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36965\"\u003e#36965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Fast Refresh so edits to a \u003ccode\u003ememo()\u003c/code\u003e comparison function take effect (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36964\"\u003e#36964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Fast Refresh crash when an edit changes the kind of a component's type (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36963\"\u003e#36963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnify hot reload type resolution for Fast Refresh (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36962\"\u003e#36962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Fast Refresh to remount correctly when an edit changes the component kind (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36950\"\u003e#36950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDouble invoke effects in StrictMode after Fast Refresh (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35962\"\u003e#35962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ePerformance Track Fixes\n\u003cul\u003e\n\u003cli\u003ePrevent crash when accessing \u003ccode\u003e$$typeof\u003c/code\u003e in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35679\"\u003e#35679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-string function names in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35659\"\u003e#35659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse minus (\u003ccode\u003e-\u003c/code\u003e) instead of en dash for removed props in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35649\"\u003e#35649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle arrays with bigints in deep objects in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35648\"\u003e#35648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't enumerate typed array props in Performance Tracks in DEV (\u003ca href=\"https://github.com/UditDewan\"\u003e\u003ccode\u003e@​UditDewan\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36913\"\u003e#36913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBail out of diffing wide objects and arrays in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34742\"\u003e#34742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClear potentially large performance measures in DEV (\u003ca href=\"https://github.com/hoxyq\"\u003e\u003ccode\u003e@​hoxyq\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34803\"\u003e#34803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing else branch for renders with no props change in Performance Tracks (\u003ca href=\"https://github.com/hoxyq\"\u003e\u003ccode\u003e@​hoxyq\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34837\"\u003e#34837\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eActivity Fixes\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003euseSyncExternalStore\u003c/code\u003e missing store mutations that happened while an Activity tree was hidden (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36947\"\u003e#36947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHide portal contents when an Activity is hidden (\u003ca href=\"https://github.com/acdlite\"\u003e\u003ccode\u003e@​acdlite\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35091\"\u003e#35091\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent metadata hoisting in hidden \u003ccode\u003e\u0026lt;Activity\u0026gt;\u003c/code\u003e trees (\u003ca href=\"https://github.com/ronnakamoto\"\u003e\u003ccode\u003e@​ronnakamoto\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34983\"\u003e#34983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent errors thrown inside a hidden Activity from escaping to the visible UI (\u003ca href=\"https://github.com/acdlite\"\u003e\u003ccode\u003e@​acdlite\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35074\"\u003e#35074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't unhide a node if a direct parent Offscreen is still hidden (\u003ca href=\"https://github.com/sebmarkbage\"\u003e\u003ccode\u003e@​sebmarkbage\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34821\"\u003e#34821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't show internal \u003ccode\u003e\u0026lt;Offscreen\u0026gt;\u003c/code\u003e component in error messages (\u003ca href=\"https://github.com/rickhanlonii\"\u003e\u003ccode\u003e@​rickhanlonii\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35763\"\u003e#35763\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eWarn in DEV when a component appears to have been unblocked by a conditional \u003ccode\u003euse()\u003c/code\u003e (\u003ca href=\"https://github.com/hoxyq\"\u003e\u003ccode\u003e@​hoxyq\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/37104\"\u003e#37104\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37203\"\u003e#37203\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37491\"\u003e#37491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRender transitions independently instead of entangling them into a single render (\u003ca href=\"https://github.com/acdlite\"\u003e\u003ccode\u003e@​acdlite\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/37290\"\u003e#37290\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/react/react/blob/main/CHANGELOG.md\"\u003ereact's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e19.3.0 (September 9, 2026)\u003c/h2\u003e\n\u003ch3\u003eNew React Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e\u0026lt;ViewTransition /\u0026gt;\u003c/code\u003e: Adds \u003ccode\u003e\u0026lt;ViewTransition /\u0026gt;\u003c/code\u003e and \u003ccode\u003eaddTransitionType\u003c/code\u003e APIs to power View Transition animations in React (\u003ca href=\"https://github.com/sebmarkbage\"\u003e\u003ccode\u003e@​sebmarkbage\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jackpope\"\u003e\u003ccode\u003e@​jackpope\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gaearon\"\u003e\u003ccode\u003e@​gaearon\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/31975\"\u003e#31975\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/31987\"\u003e#31987\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/31996\"\u003e#31996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/31999\"\u003e#31999\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32001\"\u003e#32001\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32002\"\u003e#32002\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32028\"\u003e#32028\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32029\"\u003e#32029\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32031\"\u003e#32031\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32034\"\u003e#32034\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32038\"\u003e#32038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32041\"\u003e#32041\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32050\"\u003e#32050\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32090\"\u003e#32090\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32105\"\u003e#32105\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32254\"\u003e#32254\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32379\"\u003e#32379\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32422\"\u003e#32422\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32462\"\u003e#32462\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32540\"\u003e#32540\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32545\"\u003e#32545\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32585\"\u003e#32585\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32599\"\u003e#32599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32611\"\u003e#32611\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32612\"\u003e#32612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32617\"\u003e#32617\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32651\"\u003e#32651\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32653\"\u003e#32653\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32656\"\u003e#32656\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32664\"\u003e#32664\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32699\"\u003e#32699\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32723\"\u003e#32723\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32734\"\u003e#32734\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32751\"\u003e#32751\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32752\"\u003e#32752\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32760\"\u003e#32760\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32761\"\u003e#32761\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32764\"\u003e#32764\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32772\"\u003e#32772\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32790\"\u003e#32790\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32819\"\u003e#32819\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32820\"\u003e#32820\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32822\"\u003e#32822\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32833\"\u003e#32833\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32849\"\u003e#32849\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33094\"\u003e#33094\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33191\"\u003e#33191\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33200\"\u003e#33200\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33206\"\u003e#33206\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33293\"\u003e#33293\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33330\"\u003e#33330\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33331\"\u003e#33331\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33332\"\u003e#33332\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33357\"\u003e#33357\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33362\"\u003e#33362\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33433\"\u003e#33433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33576\"\u003e#33576\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34374\"\u003e#34374\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34450\"\u003e#34450\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34481\"\u003e#34481\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34500\"\u003e#34500\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34502\"\u003e#34502\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34510\"\u003e#34510\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34511\"\u003e#34511\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34539\"\u003e#34539\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35567\"\u003e#35567\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35564\"\u003e#35564\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35485\"\u003e#35485\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35380\"\u003e#35380\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35063\"\u003e#35063\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35060\"\u003e#35060\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34676\"\u003e#34676\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/36917\"\u003e#36917\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35337\"\u003e#35337\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35520\"\u003e#35520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFragment Refs: Add Refs to \u003ccode\u003e\u0026lt;Fragment /\u0026gt;\u003c/code\u003e to support composable platform behavior (\u003ca href=\"https://github.com/jackpope\"\u003e\u003ccode\u003e@​jackpope\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/sebmarkbage\"\u003e\u003ccode\u003e@​sebmarkbage\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Dhakshin2007\"\u003e\u003ccode\u003e@​Dhakshin2007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/chirokas\"\u003e\u003ccode\u003e@​chirokas\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/teamleaderleo\"\u003e\u003ccode\u003e@​teamleaderleo\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/fallintoplace\"\u003e\u003ccode\u003e@​fallintoplace\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/32465\"\u003e#32465\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32613\"\u003e#32613\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32619\"\u003e#32619\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32654\"\u003e#32654\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32660\"\u003e#32660\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32682\"\u003e#32682\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32722\"\u003e#32722\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32813\"\u003e#32813\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32814\"\u003e#32814\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33056\"\u003e#33056\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33058\"\u003e#33058\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33093\"\u003e#33093\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34069\"\u003e#34069\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34103\"\u003e#34103\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34544\"\u003e#34544\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34545\"\u003e#34545\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37062\"\u003e#37062\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37061\"\u003e#37061\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37060\"\u003e#37060\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/36047\"\u003e#36047\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/36010\"\u003e#36010\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35642\"\u003e#35642\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35641\"\u003e#35641\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35637\"\u003e#35637\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35630\"\u003e#35630\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34935\"\u003e#34935\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37457\"\u003e#37457\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37408\"\u003e#37408\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37326\"\u003e#37326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37251\"\u003e#37251\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37171\"\u003e#37171\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37169\"\u003e#37169\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37168\"\u003e#37168\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37167\"\u003e#37167\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37166\"\u003e#37166\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37165\"\u003e#37165\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37164\"\u003e#37164\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37163\"\u003e#37163\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37162\"\u003e#37162\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37161\"\u003e#37161\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37160\"\u003e#37160\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37125\"\u003e#37125\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37063\"\u003e#37063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew React DOM Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebrowser()\u003c/code\u003e: a new \u003ccode\u003ereact-dom\u003c/code\u003e API that returns a usable which errors during server rendering and resolves in the browser. \u003ccode\u003euse(browser())\u003c/code\u003e inside a \u003ccode\u003e\u0026lt;Suspense\u0026gt;\u003c/code\u003e boundary marks a subtree as browser-only without reporting a recoverable error (\u003ca href=\"https://github.com/gnoff\"\u003e\u003ccode\u003e@​gnoff\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/37143\"\u003e#37143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37241\"\u003e#37241\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eAdded an \u003ccode\u003eonBrowserBailout\u003c/code\u003e option to the \u003ccode\u003ereact-dom/server\u003c/code\u003e APIs to observe when a subtree defers to the browser (\u003ca href=\"https://github.com/gnoff\"\u003e\u003ccode\u003e@​gnoff\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/37193\"\u003e#37193\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNotable changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable Trusted Types API integration (\u003ca href=\"https://github.com/rickhanlonii\"\u003e\u003ccode\u003e@​rickhanlonii\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35816\"\u003e#35816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTransitions now render independently instead of being entangled into a single render, so a slow transition no longer holds up unrelated ones (\u003ca href=\"https://github.com/acdlite\"\u003e\u003ccode\u003e@​acdlite\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/37290\"\u003e#37290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded a DEV-only warning when a component appears to have been unblocked by calling \u003ccode\u003euse()\u003c/code\u003e conditionally (\u003ca href=\"https://github.com/hoxyq\"\u003e\u003ccode\u003e@​hoxyq\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/37104\"\u003e#37104\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37203\"\u003e#37203\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37491\"\u003e#37491\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAll Changes\u003c/h3\u003e\n\u003ch4\u003eReact\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFast Refresh Fixes\n\u003cul\u003e\n\u003cli\u003eFix Fast Refresh to find and remount edits to components wrapped behind \u003ccode\u003elazy()\u003c/code\u003e (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36965\"\u003e#36965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Fast Refresh so edits to a \u003ccode\u003ememo()\u003c/code\u003e comparison function take effect (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36964\"\u003e#36964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Fast Refresh crash when an edit changes the kind of a component's type (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36963\"\u003e#36963\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnify hot reload type resolution for Fast Refresh (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36962\"\u003e#36962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Fast Refresh to remount correctly when an edit changes the component kind (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36950\"\u003e#36950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDouble invoke effects in StrictMode after Fast Refresh (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35962\"\u003e#35962\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ePerformance Track Fixes\n\u003cul\u003e\n\u003cli\u003ePrevent crash when accessing \u003ccode\u003e$$typeof\u003c/code\u003e in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35679\"\u003e#35679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle non-string function names in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35659\"\u003e#35659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse minus (\u003ccode\u003e-\u003c/code\u003e) instead of en dash for removed props in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35649\"\u003e#35649\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle arrays with bigints in deep objects in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35648\"\u003e#35648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't enumerate typed array props in Performance Tracks in DEV (\u003ca href=\"https://github.com/UditDewan\"\u003e\u003ccode\u003e@​UditDewan\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36913\"\u003e#36913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBail out of diffing wide objects and arrays in Performance Tracks (\u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34742\"\u003e#34742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClear potentially large performance measures in DEV (\u003ca href=\"https://github.com/hoxyq\"\u003e\u003ccode\u003e@​hoxyq\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34803\"\u003e#34803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix missing else branch for renders with no props change in Performance Tracks (\u003ca href=\"https://github.com/hoxyq\"\u003e\u003ccode\u003e@​hoxyq\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34837\"\u003e#34837\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eActivity Fixes\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003euseSyncExternalStore\u003c/code\u003e missing store mutations that happened while an Activity tree was hidden (\u003ca href=\"https://github.com/sophiebits\"\u003e\u003ccode\u003e@​sophiebits\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/36947\"\u003e#36947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHide portal contents when an Activity is hidden (\u003ca href=\"https://github.com/acdlite\"\u003e\u003ccode\u003e@​acdlite\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35091\"\u003e#35091\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent metadata hoisting in hidden \u003ccode\u003e\u0026lt;Activity\u0026gt;\u003c/code\u003e trees (\u003ca href=\"https://github.com/ronnakamoto\"\u003e\u003ccode\u003e@​ronnakamoto\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34983\"\u003e#34983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent errors thrown inside a hidden Activity from escaping to the visible UI (\u003ca href=\"https://github.com/acdlite\"\u003e\u003ccode\u003e@​acdlite\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35074\"\u003e#35074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't unhide a node if a direct parent Offscreen is still hidden (\u003ca href=\"https://github.com/sebmarkbage\"\u003e\u003ccode\u003e@​sebmarkbage\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/34821\"\u003e#34821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't show internal \u003ccode\u003e\u0026lt;Offscreen\u0026gt;\u003c/code\u003e component in error messages (\u003ca href=\"https://github.com/rickhanlonii\"\u003e\u003ccode\u003e@​rickhanlonii\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/35763\"\u003e#35763\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eWarn in DEV when a component appears to have been unblocked by a conditional \u003ccode\u003euse()\u003c/code\u003e (\u003ca href=\"https://github.com/hoxyq\"\u003e\u003ccode\u003e@​hoxyq\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/37104\"\u003e#37104\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37203\"\u003e#37203\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37491\"\u003e#37491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRender transitions independently instead of entangling them into a single render (\u003ca href=\"https://github.com/acdlite\"\u003e\u003ccode\u003e@​acdlite\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/37290\"\u003e#37290\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix hang when updating a dehydrated boundary inside a hidden tree (\u003ca href=\"https://github.com/gaearon\"\u003e\u003ccode\u003e@​gaearon\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/37135\"\u003e#37135\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't reacquire Host Singletons during dev effect validation (\u003ca href=\"https://github.com/gnoff\"\u003e\u003ccode\u003e@​gnoff\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/37113\"\u003e#37113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly remove properties from Host Singletons on release (\u003ca href=\"https://github.com/gnoff\"\u003e\u003ccode\u003e@​gnoff\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/facebook/react/pull/37112\"\u003e#37112\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/react/react/commit/2dc7da790d6388b95b83198ca9b588b2ad5f5c0b\"\u003e\u003ccode\u003e2dc7da7\u003c/code\u003e\u003c/a\u003e [test] Bump Jest to 30.4 (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/37382\"\u003e#37382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react/react/commit/4f9389423b7319e1f7acc3d158c84a8365462748\"\u003e\u003ccode\u003e4f93894\u003c/code\u003e\u003c/a\u003e docs: remove stale parentType param from validateChildKeys JSDoc (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/36928\"\u003e#36928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react/react/commit/dbc37501ffeaf8fec45af5898caf1c3d64ad10bf\"\u003e\u003ccode\u003edbc3750\u003c/code\u003e\u003c/a\u003e Update required references to GitHub repo (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/36752\"\u003e#36752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react/react/commit/900ae094d85b11c67d53dd14af50a2bda5db4495\"\u003e\u003ccode\u003e900ae09\u003c/code\u003e\u003c/a\u003e [flow] Bump flow to v0.317.0 (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/36701\"\u003e#36701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react/react/commit/fbb137059e4aacfaab1d36516e9b55050b4a0454\"\u003e\u003ccode\u003efbb1370\u003c/code\u003e\u003c/a\u003e [flow] Bump flow to v0.307.1 (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/36199\"\u003e#36199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react/react/commit/56922cf751fab6c7ab4c12ddbbd15839959fa255\"\u003e\u003ccode\u003e56922cf\u003c/code\u003e\u003c/a\u003e [react-native-renderer] Delete Paper (legacy) renderer (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/36285\"\u003e#36285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react/react/commit/74568e8627aa43469b74f2972f427a209639d0b6\"\u003e\u003ccode\u003e74568e8\u003c/code\u003e\u003c/a\u003e [Flight] Transport \u003ccode\u003eAggregateErrors.errors\u003c/code\u003e (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/36156\"\u003e#36156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react/react/commit/e66ef6480ecd19c6885f2c06dec34fec1fdc0a98\"\u003e\u003ccode\u003ee66ef64\u003c/code\u003e\u003c/a\u003e [tests] remove withoutStack from assertConsole helpers (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/35498\"\u003e#35498\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react/react/commit/db71391c5c70dc113560d1c23d0b6548604d827f\"\u003e\u003ccode\u003edb71391\u003c/code\u003e\u003c/a\u003e [Fiber] Instrument the lazy initializer thenable in all cases (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/35521\"\u003e#35521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/react/react/commit/3e1abcc8d7083a13adf4774feb0d67ecbe4a2bc4\"\u003e\u003ccode\u003e3e1abcc\u003c/code\u003e\u003c/a\u003e [tests] Require exact error messages in assertConsole helpers (\u003ca href=\"https://github.com/react/react/tree/HEAD/packages/react/issues/35497\"\u003e#35497\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/react/react/commits/v19.3.0/packages/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 react since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/react` from 18.3.31 to 19.3.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/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 18.3.1 to 19.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/react/react/releases\"\u003ereact-dom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e19.3.0 (September 9, 2026)\u003c/h2\u003e\n\u003cp\u003eBelow is a list of all new features, APIs, and bug fixes.\u003c/p\u003e\n\u003cp\u003eRead the \u003ca href=\"https://react.dev/blog/2026/09/09/react-19-3\"\u003eReact 19.3 release post\u003c/a\u003e for more information.\u003c/p\u003e\n\u003ch2\u003eNew React Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e\u0026lt;ViewTransition /\u0026gt;\u003c/code\u003e: Adds \u003ccode\u003e\u0026lt;ViewTransition /\u0026gt;\u003c/code\u003e and \u003ccode\u003eaddTransitionType\u003c/code\u003e APIs to power View Transition animations in React (\u003ca href=\"https://github.com/sebmarkbage\"\u003e\u003ccode\u003e@​sebmarkbage\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jackpope\"\u003e\u003ccode\u003e@​jackpope\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gaearon\"\u003e\u003ccode\u003e@​gaearon\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/31975\"\u003e#31975\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/31987\"\u003e#31987\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/31996\"\u003e#31996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/31999\"\u003e#31999\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32001\"\u003e#32001\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32002\"\u003e#32002\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32028\"\u003e#32028\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32029\"\u003e#32029\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32031\"\u003e#32031\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32034\"\u003e#32034\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32038\"\u003e#32038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32041\"\u003e#32041\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32050\"\u003e#32050\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32090\"\u003e#32090\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32105\"\u003e#32105\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32254\"\u003e#32254\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32379\"\u003e#32379\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32422\"\u003e#32422\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32462\"\u003e#32462\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32540\"\u003e#32540\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32545\"\u003e#32545\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32585\"\u003e#32585\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32599\"\u003e#32599\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32611\"\u003e#32611\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32612\"\u003e#32612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32617\"\u003e#32617\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32651\"\u003e#32651\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32653\"\u003e#32653\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32656\"\u003e#32656\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32664\"\u003e#32664\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32699\"\u003e#32699\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32723\"\u003e#32723\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32734\"\u003e#32734\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32751\"\u003e#32751\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32752\"\u003e#32752\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32760\"\u003e#32760\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32761\"\u003e#32761\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32764\"\u003e#32764\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32772\"\u003e#32772\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32790\"\u003e#32790\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32819\"\u003e#32819\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32820\"\u003e#32820\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32822\"\u003e#32822\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32833\"\u003e#32833\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32849\"\u003e#32849\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33094\"\u003e#33094\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33191\"\u003e#33191\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33200\"\u003e#33200\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33206\"\u003e#33206\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33293\"\u003e#33293\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33330\"\u003e#33330\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33331\"\u003e#33331\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33332\"\u003e#33332\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33357\"\u003e#33357\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33362\"\u003e#33362\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33433\"\u003e#33433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33576\"\u003e#33576\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34374\"\u003e#34374\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34450\"\u003e#34450\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34481\"\u003e#34481\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34500\"\u003e#34500\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34502\"\u003e#34502\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34510\"\u003e#34510\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34511\"\u003e#34511\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34539\"\u003e#34539\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35567\"\u003e#35567\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35564\"\u003e#35564\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35485\"\u003e#35485\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35380\"\u003e#35380\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35063\"\u003e#35063\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35060\"\u003e#35060\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34676\"\u003e#34676\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/36917\"\u003e#36917\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35337\"\u003e#35337\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35520\"\u003e#35520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFragment Refs: Add Refs to \u003ccode\u003e\u0026lt;Fragment /\u0026gt;\u003c/code\u003e to support composable platform behavior (\u003ca href=\"https://github.com/jackpope\"\u003e\u003ccode\u003e@​jackpope\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/sebmarkbage\"\u003e\u003ccode\u003e@​sebmarkbage\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Dhakshin2007\"\u003e\u003ccode\u003e@​Dhakshin2007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/chirokas\"\u003e\u003ccode\u003e@​chirokas\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/teamleaderleo\"\u003e\u003ccode\u003e@​teamleaderleo\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/fallintoplace\"\u003e\u003ccode\u003e@​fallintoplace\u003c/code\u003e\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/facebook/react/pull/32465\"\u003e#32465\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32613\"\u003e#32613\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32619\"\u003e#32619\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32654\"\u003e#32654\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32660\"\u003e#32660\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32682\"\u003e#32682\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32722\"\u003e#32722\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32813\"\u003e#32813\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/32814\"\u003e#32814\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33056\"\u003e#33056\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33058\"\u003e#33058\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/33093\"\u003e#33093\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34069\"\u003e#34069\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34103\"\u003e#34103\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34544\"\u003e#34544\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34545\"\u003e#34545\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37062\"\u003e#37062\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37061\"\u003e#37061\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37060\"\u003e#37060\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/36047\"\u003e#36047\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/36010\"\u003e#36010\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35642\"\u003e#35642\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35641\"\u003e#35641\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35637\"\u003e#35637\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/35630\"\u003e#35630\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/34935\"\u003e#34935\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/facebook/react/pull/37457\"\u003e#374...\n\n_Description has been truncated_","html_url":"https://github.com/MMALI3287/vibewatt/pull/31","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MMALI3287%2Fvibewatt/issues/31","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/31/packages"}},{"old_version":"24.1.3","new_version":"30.1.1","update_type":"major","path":"/frontend","pr_created_at":"2026-10-05T22:32:10.000Z","version_change":"24.1.3 → 30.1.1","issue":{"uuid":"5719835203","node_id":"PR_kwDOSamjfs8AAAABGzbZXg","number":87,"state":"open","title":"chore(deps-dev): bump jsdom from 24.1.3 to 30.1.1 in /frontend","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":7,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-05T22:32:10.000Z","updated_at":"2026-10-06T16:47:45.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":"24.1.3","new_version":"30.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 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v24.1.3...v30.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","html_url":"https://github.com/fairglen/spacerental/pull/87","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/fairglen%2Fspacerental/issues/87","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/87/packages"}},{"old_version":"26.1.0","new_version":"30.1.1","update_type":"major","path":null,"pr_created_at":"2026-10-05T22:24:48.000Z","version_change":"26.1.0 → 30.1.1","issue":{"uuid":"5719760127","node_id":"PR_kwDORAI9I88AAAABGzXfrw","number":32,"state":"open","title":"chore(deps): bump jsdom from 26.1.0 to 30.1.1","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-10-05T22:24:48.000Z","updated_at":"2026-10-05T22:26:41.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"jsdom","old_version":"26.1.0","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jsdom](https://github.com/jsdom/jsdom) from 26.1.0 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v26.1.0...v30.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=30.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/SIMP-SIMPLIFICA/SIMP-FRONTEND/pull/32","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SIMP-SIMPLIFICA%2FSIMP-FRONTEND/issues/32","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/32/packages"}},{"old_version":"26.1.0","new_version":"30.1.1","update_type":"major","path":null,"pr_created_at":"2026-10-05T21:31:17.000Z","version_change":"26.1.0 → 30.1.1","issue":{"uuid":"5719187770","node_id":"PR_kwDOPJI6188AAAABGy5-hA","number":7272,"state":"closed","title":"chore(deps): bump jsdom from 26.1.0 to 30.1.1","user":"dependabot[bot]","labels":["frontend","major","dependencies","json","javascript","dco-signoff: yes","needs-ok-to-test","size/L","copilot"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-10-05T21:38:47.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-05T21:31:17.000Z","updated_at":"2026-10-05T21:41:59.000Z","time_to_close":450,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"jsdom","old_version":"26.1.0","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"}],"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 [jsdom](https://github.com/jsdom/jsdom) from 26.1.0 to 30.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\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\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 focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\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\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\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/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v26.1.0...v30.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=30.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/kubestellar/docs/pull/7272","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubestellar%2Fdocs/issues/7272","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7272/packages"}},{"old_version":"30.0.1","new_version":"30.1.1","update_type":"minor","path":null,"pr_created_at":"2026-10-05T18:41:16.000Z","version_change":"30.0.1 → 30.1.1","issue":{"uuid":"5717244966","node_id":"PR_kwDOQNRdbM8AAAABGxV_Hg","number":454,"state":"open","title":"chore(deps): bump the npm-dependencies group across 1 directory with 41 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-05T18:41:16.000Z","updated_at":"2026-10-05T21:01:17.999Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm-dependencies","update_count":41,"packages":[{"name":"@typescript-eslint/eslint-plugin","old_version":"8.69.0","new_version":"8.70.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.69.0","new_version":"8.70.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"eslint","old_version":"10.9.1","new_version":"10.11.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-n","old_version":"17.24.0","new_version":"18.3.0","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"knip","old_version":"6.34.0","new_version":"6.38.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"prettier","old_version":"3.9.6","new_version":"3.9.9","repository_url":"https://github.com/prettier/prettier"},{"name":"turbo","old_version":"2.10.12","new_version":"2.11.4","repository_url":"https://github.com/vercel/turborepo"},{"name":"@tanstack/react-query","old_version":"5.102.8","new_version":"5.103.2","repository_url":"https://github.com/TanStack/query"},{"name":"react-router","old_version":"7.18.3","new_version":"8.4.0","repository_url":"https://github.com/remix-run/react-router"},{"name":"@testing-library/dom","old_version":"10.4.1","new_version":"10.4.2","repository_url":"https://github.com/testing-library/dom-testing-library"},{"name":"jsdom","old_version":"30.0.1","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"nanostores","old_version":"1.5.3","new_version":"1.5.4","repository_url":"https://github.com/nanostores/nanostores"},{"name":"orval","old_version":"8.27.0","new_version":"8.37.0","repository_url":"https://github.com/orval-labs/orval"},{"name":"vite","old_version":"8.2.2","new_version":"8.3.1","repository_url":"https://github.com/vitejs/vite"},{"name":"@fastify/cors","old_version":"10.1.0","new_version":"11.3.0","repository_url":"https://github.com/fastify/fastify-cors"},{"name":"@fastify/rate-limit","old_version":"10.3.0","new_version":"11.2.0","repository_url":"https://github.com/fastify/fastify-rate-limit"},{"name":"@fastify/swagger","old_version":"9.8.1","new_version":"9.9.0","repository_url":"https://github.com/fastify/fastify-swagger"},{"name":"@fastify/under-pressure","old_version":"9.1.0","new_version":"9.2.0","repository_url":"https://github.com/fastify/under-pressure"},{"name":"fastify-plugin","old_version":"5.1.0","new_version":"6.0.0","repository_url":"https://github.com/fastify/fastify-plugin"},{"name":"tsc-alias","old_version":"1.9.3","new_version":"1.9.5","repository_url":"https://github.com/justkey007/tsc-alias"},{"name":"resend","old_version":"6.28.1","new_version":"6.30.0","repository_url":"https://github.com/resend/resend-node"},{"name":"drizzle-kit","old_version":"0.31.10","new_version":"0.31.11","repository_url":"https://github.com/drizzle-team/drizzle-orm"},{"name":"@langchain/anthropic","old_version":"1.5.9","new_version":"1.5.11","repository_url":"https://github.com/langchain-ai/langchainjs"},{"name":"@langchain/core","old_version":"1.2.9","new_version":"1.2.12","repository_url":"https://github.com/langchain-ai/langchainjs"},{"name":"@langchain/openai","old_version":"1.5.11","new_version":"1.5.13","repository_url":"https://github.com/langchain-ai/langchainjs"},{"name":"langchain","old_version":"1.5.10","new_version":"1.5.12","repository_url":"https://github.com/langchain-ai/langchainjs"},{"name":"langsmith","old_version":"0.10.1","new_version":"0.10.5","repository_url":"https://github.com/langchain-ai/langsmith-sdk"},{"name":"p-limit","old_version":"7.3.2","new_version":"7.3.3","repository_url":"https://github.com/sindresorhus/p-limit"},{"name":"ioredis","old_version":"5.11.1","new_version":"6.0.0","repository_url":"https://github.com/redis/ioredis"},{"name":"@dotenvx/dotenvx","old_version":"2.28.0","new_version":"2.30.0","repository_url":"https://github.com/dotenvx/dotenvx"},{"name":"@types/node","old_version":"26.5.1","new_version":"26.6.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"5.0.0","new_version":"5.0.2","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"better-auth","old_version":"1.7.4","new_version":"1.7.6","repository_url":"https://github.com/better-auth/better-auth"},{"name":"drizzle-orm","old_version":"0.45.2","new_version":"0.45.3","repository_url":"https://github.com/drizzle-team/drizzle-orm"},{"name":"react-dom","old_version":"19.2.8","new_version":"19.3.0","repository_url":"https://github.com/react/react"},{"name":"@types/react-dom","old_version":"19.2.5","new_version":"19.3.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react","old_version":"19.2.8","new_version":"19.3.0","repository_url":"https://github.com/react/react"},{"name":"@types/react","old_version":"19.2.18","new_version":"19.3.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"tsx","old_version":"4.23.13","new_version":"4.23.15","repository_url":"https://github.com/privatenumber/tsx"},{"name":"vitest","old_version":"5.0.0","new_version":"5.0.2","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"zod","old_version":"4.5.4","new_version":"4.6.5","repository_url":"https://github.com/colinhacks/zod"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-dependencies group with 41 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.69.0` | `8.70.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.69.0` | `8.70.1` |\n| [eslint](https://github.com/eslint/eslint) | `10.9.1` | `10.11.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `17.24.0` | `18.3.0` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.34.0` | `6.38.0` |\n| [prettier](https://github.com/prettier/prettier) | `3.9.6` | `3.9.9` |\n| [turbo](https://github.com/vercel/turborepo) | `2.10.12` | `2.11.4` |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.102.8` | `5.103.2` |\n| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `7.18.3` | `8.4.0` |\n| [@testing-library/dom](https://github.com/testing-library/dom-testing-library) | `10.4.1` | `10.4.2` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.0.1` | `30.1.1` |\n| [nanostores](https://github.com/nanostores/nanostores) | `1.5.3` | `1.5.4` |\n| [orval](https://github.com/orval-labs/orval) | `8.27.0` | `8.37.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.2.2` | `8.3.1` |\n| [@fastify/cors](https://github.com/fastify/fastify-cors) | `10.1.0` | `11.3.0` |\n| [@fastify/rate-limit](https://github.com/fastify/fastify-rate-limit) | `10.3.0` | `11.2.0` |\n| [@fastify/swagger](https://github.com/fastify/fastify-swagger) | `9.8.1` | `9.9.0` |\n| [@fastify/under-pressure](https://github.com/fastify/under-pressure) | `9.1.0` | `9.2.0` |\n| [fastify-plugin](https://github.com/fastify/fastify-plugin) | `5.1.0` | `6.0.0` |\n| [tsc-alias](https://github.com/justkey007/tsc-alias) | `1.9.3` | `1.9.5` |\n| [resend](https://github.com/resend/resend-node) | `6.28.1` | `6.30.0` |\n| [drizzle-kit](https://github.com/drizzle-team/drizzle-orm) | `0.31.10` | `0.31.11` |\n| [@langchain/anthropic](https://github.com/langchain-ai/langchainjs) | `1.5.9` | `1.5.11` |\n| [@langchain/core](https://github.com/langchain-ai/langchainjs) | `1.2.9` | `1.2.12` |\n| [@langchain/openai](https://github.com/langchain-ai/langchainjs) | `1.5.11` | `1.5.13` |\n| [langchain](https://github.com/langchain-ai/langchainjs) | `1.5.10` | `1.5.12` |\n| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.10.1` | `0.10.5` |\n| [p-limit](https://github.com/sindresorhus/p-limit) | `7.3.2` | `7.3.3` |\n| [ioredis](https://github.com/redis/ioredis) | `5.11.1` | `6.0.0` |\n| [@dotenvx/dotenvx](https://github.com/dotenvx/dotenvx) | `2.28.0` | `2.30.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.5.1` | `26.6.2` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `5.0.0` | `5.0.2` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.7.4` | `1.7.6` |\n| [drizzle-orm](https://github.com/drizzle-team/drizzle-orm) | `0.45.2` | `0.45.3` |\n| [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) | `19.2.8` | `19.3.0` |\n| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.2.5` | `19.3.0` |\n| [react](https://github.com/react/react/tree/HEAD/packages/react) | `19.2.8` | `19.3.0` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.18` | `19.3.0` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.23.13` | `4.23.15` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.0` | `5.0.2` |\n| [zod](https://github.com/colinhacks/zod) | `4.5.4` | `4.6.5` |\n\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.69.0 to 8.70.1\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.70.1\u003c/h2\u003e\n\u003ch2\u003e8.70.1 (2026-09-21)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003east-spec:\u003c/strong\u003e narrow import attribute keys to identifiers and strings (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12879\"\u003e#12879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] avoid false positives on tuples with a rest element (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12768\"\u003e#12768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] handle type precedence in the suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12637\"\u003e#12637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-explicit-any] use unknown[] for bare any rest parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12818\"\u003e#12818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-generated-empty-object-type] don't report a mapped type whose keys are not resolved yet (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12854\"\u003e#12854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-spread] omit WeakMap spread suggestions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12850\"\u003e#12850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] false positive for empty object asserted to a type alias of Record (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12869\"\u003e#12869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-meaningless-void-operator] allow void on assignment expressions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12873\"\u003e#12873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [await-thenable] prevent autofix from breaking code when removing \u003ccode\u003eawait\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12716\"\u003e#12716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-parameter-property-assignment] account for parameter reassignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12880\"\u003e#12880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unbound-method] treat Intl.Collator.prototype.compare as spec-bound (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12845\"\u003e#12845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] handle union-keyed index access on the left-hand side of nullish assignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12747\"\u003e#12747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] convert the fixer to a suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12826\"\u003e#12826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] handle multiple Promise constituents (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12904\"\u003e#12904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e test the final autofix output instead of the first pass (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12867\"\u003e#12867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003escope-manager:\u003c/strong\u003e merge implicit global definitions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12809\"\u003e#12809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match package specifiers on whole path components (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12838\"\u003e#12838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e resolve symlinked paths when matching files to projects (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12725\"\u003e#12725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e add missing \u003ccode\u003e\u0026lt;\u003c/code\u003e token opening type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12821\"\u003e#12821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e require string literal import attribute values (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12894\"\u003e#12894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewebsite:\u003c/strong\u003e prevent playground from breaking down after opening link with the .js file type (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12777\"\u003e#12777\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAmin \u003ca href=\"https://github.com/amiin-dev\"\u003e\u003ccode\u003e@​amiin-dev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCameron\u003c/li\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\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\u003eGrit \u003ca href=\"https://github.com/Grit03\"\u003e\u003ccode\u003e@​Grit03\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHugo \u003ca href=\"https://github.com/hugop95\"\u003e\u003ccode\u003e@​hugop95\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eMichael Naumov \u003ca href=\"https://github.com/mnaoumov\"\u003e\u003ccode\u003e@​mnaoumov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMikhail Baev \u003ca href=\"https://github.com/baevm\"\u003e\u003ccode\u003e@​baevm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOm Rawat\u003c/li\u003e\n\u003cli\u003eoverlookmotel\u003c/li\u003e\n\u003cli\u003eSanath \u003ca href=\"https://github.com/sansynx\"\u003e\u003ccode\u003e@​sansynx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShinji\u003c/li\u003e\n\u003cli\u003estoicism \u003ca href=\"https://github.com/stoicism02\"\u003e\u003ccode\u003e@​stoicism02\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e김채영 \u003ca href=\"https://github.com/cchaeyoung\"\u003e\u003ccode\u003e@​cchaeyoung\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e송재욱\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\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/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.70.1 (2026-09-21)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] handle multiple Promise constituents (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12904\"\u003e#12904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] convert the fixer to a suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12826\"\u003e#12826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] handle union-keyed index access on the left-hand side of nullish assignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12747\"\u003e#12747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unbound-method] treat Intl.Collator.prototype.compare as spec-bound (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12845\"\u003e#12845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-parameter-property-assignment] account for parameter reassignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12880\"\u003e#12880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [await-thenable] prevent autofix from breaking code when removing \u003ccode\u003eawait\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12716\"\u003e#12716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-meaningless-void-operator] allow void on assignment expressions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12873\"\u003e#12873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] false positive for empty object asserted to a type alias of Record (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12869\"\u003e#12869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-spread] omit WeakMap spread suggestions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12850\"\u003e#12850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-generated-empty-object-type] don't report a mapped type whose keys are not resolved yet (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12854\"\u003e#12854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-explicit-any] use unknown[] for bare any rest parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12818\"\u003e#12818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] handle type precedence in the suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12637\"\u003e#12637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] avoid false positives on tuples with a rest element (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12768\"\u003e#12768\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGrit \u003ca href=\"https://github.com/Grit03\"\u003e\u003ccode\u003e@​Grit03\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHugo \u003ca href=\"https://github.com/hugop95\"\u003e\u003ccode\u003e@​hugop95\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMichael Naumov \u003ca href=\"https://github.com/mnaoumov\"\u003e\u003ccode\u003e@​mnaoumov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMikhail Baev \u003ca href=\"https://github.com/baevm\"\u003e\u003ccode\u003e@​baevm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOm Rawat\u003c/li\u003e\n\u003cli\u003eSanath \u003ca href=\"https://github.com/sansynx\"\u003e\u003ccode\u003e@​sansynx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShinji\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003e김채영 \u003ca href=\"https://github.com/cchaeyoung\"\u003e\u003ccode\u003e@​cchaeyoung\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e송재욱\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.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.70.0 (2026-09-07)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-generated-empty-object-type] add rule (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12730\"\u003e#12730\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-deprecated] report deprecated imported values used in object shorthand properties (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12780\"\u003e#12780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] no false positive on RHS of a nested logical expression (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12728\"\u003e#12728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [member-ordering] don't report fields that read fields declared before them (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12729\"\u003e#12729\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\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/23d38ceeb8fb1237f55cb62fc2b54419e1fa1ed7\"\u003e\u003ccode\u003e23d38ce\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.70.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/9d82e4b1d9011da31d62d14387bb5a539853fafa\"\u003e\u003ccode\u003e9d82e4b\u003c/code\u003e\u003c/a\u003e chore: expand eslint-plugin rules test files glob (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12878\"\u003e#12878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f7482f636b89b8eab966b4191ce4a53a3f4b4d9c\"\u003e\u003ccode\u003ef7482f6\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-misused-promises] handle multiple Promise constituent...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/267304477e04538614fe72ad71e7e13082eb7a90\"\u003e\u003ccode\u003e2673044\u003c/code\u003e\u003c/a\u003e docs(eslint-plugin): [prefer-promise-reject-errors] add option sections and e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8f141a2ba63d539465eb4e4604f7d79f6f50ce14\"\u003e\u003ccode\u003e8f141a2\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-useless-default-assignment] convert the fixer to a su...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/479cd85ff82b81dbec9989621681257ebc317a69\"\u003e\u003ccode\u003e479cd85\u003c/code\u003e\u003c/a\u003e chore: enable assertion option \u003ccode\u003erequireData\u003c/code\u003e for all rule tests (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12816\"\u003e#12816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f3c190c5b5cfa9edaba15fa3f944a76a7364b3ed\"\u003e\u003ccode\u003ef3c190c\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unnecessary-condition] handle union-keyed index acces...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/b1993dfd3c45b2c2d83058627499f1dfec5d6d2c\"\u003e\u003ccode\u003eb1993df\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [unbound-method] treat Intl.Collator.prototype.compare as...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/da394bc9c21afe97f456040da723d2c558f99658\"\u003e\u003ccode\u003eda394bc\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unnecessary-parameter-property-assignment] account fo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4a742ff890b7cca8cbf79e78a9a3b345913094c6\"\u003e\u003ccode\u003e4a742ff\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [await-thenable] prevent autofix from breaking code when ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.70.1/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.69.0 to 8.70.1\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.70.1\u003c/h2\u003e\n\u003ch2\u003e8.70.1 (2026-09-21)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003east-spec:\u003c/strong\u003e narrow import attribute keys to identifiers and strings (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12879\"\u003e#12879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] avoid false positives on tuples with a rest element (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12768\"\u003e#12768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] handle type precedence in the suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12637\"\u003e#12637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-explicit-any] use unknown[] for bare any rest parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12818\"\u003e#12818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-generated-empty-object-type] don't report a mapped type whose keys are not resolved yet (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12854\"\u003e#12854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-spread] omit WeakMap spread suggestions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12850\"\u003e#12850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] false positive for empty object asserted to a type alias of Record (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12869\"\u003e#12869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-meaningless-void-operator] allow void on assignment expressions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12873\"\u003e#12873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [await-thenable] prevent autofix from breaking code when removing \u003ccode\u003eawait\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12716\"\u003e#12716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-parameter-property-assignment] account for parameter reassignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12880\"\u003e#12880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unbound-method] treat Intl.Collator.prototype.compare as spec-bound (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12845\"\u003e#12845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] handle union-keyed index access on the left-hand side of nullish assignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12747\"\u003e#12747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] convert the fixer to a suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12826\"\u003e#12826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] handle multiple Promise constituents (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12904\"\u003e#12904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e test the final autofix output instead of the first pass (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12867\"\u003e#12867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003escope-manager:\u003c/strong\u003e merge implicit global definitions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12809\"\u003e#12809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match package specifiers on whole path components (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12838\"\u003e#12838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e resolve symlinked paths when matching files to projects (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12725\"\u003e#12725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e add missing \u003ccode\u003e\u0026lt;\u003c/code\u003e token opening type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12821\"\u003e#12821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e require string literal import attribute values (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12894\"\u003e#12894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewebsite:\u003c/strong\u003e prevent playground from breaking down after opening link with the .js file type (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12777\"\u003e#12777\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAmin \u003ca href=\"https://github.com/amiin-dev\"\u003e\u003ccode\u003e@​amiin-dev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCameron\u003c/li\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\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\u003eGrit \u003ca href=\"https://github.com/Grit03\"\u003e\u003ccode\u003e@​Grit03\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHugo \u003ca href=\"https://github.com/hugop95\"\u003e\u003ccode\u003e@​hugop95\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eMichael Naumov \u003ca href=\"https://github.com/mnaoumov\"\u003e\u003ccode\u003e@​mnaoumov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMikhail Baev \u003ca href=\"https://github.com/baevm\"\u003e\u003ccode\u003e@​baevm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOm Rawat\u003c/li\u003e\n\u003cli\u003eoverlookmotel\u003c/li\u003e\n\u003cli\u003eSanath \u003ca href=\"https://github.com/sansynx\"\u003e\u003ccode\u003e@​sansynx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShinji\u003c/li\u003e\n\u003cli\u003estoicism \u003ca href=\"https://github.com/stoicism02\"\u003e\u003ccode\u003e@​stoicism02\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e김채영 \u003ca href=\"https://github.com/cchaeyoung\"\u003e\u003ccode\u003e@​cchaeyoung\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e송재욱\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\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/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.70.1 (2026-09-21)\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.70.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.70.0 (2026-09-07)\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.70.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\u003c/blockquote\u003e\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/23d38ceeb8fb1237f55cb62fc2b54419e1fa1ed7\"\u003e\u003ccode\u003e23d38ce\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.70.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/7ee76085c22e923c0036b8e0733a3ca7dfd82b60\"\u003e\u003ccode\u003e7ee7608\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.70.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.70.1/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.9.1 to 10.11.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.11.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d136fa4b0d2dd4a9e738ca1c012cc674d1441127\"\u003e\u003ccode\u003ed136fa4\u003c/code\u003e\u003c/a\u003e feat: object-shorthand handle quoted properties for \u003ccode\u003eignoreConstructors\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21271\"\u003e#21271\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/397b3b8134b8ce1a61cbf414d4c29c945ba25690\"\u003e\u003ccode\u003e397b3b8\u003c/code\u003e\u003c/a\u003e feat: report unsafe labeled \u003ccode\u003econtinue\u003c/code\u003e in \u003ccode\u003eno-unsafe-finally\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21316\"\u003e#21316\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d3dd47f42e4cb5f9da27e3a2e741aa21e02ea1a4\"\u003e\u003ccode\u003ed3dd47f\u003c/code\u003e\u003c/a\u003e feat: only exempt \u003ccode\u003enew-cap\u003c/code\u003e built-ins that reference the global (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21290\"\u003e#21290\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/22b09f54f67a9512d4cea39ddbab9b6973d5c476\"\u003e\u003ccode\u003e22b09f5\u003c/code\u003e\u003c/a\u003e fix: ignore \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eprefer-object-spread\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21311\"\u003e#21311\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b684bb1cd7e6be03ad1b7a951baead936d9c2166\"\u003e\u003ccode\u003eb684bb1\u003c/code\u003e\u003c/a\u003e fix: make TimePass.parse optional in types and docs (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21313\"\u003e#21313\u003c/a\u003e) (ntnyq)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/26d11bce3e0e21f223613d4bb4be3423839b229e\"\u003e\u003ccode\u003e26d11bc\u003c/code\u003e\u003c/a\u003e fix: don't report \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eobject-shorthand\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21310\"\u003e#21310\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/9ecfdc5319f83580cf3b81beab7e936015fef2fa\"\u003e\u003ccode\u003e9ecfdc5\u003c/code\u003e\u003c/a\u003e docs: note that --cache can serve stale results for cross-file rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21312\"\u003e#21312\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6c789ff39bc5420e94e8dafeb328bf2b7e3d35ab\"\u003e\u003ccode\u003e6c789ff\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/5997825635dc9c4e81434894607ef2e3887e0ea3\"\u003e\u003ccode\u003e5997825\u003c/code\u003e\u003c/a\u003e docs: clarify preserve-caught-error known limitation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21294\"\u003e#21294\u003c/a\u003e) (Akinyemi Toluwalase)\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/520dd77a35922fb537e2dbfb3c839d047acbdd68\"\u003e\u003ccode\u003e520dd77\u003c/code\u003e\u003c/a\u003e perf: Implement fast paths in critical areas (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21210\"\u003e#21210\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92086c87e042413a3d0363d8fc3fbb11db98d06a\"\u003e\u003ccode\u003e92086c8\u003c/code\u003e\u003c/a\u003e test: update \u003ccode\u003eEMFILE\u003c/code\u003e error generation for Node.js 26.9.0 compatibility (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21330\"\u003e#21330\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9ac7eb60525ec768c2fdc6699e5a292aa913ce9e\"\u003e\u003ccode\u003e9ac7eb6\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21331\"\u003e#21331\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/24310e3a0e22b3c086ca402f88448676f2e1cfcd\"\u003e\u003ccode\u003e24310e3\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21324\"\u003e#21324\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/45ad79e54a39b54b4ce8eb47e612bd2f72a7a651\"\u003e\u003ccode\u003e45ad79e\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21318\"\u003e#21318\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ac74e37322ebf122ada676f153dc55c81f3caab0\"\u003e\u003ccode\u003eac74e37\u003c/code\u003e\u003c/a\u003e chore: Add AGENTS.md with AI disclosure requirements (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21221\"\u003e#21221\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c8326608e710e670beaf982501aed80ea104919a\"\u003e\u003ccode\u003ec832660\u003c/code\u003e\u003c/a\u003e chore: Upgrade Stylelint to the latest version in docs (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21245\"\u003e#21245\u003c/a\u003e) (Jung Hyeon Jun)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f9f88fcccd965fdc162b89c4615dd4018e3cabdf\"\u003e\u003ccode\u003ef9f88fc\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21308\"\u003e#21308\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fc81076a5b8145360654d81cbc130cf7d25dca77\"\u003e\u003ccode\u003efc81076\u003c/code\u003e\u003c/a\u003e ci: add more types integration tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20395\"\u003e#20395\u003c/a\u003e) (Nitin Kumar)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.10.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/264b4346d1963701df0c398b4aeb2f6e8b2af93e\"\u003e\u003ccode\u003e264b434\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003ed\u003c/code\u003e and \u003ccode\u003ev\u003c/code\u003e flags to \u003ccode\u003eno-unexpected-multiline\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21305\"\u003e#21305\u003c/a\u003e) (Gihyeon Jeong / 정기현)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6cc6c592f30901345d94ef75e0d42c1894fae6c\"\u003e\u003ccode\u003ec6cc6c5\u003c/code\u003e\u003c/a\u003e feat: check \u003ccode\u003eObject.prototype\u003c/code\u003e property names in \u003ccode\u003enew-cap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21269\"\u003e#21269\u003c/a\u003e) (crimsonjay0)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5661fa65fde9fd4c14f0b730e3cee6a42fc657c1\"\u003e\u003ccode\u003e5661fa6\u003c/code\u003e\u003c/a\u003e feat: no-extra-bind false negatives with class fields and static blocks (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21260\"\u003e#21260\u003c/a\u003e) (synthex-byte)\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/bb47dc6da2399a8f76c0c0c3273e6bc314c480e5\"\u003e\u003ccode\u003ebb47dc6\u003c/code\u003e\u003c/a\u003e fix: update dependency file-entry-cache to v11 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20801\"\u003e#20801\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/427ac0a014066c36aa57fa8fa9af20fd9fb591e1\"\u003e\u003ccode\u003e427ac0a\u003c/code\u003e\u003c/a\u003e fix: use format strings in debug calls (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21247\"\u003e#21247\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9d8153223dbf47b9aecdc1474202aaee4845f146\"\u003e\u003ccode\u003e9d81532\u003c/code\u003e\u003c/a\u003e fix: support \u003ccode\u003e__proto__\u003c/code\u003e in \u003ccode\u003e/* exported */\u003c/code\u003e comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21261\"\u003e#21261\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/87e0a082438264ad90b87fd74165ab4fd90f63ef\"\u003e\u003ccode\u003e87e0a08\u003c/code\u003e\u003c/a\u003e fix: prefer-object-has-own autofix breaks when Object is shadowed (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21282\"\u003e#21282\u003c/a\u003e) (김채영)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8e2cb142217f2efee1d10dcc02bfb75145ae775d\"\u003e\u003ccode\u003e8e2cb14\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003enew-cap\u003c/code\u003e false positive for \u003ccode\u003eUTC\u003c/code\u003e calls with \u003ccode\u003eproperties: false\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21275\"\u003e#21275\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9f4a364ab0ade048dfce1f37792b1d461d866e55\"\u003e\u003ccode\u003e9f4a364\u003c/code\u003e\u003c/a\u003e fix: Ignore static imports in no-unreachable (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21276\"\u003e#21276\u003c/a\u003e) (Taha Kotil)\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/2417cad57d7d1bc4cf3ecf0f0575cfb10ff2011c\"\u003e\u003ccode\u003e2417cad\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/9cecb8a0a2348070abf72321965d41919c7cc626\"\u003e\u003ccode\u003e9cecb8a\u003c/code\u003e\u003c/a\u003e docs: document \u003ccode\u003e\\c\u003c/code\u003e control letter escapes in no-control-regex (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21286\"\u003e#21286\u003c/a\u003e) (한국)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8724829f69f8ed80c876e3a5a017da199ce78739\"\u003e\u003ccode\u003e8724829\u003c/code\u003e\u003c/a\u003e docs: update compat table links (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21263\"\u003e#21263\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5634542be580750ffb1a5766470f9e9c72719696\"\u003e\u003ccode\u003e5634542\u003c/code\u003e\u003c/a\u003e docs: Clarify eqeqeq suggestion behavior (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21256\"\u003e#21256\u003c/a\u003e) (Müslüm Yılmaz)\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/b3d876b46083d67899eb1d9613118c1c583632a2\"\u003e\u003ccode\u003eb3d876b\u003c/code\u003e\u003c/a\u003e chore: disable npm audit in ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21306\"\u003e#21306\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1696682791661c13167eb905da2f38d1b8f4a3bf\"\u003e\u003ccode\u003e1696682\u003c/code\u003e\u003c/a\u003e ci: restore EMFILE test on Node.js 26 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21297\"\u003e#21297\u003c/a\u003e) (Marry (Subin Yang))\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/3c0b7c6e1fe2dec778b97a996018126f22d437ae\"\u003e\u003ccode\u003e3c0b7c6\u003c/code\u003e\u003c/a\u003e 10.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/321f0a70dd908ed461b11142e17fbdc0c0f1f198\"\u003e\u003ccode\u003e321f0a7\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/520dd77a35922fb537e2dbfb3c839d047acbdd68\"\u003e\u003ccode\u003e520dd77\u003c/code\u003e\u003c/a\u003e perf: Implement fast paths in critical areas (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21210\"\u003e#21210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9ecfdc5319f83580cf3b81beab7e936015fef2fa\"\u003e\u003ccode\u003e9ecfdc5\u003c/code\u003e\u003c/a\u003e docs: note that --cache can serve stale results for cross-file rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21312\"\u003e#21312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92086c87e042413a3d0363d8fc3fbb11db98d06a\"\u003e\u003ccode\u003e92086c8\u003c/code\u003e\u003c/a\u003e test: update \u003ccode\u003eEMFILE\u003c/code\u003e error generation for Node.js 26.9.0 compatibility (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21330\"\u003e#21330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9ac7eb60525ec768c2fdc6699e5a292aa913ce9e\"\u003e\u003ccode\u003e9ac7eb6\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21331\"\u003e#21331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22b09f54f67a9512d4cea39ddbab9b6973d5c476\"\u003e\u003ccode\u003e22b09f5\u003c/code\u003e\u003c/a\u003e fix: ignore \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eprefer-object-spread\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21311\"\u003e#21311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/24310e3a0e22b3c086ca402f88448676f2e1cfcd\"\u003e\u003ccode\u003e24310e3\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21324\"\u003e#21324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d136fa4b0d2dd4a9e738ca1c012cc674d1441127\"\u003e\u003ccode\u003ed136fa4\u003c/code\u003e\u003c/a\u003e feat: object-shorthand handle quoted properties for \u003ccode\u003eignoreConstructors\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21\"\u003e#21\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/45ad79e54a39b54b4ce8eb47e612bd2f72a7a651\"\u003e\u003ccode\u003e45ad79e\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21318\"\u003e#21318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.9.1...v10.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 17.24.0 to 18.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erename default export \u003ccode\u003en\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/556\"\u003e#556\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d499fc1129df5a35042fe44008b002fdfe7731d6\"\u003ed499fc1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.2.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.1...v18.2.2\"\u003e18.2.2\u003c/a\u003e (2026-07-11)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore HTTP imports in no-missing-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/547\"\u003e#547\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3ff929dc6145055b97f147b2ee371a831f44b73a\"\u003e3ff929d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-callback-literal:\u003c/strong\u003e report object, array, and template literals (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/552\"\u003e#552\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/dca23307d9af2cb07c13192e5bf9192ff7ff8981\"\u003edca2330\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.2.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.0...v18.2.1\"\u003e18.2.1\u003c/a\u003e (2026-06-26)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eensure types have valid syntax (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/544\"\u003e#544\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a0d78197665a0587c3f45f171835eaa8d18c7fc9\"\u003ea0d7819\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.2.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.1.0...v18.2.0\"\u003e18.2.0\u003c/a\u003e (2026-06-25)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erename default export \u003ccode\u003en\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/556\"\u003e#556\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d499fc1129df5a35042fe44008b002fdfe7731d6\"\u003ed499fc1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.1...v18.2.2\"\u003e18.2.2\u003c/a\u003e (2026-07-11)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore HTTP imports in no-missing-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/547\"\u003e#547\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3ff929dc6145055b97f147b2ee371a831f44b73a\"\u003e3ff929d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-callback-literal:\u003c/strong\u003e report object, array, and template literals (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/552\"\u003e#552\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/dca23307d9af2cb07c13192e5bf9192ff7ff8981\"\u003edca2330\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.0...v18.2.1\"\u003e18.2.1\u003c/a\u003e (2026-06-26)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eensure types have valid syntax (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/544\"\u003e#544\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a0d78197665a0587c3f45f171835eaa8d18c7fc9\"\u003ea0d7819\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.1.0...v18.2.0\"\u003e18.2.0\u003c/a\u003e (2026-06-25)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003emodule.exports\u003c/code\u003e for \u003ccode\u003erequire(esm)\u003c/code\u003e interop (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/542\"\u003e#542\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/04c99dfafa53482dcfb307d966f3c9996e707011\"\u003e04c99df\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.0.1...v18.1.0\"\u003e18.1.0\u003c/a\u003e (2026-06-08)\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/eslint-community/eslint-plugin-n/commit/6a9980a999defd64664a3b9626b6a9f2f67fac67\"\u003e\u003ccode\u003e6a9980a\u003c/code\u003e\u003c/a\u003e chore(master): release 18.3.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003e\u003ccode\u003ed7afbed\u003c/code\u003e\u003c/a\u003e feat: implement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d499fc1129df5a35042fe44008b002fdfe7731d6\"\u003e\u003ccode\u003ed499fc1\u003c/code\u003e\u003c/a\u003e chore: rename default export \u003ccode\u003en\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/556\"\u003e#556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e\u003ccode\u003e8d9bd05\u003c/code\u003e\u003c/a\u003e feat: add prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e\u003ccode\u003e8cae1af\u003c/code\u003e\u003c/a\u003e fix: support brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003e\u003ccode\u003ea6b3ce2\u003c/code\u003e\u003c/a\u003e fix: handle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003e\u003ccode\u003eb8e39c5\u003c/code\u003e\u003c/a\u003e fix(no-unsupported-features): classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003e\u003ccode\u003ea6cd6a5\u003c/code\u003e\u003c/a\u003e docs: update outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e\u003ccode\u003e4138d4e\u003c/code\u003e\u003c/a\u003e docs: add eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/0c31d00a050825b520dc25767ac2cf1707c9383e\"\u003e\u003ccode\u003e0c31d00\u003c/code\u003e\u003c/a\u003e chore(master): release 18.2.2 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/548\"\u003e#548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v17.24.0...v18.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `knip` from 6.34.0 to 6.38.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/webpro-nl/knip/releases\"\u003eknip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 6.38.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInclude co-authors in docs contributor list (0c334100df59d89a512ad598ec50e7f62f6da0c3)\u003c/li\u003e\n\u003cli\u003eFilter bots and agents from docs contributors (617f70d8179c6b8668ca41fe5df77ced5e2b37c0)\u003c/li\u003e\n\u003cli\u003eUpdate Eve plugin conventions (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2049\"\u003e#2049\u003c/a\u003e) (260dbb91a85f3a3bc2727e8f255d73df3737552c) - thanks \u003ca href=\"https://github.com/matchai\"\u003e\u003ccode\u003e@​matchai\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eargs\u003c/code\u003e example to that doc page (50b271b98fc930a05a3b045a2f691486f9f06528)\u003c/li\u003e\n\u003cli\u003eAdd Turborepo plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2055\"\u003e#2055\u003c/a\u003e) (e49d3db05f1d69ce7db3efcb8467a4af63c27379) - thanks \u003ca href=\"https://github.com/changbaebang\"\u003e\u003ccode\u003e@​changbaebang\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eimport-x/*\u003c/code\u003e settings in ESLint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2050\"\u003e#2050\u003c/a\u003e) (1a34cf82a3d6a1202717ef910bedba55838e9dd9) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve file option in Mocha configuration files (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2051\"\u003e#2051\u003c/a\u003e) (9b5c5f60468c8a92a3e74adca5c0931f008677af) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSupport oxlint extends (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2054\"\u003e#2054\u003c/a\u003e) (a149a98219bb14b15f446fc5f8c4f815e28b2183) - thanks \u003ca href=\"https://github.com/matthewnitschke-wk\"\u003e\u003ccode\u003e@​matthewnitschke-wk\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix import.meta handling in built-in compilers (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2059\"\u003e#2059\u003c/a\u003e) (8b0c85076bf3dce15ef5f3c0c4e58bfefdf59ded) - thanks \u003ca href=\"https://github.com/vdavid\"\u003e\u003ccode\u003e@​vdavid\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix tag hints for enum and namespace members (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2061\"\u003e#2061\u003c/a\u003e) (8a8805e48945863248429d18b7f6c4e4b7dc9ebd) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFlag unused member tags in tagged enums and namespaces (584e53ff3e0846fbfe04fa5b5bfefe2420576a34)\u003c/li\u003e\n\u003cli\u003efeat: resolve MDX content mapper remarkPlugins (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2060\"\u003e#2060\u003c/a\u003e) (34dbccf25359f9e9fefe9d0be6ef2ec0252223cc) - thanks \u003ca href=\"https://github.com/gioboa\"\u003e\u003ccode\u003e@​gioboa\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eRefactor and separate concerns w/ new typescript-content-mapper plugin (11e94509bd0f350d747facf4003fc5b248d1b02d)\u003c/li\u003e\n\u003cli\u003eResolve mdx content mapper providerImportSource (7b5825117f97f2f87b7141509a254f88d0957cf7)\u003c/li\u003e\n\u003cli\u003eFix config → entry in plop plugin (25a380c9e1165b76583d69b48b5fa7cdf5db0ae2)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.37.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(graphql-codegen): mark near-operation-file outputs as entries, not the documents directory (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2048\"\u003e#2048\u003c/a\u003e) (06a68fcf99a90e559daeb0b8fb2d24e173124774) - thanks \u003ca href=\"https://github.com/RobHannay\"\u003e\u003ccode\u003e@​RobHannay\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: enable JSX in the config loader (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1959\"\u003e#1959\u003c/a\u003e) (5b21dc9192f773613d1c5db8edf35f0a68820268) - thanks \u003ca href=\"https://github.com/addielaruee\"\u003e\u003ccode\u003e@​addielaruee\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eMatch binaries only to their actual dependency providers (c5bdb69ccbcb7e1056233f346d0ada3495d1013d)\u003c/li\u003e\n\u003cli\u003ePreserve executable references across package manager commands (54af171638db22f5d903faae05c37c2ea6adc869)\u003c/li\u003e\n\u003cli\u003eCorrect binary provider metadata in Relay fixtures (e67dfcb96d055c27be9c8601e077656855bb632b)\u003c/li\u003e\n\u003cli\u003eSeparate shell binary expectations from reporting exemptions (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2022\"\u003e#2022\u003c/a\u003e) (c1d7d75a3529d9faff7f4c0df11dd0ca1bdfb149)\u003c/li\u003e\n\u003cli\u003eRespect npx no-install flags before the executable (4237010c9a834eb8b04f4a528c76d10a5c38ee98)\u003c/li\u003e\n\u003cli\u003eUpdate dependencies (038ea179f7d6bf7ca43bc5daf553a68b13a9067c)\u003c/li\u003e\n\u003cli\u003eRemove npm auth check now that's in release-it (4aaf77c58004ac64063a1982b98e53107c2ebe93)\u003c/li\u003e\n\u003cli\u003eFix --format name resolution in the ESLint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2046\"\u003e#2046\u003c/a\u003e) (1269e98bb700384811fadc124d69ea720832037e) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.36.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@​tailwindcss/webpack\u003c/code\u003e as Tailwind plugin enabler (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2027\"\u003e#2027\u003c/a\u003e) (b5ac0cf734dda3c6c6c51c817981dfc558b7c582) - thanks \u003ca href=\"https://github.com/igas\"\u003e\u003ccode\u003e@​igas\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix Next.js Turbopack loader dependencies (23419b4edfd48796dd484fa880e1bad49a043d2e)\u003c/li\u003e\n\u003cli\u003eExplain ambiguous star exports in traces (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2025\"\u003e#2025\u003c/a\u003e) (3c2c1a53f9c2b7ff3057a4e46761791979e0b09c) - thanks \u003ca href=\"https://github.com/gioboa\"\u003e\u003ccode\u003e@​gioboa\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix eslintrc \u003ccode\u003eparserOptions.parser\u003c/code\u003e handling in ESLint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2028\"\u003e#2028\u003c/a\u003e) (c79463cec81d09518eda325ec00e6f12327dea8d) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(compilers): require word boundary around import keyword (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2029\"\u003e#2029\u003c/a\u003e) (68bbe51c39b564022b63942bc83cb570778cca00) - thanks \u003ca href=\"https://github.com/thanadolps\"\u003e\u003ccode\u003e@​thanadolps\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: recover from corrupt cache file (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2034\"\u003e#2034\u003c/a\u003e) (30ff7568c84e0a6731ca634a52314228d23d1a2b) - thanks \u003ca href=\"https://github.com/gioboa\"\u003e\u003ccode\u003e@​gioboa\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: fix trailing comma on dependency removal (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2033\"\u003e#2033\u003c/a\u003e) (adfaf4f78878b6d55b0939a92d70a1fbb0ae1240) - thanks \u003ca href=\"https://github.com/gioboa\"\u003e\u003ccode\u003e@​gioboa\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eDocument built-in compiler scope (a05e155276dad4ead16992580d17572cebf045e7)\u003c/li\u003e\n\u003cli\u003eAdd babel, khan and oxc to projects and optimize svgs (1c26560b98bc3109e93d15761d02f089213bfb6c)\u003c/li\u003e\n\u003cli\u003eAdd section to test preview packages \u0026amp; extension (d911c18385f0aa41f53653a2a15cc90a1e0251b8)\u003c/li\u003e\n\u003cli\u003eFix shared info/exclude handling in linked Git worktrees (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2037\"\u003e#2037\u003c/a\u003e) (c1f18d5a7d25fc5a614747bbcbd62d043457eb48) - thanks \u003ca href=\"https://github.com/kenfdev\"\u003e\u003ccode\u003e@​kenfdev\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eShard Node specs on Windows and enable Bun test parallelism (66e966b6edec4460b40b05847fefa9f90ee69068)\u003c/li\u003e\n\u003cli\u003eAdd Varlock plugin support (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2000\"\u003e#2000\u003c/a\u003e) (e4fbf46acff08e78370e72b142e795bd81f28561) - thanks \u003ca href=\"https://github.com/Joehoel\"\u003e\u003ccode\u003e@​Joehoel\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eApply NODE_OPTIONS inputs to package manager binaries (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2038\"\u003e#2038\u003c/a\u003e) (c8df8a28e9a19484efe7097f984abc0c6556aff5) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eHandle array form of \u003ccode\u003eimport/resolver\u003c/code\u003e setting in ESLint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2041\"\u003e#2041\u003c/a\u003e) (a80d386a80fdafc89c610d4887ec82184ac178db) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(node): add valueless Node CLI flags to boolean options (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2042\"\u003e#2042\u003c/a\u003e) (4c6768501f7115a894d7ece9e5c32090b684cc6f) - thanks \u003ca href=\"https://github.com/shoutoutuoadi325\"\u003e\u003ccode\u003e@​shoutoutuoadi325\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(typedoc): accept string form of plugin and theme options (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2043\"\u003e#2043\u003c/a\u003e) (ce387b05c8f136546e860ec73e29557563c63afa) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd textlint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2039\"\u003e#2039\u003c/a\u003e) (532dab595fc9a910e320418dc0390222fb2d7478) - thanks \u003ca href=\"https://github.com/anandghegde\"\u003e\u003ccode\u003e@​anandghegde\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: Correctly resolve Vitest setupFiles from nested configs (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2040\"\u003e#2040\u003c/a\u003e) (84a494334e125d229dc865893b21d69d0d201e85) - thanks \u003ca href=\"https://github.com/CruseCtrl\"\u003e\u003ccode\u003e@​CruseCtrl\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd n8n to projects (3f756a7e70c4164d57a7dbbd58f3604afe4043e2)\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/webpro-nl/knip/commit/c0e42f83bda7664065465f2f3faca7af97c988ac\"\u003e\u003ccode\u003ec0e42f8\u003c/code\u003e\u003c/a\u003e Release knip@6.38.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/25a380c9e1165b76583d69b48b5fa7cdf5db0ae2\"\u003e\u003ccode\u003e25a380c\u003c/code\u003e\u003c/a\u003e Fix config → entry in plop plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/7b5825117f97f2f87b7141509a254f88d0957cf7\"\u003e\u003ccode\u003e7b58251\u003c/code\u003e\u003c/a\u003e Resolve mdx content mapper providerImportSource\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/11e94509bd0f350d747facf4003fc5b248d1b02d\"\u003e\u003ccode\u003e11e9450\u003c/code\u003e\u003c/a\u003e Refactor and separate concerns w/ new typescript-content-mapper plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/34dbccf25359f9e9fefe9d0be6ef2ec0252223cc\"\u003e\u003ccode\u003e34dbccf\u003c/code\u003e\u003c/a\u003e feat: resolve MDX content mapper remarkPlugins (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2060\"\u003e#2060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/584e53ff3e0846fbfe04fa5b5bfefe2420576a34\"\u003e\u003ccode\u003e584e53f\u003c/code\u003e\u003c/a\u003e Flag unused member tags in tagged enums and namespaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/8a8805e48945863248429d18b7f6c4e4b7dc9ebd\"\u003e\u003ccode\u003e8a8805e\u003c/code\u003e\u003c/a\u003e Fix tag hints for enum and namespace members (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2061\"\u003e#2061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/8b0c85076bf3dce15ef5f3c0c4e58bfefdf59ded\"\u003e\u003ccode\u003e8b0c850\u003c/code\u003e\u003c/a\u003e Fix import.meta handling in built-in compilers (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2059\"\u003e#2059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/a149a98219bb14b15f446fc5f8c4f815e28b2183\"\u003e\u003ccode\u003ea149a98\u003c/code\u003e\u003c/a\u003e Support oxlint extends (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2054\"\u003e#2054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/9b5c5f60468c8a92a3e74adca5c0931f008677af\"\u003e\u003ccode\u003e9b5c5f6\u003c/code\u003e\u003c/a\u003e Resolve file option in Mocha configuration files (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2051\"\u003e#2051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/webpro-nl/knip/commits/knip@6.38.0/packages/knip\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.9.6 to 3.9.9\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.9.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\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.9.9/CHANGELOG.md#399\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Don't let Liquid objects interrupt paragraphs (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20087\"\u003e#20087\u003c/a\u003e by \u003ca href=\"https://github.com/seiyab\"\u003e\u003ccode\u003e@​seiyab\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.9.8/CHANGELOG.md#398\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Angular 22.2\u003c/li\u003e\n\u003cli\u003eFix regressions in v3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.7/CHANGELOG.md#397\"\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.9.9\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.8...3.9.9\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"md\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here.\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.8 --\u0026gt;\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003efrom\u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.9 --\u0026gt;\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003e from \u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.9.8\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.7...3.9.8\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Don't let Liquid objects interrupt paragraphs (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20087\"\u003e#20087\u003c/a\u003e by \u003ca href=\"https://github.com/seiyab\"\u003e\u003ccode\u003e@​seiyab\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\nIf `module` is not a [`WebAssembly.Module`](https://github.com/prettier/prettier/blob/main/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a\n{{jsxref(\u0026quot;TypeError\u0026quot;)}} is thrown.\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.7 --\u0026gt;\nIf \u003ccode\u003emodule\u003c/code\u003e is not a \u003ca href=\"https://github.com/prettier/prettier/blob/main/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module\"\u003e\u003ccode\u003eWebAssembly.Module\u003c/code\u003e\u003c/a\u003e object instance, a\u003c/p\u003e\n\u003cp\u003e{{jsxref(\u0026quot;TypeError\u0026quot;)}} is thrown.\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.8 --\u0026gt;\nIf \u003ccode\u003emodule\u003c/code\u003e is not a \u003ca href=\"https://github.com/prettier/prettier/blob/main/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module\"\u003e\u003ccode\u003eWebAssembly.Module\u003c/code\u003e\u003c/a\u003e object instance, a\n{{jsxref(\u0026quot;TypeError\u0026quot;)}} is thrown.\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.9.7\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.6...3.9.7\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Prevent indentation drift in list-item code blocks (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19647\"\u003e#19647\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19990\"\u003e#19990\u003c/a\u003e by \u003ca href=\"https://github.com/Austin1serb\"\u003e\u003ccode\u003e@​Austin1serb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n- [x] short first line.\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/prettier/prettier/commit/cdd17f2288b28b170a76416c72dac56e3ea5daff\"\u003e\u003ccode\u003ecdd17f2\u003c/code\u003e\u003c/a\u003e Release 3.9.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dc7b8968e678f51ea00e2be3fe8c717d114691a3\"\u003e\u003ccode\u003edc7b896\u003c/code\u003e\u003c/a\u003e Disable \u003ccode\u003esingleDollarTextMath\u003c/code\u003e in \u003ccode\u003emdast-util-math\u003c/code\u003e (\u003ca ...\n\n_Description has been truncated_","html_url":"https://github.com/itsDaiton/nebula-chat/pull/454","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsDaiton%2Fnebula-chat/issues/454","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/454/packages"}}]}