{"id":607,"name":"sinon","ecosystem":"npm","repository_url":"https://github.com/sinonjs/sinon","issues_count":2085,"created_at":"2025-06-06T15:01:35.880Z","updated_at":"2025-06-06T15:01:35.880Z","purl":"pkg:npm/sinon","metadata":{"id":2367986,"name":"sinon","ecosystem":"npm","description":"JavaScript test spies, stubs and mocks.","homepage":"https://sinonjs.org/","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/sinonjs/sinon","keywords_array":["sinon","test","testing","unit","stub","spy","fake","time","clock","mock","xhr","assert"],"namespace":null,"versions_count":212,"first_release_published_at":"2010-12-20T21:03:03.526Z","latest_release_published_at":"2025-03-24T18:22:37.428Z","latest_release_number":"20.0.0","last_synced_at":"2025-06-06T16:31:22.921Z","created_at":"2022-04-10T00:47:49.951Z","updated_at":"2025-06-06T16:31:48.946Z","registry_url":"https://www.npmjs.com/package/sinon","install_command":"npm install sinon","documentation_url":null,"metadata":{"funding":{"type":"opencollective","url":"https://opencollective.com/sinon"},"dist-tags":{"latest":"20.0.0"}},"repo_metadata":{"id":960133,"uuid":"747698","full_name":"sinonjs/sinon","owner":"sinonjs","description":"Test spies, stubs and mocks for JavaScript.","archived":false,"fork":false,"pushed_at":"2025-04-08T17:22:13.000Z","size":43698,"stargazers_count":9730,"open_issues_count":43,"forks_count":769,"subscribers_count":90,"default_branch":"main","last_synced_at":"2025-06-03T07:23:03.321Z","etag":null,"topics":["javascript","sinon","stub","stubs","tdd","test-driven-development","test-spies","unit-testing"],"latest_commit_sha":null,"homepage":"https://sinonjs.org/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"TV4/sunspot_mongoid","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sinonjs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"sinonjs","open_collective":"sinon"}},"created_at":"2010-06-29T21:15:32.000Z","updated_at":"2025-05-29T15:53:50.000Z","dependencies_parsed_at":"2024-03-14T17:07:38.131Z","dependency_job_id":"f678deed-b3c4-4e0e-b4ec-b645f9d396fe","html_url":"https://github.com/sinonjs/sinon","commit_stats":{"total_commits":3079,"total_committers":417,"mean_commits":7.383693045563549,"dds":0.7187398506008444,"last_synced_commit":"80bc1d96371580a8b2dad39122db46933e7f5884"},"previous_names":["cjohansen/sinon.js"],"tags_count":217,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinonjs","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":258435334,"owners_count":22700461,"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":"sinonjs","name":"Sinon.JS","uuid":"6570253","kind":"organization","description":"Standalone test spies, stubs and mocks for JavaScript.","email":"morgan@roderick.dk","website":"https://sinonjs.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/6570253?v=4","repositories_count":17,"last_synced_at":"2024-04-14T06:39:46.767Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/sinonjs","funding_links":["https://github.com/sponsors/sinonjs"],"total_stars":10609,"followers":71,"following":0,"created_at":"2022-11-02T16:21:49.144Z","updated_at":"2024-04-14T06:39:48.012Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinonjs","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinonjs/repositories"},"tags":[{"name":"v20.0.0","sha":"ba7a21a12146625a4d62ad452f06e847577ec16c","kind":"tag","published_at":"2025-03-24T18:22:03.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v20.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v20.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v20.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v20.0.0/manifests"},{"name":"v19.0.5","sha":"e47cb9d5a0f9532b8becff00ec9b83acae411336","kind":"tag","published_at":"2025-03-23T19:33:44.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v19.0.5","html_url":"https://github.com/sinonjs/sinon/releases/tag/v19.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v19.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v19.0.5/manifests"},{"name":"v19.0.4","sha":"8122a5b63d22bea6b291106e0e8b62ce12fed9ab","kind":"tag","published_at":"2025-03-19T14:10:07.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v19.0.4","html_url":"https://github.com/sinonjs/sinon/releases/tag/v19.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v19.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v19.0.4/manifests"},{"name":"v19.0.3","sha":"632e016e62b039563f396ed271ba7ff5c4606330","kind":"tag","published_at":"2025-03-19T13:39:45.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v19.0.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v19.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v19.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v19.0.3/manifests"},{"name":"v19.0.2","sha":"372593f5450c5d3d54ff23f09a90e33dbc706b59","kind":"tag","published_at":"2024-09-13T14:04:56.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v19.0.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v19.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v19.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v19.0.2/manifests"},{"name":"v19.0.1","sha":"43e9dd19b5289f526aa2769047b25a66072bb62e","kind":"tag","published_at":"2024-09-13T11:16:39.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v19.0.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v19.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v19.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v19.0.1/manifests"},{"name":"v19.0.0","sha":"62724bbff0cb66113aa17ae1d05fd1cb493c0a24","kind":"tag","published_at":"2024-09-13T00:10:18.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v19.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v19.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v19.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v19.0.0/manifests"},{"name":"v18.0.1","sha":"0a5ec52007783d0780b4f432171657bb97eccf9e","kind":"tag","published_at":"2024-09-10T20:14:08.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v18.0.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v18.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v18.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v18.0.1/manifests"},{"name":"v18.0.0","sha":"adea6a1d630d5978f87a38f514d7035b1344b1c4","kind":"commit","published_at":"2024-05-15T12:10:06.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v18.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v18.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v18.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v18.0.0/manifests"},{"name":"v17.0.2","sha":"16a25aebd1b8f8f8ee841b53924ec824f5945986","kind":"tag","published_at":"2024-05-07T14:51:56.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v17.0.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v17.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v17.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v17.0.2/manifests"},{"name":"v17.0.1","sha":"30e9e3780dec0768faeb4eee95408b9a685f5244","kind":"tag","published_at":"2023-11-01T10:14:46.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v17.0.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v17.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v17.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v17.0.1/manifests"},{"name":"v17.0.0","sha":"8dbfd021c7cd13d66d9dd41f568904de3aae5c3e","kind":"tag","published_at":"2023-10-20T14:53:09.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v17.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v17.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v17.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v17.0.0/manifests"},{"name":"v16.1.3","sha":"299707788d725a59060c9d14b04a878598462655","kind":"tag","published_at":"2023-10-19T06:07:39.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v16.1.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v16.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v16.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v16.1.3/manifests"},{"name":"v16.1.2","sha":"6547aa196bf2be9eff4db1152e6a9f347366d06a","kind":"tag","published_at":"2023-10-19T05:54:25.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v16.1.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v16.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v16.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v16.1.2/manifests"},{"name":"v16.1.1","sha":"6c28d0778a3adc6005bff85463caae280e10db2e","kind":"tag","published_at":"2023-10-18T15:19:42.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v16.1.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v16.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v16.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v16.1.1/manifests"},{"name":"v16.1.0","sha":"737736fcf94412ddf5a126b3ab08c43074209872","kind":"tag","published_at":"2023-10-05T11:54:57.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v16.1.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v16.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v16.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v16.1.0/manifests"},{"name":"v16.0.0","sha":"062e31846f441f98a5bb04b044de64e4bcbba698","kind":"tag","published_at":"2023-09-13T16:22:55.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v16.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v16.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v16.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v16.0.0/manifests"},{"name":"v15.2.0","sha":"c97f5113264db9e551ccca95d864ece67aeb9913","kind":"tag","published_at":"2023-06-20T14:54:08.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v15.2.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v15.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v15.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v15.2.0/manifests"},{"name":"v15.1.2","sha":"b4f868dc2cfbccac8bad1cb3d62983180c795327","kind":"tag","published_at":"2023-06-12T14:21:05.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v15.1.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v15.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v15.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v15.1.2/manifests"},{"name":"v15.1.1","sha":"0720b2fc21dcdf5634987575f4ec675d84c14783","kind":"tag","published_at":"2023-06-12T13:15:49.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v15.1.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v15.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v15.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v15.1.1/manifests"},{"name":"v15.1.0","sha":"7e139668522e2bac06a4e8e46724f7c972bb44f7","kind":"tag","published_at":"2023-05-18T19:22:55.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v15.1.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v15.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v15.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v15.1.0/manifests"},{"name":"v15.0.4","sha":"b252475dadaa9007452e47af66c872e8b25fd890","kind":"tag","published_at":"2023-04-20T11:58:37.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v15.0.4","html_url":"https://github.com/sinonjs/sinon/releases/tag/v15.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v15.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v15.0.4/manifests"},{"name":"v15.0.3","sha":"8a1d5c69dd591eed38970075d46f682927159e9e","kind":"tag","published_at":"2023-03-26T18:23:50.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v15.0.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v15.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v15.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v15.0.3/manifests"},{"name":"v15.0.2","sha":"7838b57aef902dc3cd020caeb6162be7f5d043ac","kind":"tag","published_at":"2023-03-12T21:14:11.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v15.0.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v15.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v15.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v15.0.2/manifests"},{"name":"v15.0.1","sha":"ef76b5bb169f61a28a7830bf3955feb3939e8174","kind":"tag","published_at":"2022-12-15T15:08:05.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v15.0.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v15.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v15.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v15.0.1/manifests"},{"name":"v15.0.0","sha":"35652f37f1d5c26db6952c20be52188c56509265","kind":"tag","published_at":"2022-11-28T17:18:04.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v15.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v15.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v15.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v15.0.0/manifests"},{"name":"v14.0.2","sha":"225b1409fe5442a376a34c99f7eb2a45d49d69a9","kind":"tag","published_at":"2022-11-07T17:33:04.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v14.0.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v14.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v14.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v14.0.2/manifests"},{"name":"v14.0.1","sha":"c4345dc1b1502ee95aff9cb3581921c4d2b8f440","kind":"tag","published_at":"2022-10-03T14:22:54.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v14.0.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v14.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v14.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v14.0.1/manifests"},{"name":"v14.0.0","sha":"242b4292683a74faebc48c985129bee21643fb2c","kind":"tag","published_at":"2022-05-07T19:50:34.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v14.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v14.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v14.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v14.0.0/manifests"},{"name":"v13.0.2","sha":"18d560155de3fada6e3d80670cfdcb6e6c77fed9","kind":"tag","published_at":"2022-04-14T03:40:10.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v13.0.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v13.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v13.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v13.0.2/manifests"},{"name":"v13.0.1","sha":"698fe79f01f5954bd1acc35d43d342cd82ab65cf","kind":"tag","published_at":"2022-02-01T14:51:21.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v13.0.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v13.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v13.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v13.0.1/manifests"},{"name":"v13.0.0","sha":"70911c0d032325e682dd0ed95f77ffb40eb30f0b","kind":"tag","published_at":"2022-01-28T13:00:21.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v13.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v13.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v13.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v13.0.0/manifests"},{"name":"v12.0.43","sha":"a38306f822ae743097685d00e9ee0f92f9949cb8","kind":"tag","published_at":"2022-01-27T10:45:23.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v12.0.43","html_url":"https://github.com/sinonjs/sinon/releases/tag/v12.0.43","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v12.0.43","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v12.0.43/manifests"},{"name":"v12.0.42","sha":"66271357ad849f9c604e2bcc4b376ffe3fa65515","kind":"tag","published_at":"2022-01-27T10:28:18.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v12.0.42","html_url":"https://github.com/sinonjs/sinon/releases/tag/v12.0.42","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v12.0.42","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v12.0.42/manifests"},{"name":"v12.0.41","sha":"793ca17f8998b8fa06b22f63e30b707768c586b9","kind":"tag","published_at":"2022-01-27T10:24:29.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v12.0.41","html_url":"https://github.com/sinonjs/sinon/releases/tag/v12.0.41","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v12.0.41","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v12.0.41/manifests"},{"name":"v12.0.1","sha":"09039d758a2dfd46724eaf8705ef099602533853","kind":"tag","published_at":"2021-11-04T15:15:18.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v12.0.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v12.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v12.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v12.0.1/manifests"},{"name":"v12.0.0","sha":"104b55c17b220a1a1b28e9e80e2d2d7a47702946","kind":"tag","published_at":"2021-11-03T15:53:00.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v12.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v12.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v12.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v12.0.0/manifests"},{"name":"v11.1.2","sha":"ecb6e93abd4b509945455f0a4e815c190544732d","kind":"tag","published_at":"2021-07-27T11:06:30.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v11.1.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v11.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v11.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v11.1.2/manifests"},{"name":"v11.1.1","sha":"a9801c933b11fab6c929c06385b9055f852e983e","kind":"tag","published_at":"2021-05-26T14:30:07.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v11.1.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v11.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v11.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v11.1.1/manifests"},{"name":"v11.1.0","sha":"b91c9551d78b85a7052e87300349e1f06f79d352","kind":"tag","published_at":"2021-05-25T13:19:46.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v11.1.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v11.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v11.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v11.1.0/manifests"},{"name":"v11.0.0","sha":"4efb184b01f2280087440b5edda2dc0657fd2caf","kind":"commit","published_at":"2021-05-24T21:03:35.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v11.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v11.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v11.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v11.0.0/manifests"},{"name":"v10.0.1","sha":"ff995eba4f1cbdeed84f6145d0cab764d5ec2019","kind":"tag","published_at":"2021-04-08T08:19:44.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v10.0.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v10.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v10.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v10.0.1/manifests"},{"name":"v10.0.0","sha":"2e8a1ce569334e5f8f732fac9d1de946108ebf12","kind":"tag","published_at":"2021-03-22T16:44:58.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v10.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v10.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v10.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v10.0.0/manifests"},{"name":"v9.2.4","sha":"9d6d1c1bba32dc118b8f225caf6afd435b1a24c1","kind":"tag","published_at":"2021-01-23T09:52:27.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v9.2.4","html_url":"https://github.com/sinonjs/sinon/releases/tag/v9.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v9.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v9.2.4/manifests"},{"name":"v9.2.3","sha":"32b2d7778a52b287dbfa7e5e0f01c223db8c7733","kind":"tag","published_at":"2021-01-06T14:55:24.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v9.2.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v9.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v9.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v9.2.3/manifests"},{"name":"v9.2.2","sha":"e4f6d5875502b8ba06dd3c7678fa47451188da9c","kind":"tag","published_at":"2020-12-11T12:33:05.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v9.2.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v9.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v9.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v9.2.2/manifests"},{"name":"v9.2.0","sha":"077616cc5f7a4659fdbdeff0a83e9ffa087aa8a5","kind":"tag","published_at":"2020-10-06T19:05:43.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v9.2.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v9.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v9.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v9.2.0/manifests"},{"name":"v9.1.0","sha":"bec7d040b677010f7c5924577faad2041b1b3c3d","kind":"tag","published_at":"2020-09-29T20:06:58.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v9.1.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v9.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v9.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v9.1.0/manifests"},{"name":"v9.0.3","sha":"2fc5afd7d655c92df85837895b255c75e5b05736","kind":"tag","published_at":"2020-08-11T07:50:12.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v9.0.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v9.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v9.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v9.0.3/manifests"},{"name":"v9.0.2","sha":"2b4bde4b7ec6877bc64545646dca012cde25c665","kind":"tag","published_at":"2020-04-08T11:41:44.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v9.0.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v9.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v9.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v9.0.2/manifests"},{"name":"v9.0.1","sha":"0fe75bfc1d9cedd1794220dc98aa9792421a78ce","kind":"tag","published_at":"2020-03-10T09:02:31.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v9.0.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v9.0.1/manifests"},{"name":"v9.0.0","sha":"27225e4e9154e33e3c32875d8aa04f06f49034ee","kind":"tag","published_at":"2020-02-19T10:45:15.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v9.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v9.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v9.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v9.0.0/manifests"},{"name":"v8.1.1","sha":"f8695b0b558e263144eb2657abef3e359c320630","kind":"tag","published_at":"2020-01-22T10:30:20.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v8.1.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v8.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v8.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v8.1.1/manifests"},{"name":"v8.1.0","sha":"cb8f3b7528232c5590d430ba5131c611407e4d2c","kind":"tag","published_at":"2020-01-16T08:03:04.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v8.1.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v8.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v8.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v8.1.0/manifests"},{"name":"v8.0.4","sha":"a366e7b6c4e31b4a42026a81023579860b26b4ad","kind":"tag","published_at":"2020-01-06T15:16:02.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v8.0.4","html_url":"https://github.com/sinonjs/sinon/releases/tag/v8.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v8.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v8.0.4/manifests"},{"name":"v8.0.3","sha":"8b55dea9c383b5813c9b4f3f935b7f618243dc71","kind":"tag","published_at":"2020-01-06T13:49:22.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v8.0.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v8.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v8.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v8.0.3/manifests"},{"name":"v8.0.2","sha":"e3fcaafa6f5f99c419ff48960d8b8a8d645287e2","kind":"tag","published_at":"2019-12-30T15:12:50.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v8.0.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v8.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v8.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v8.0.2/manifests"},{"name":"v8.0.1","sha":"dab04fcdefe7a5ce05df289f423b77ab540470ae","kind":"tag","published_at":"2019-12-23T09:27:41.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v8.0.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v8.0.1/manifests"},{"name":"v8.0.0","sha":"bbc5f183fca4ba51ccd5a03721f346b7131da058","kind":"tag","published_at":"2019-12-22T16:11:25.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v8.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v8.0.0/manifests"},{"name":"v7.5.0","sha":"5d0adf7cea8820a286bd638d64358e7b8f534320","kind":"commit","published_at":"2019-09-23T14:40:38.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v7.5.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v7.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.5.0/manifests"},{"name":"v7.4.2","sha":"d163383256a25874a60c36c3e341a8c27726bb8a","kind":"tag","published_at":"2019-09-02T11:46:00.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v7.4.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v7.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.4.2/manifests"},{"name":"v7.4.0","sha":"7415cb449729c8574231d3a98980ef7ff7c64aa6","kind":"tag","published_at":"2019-08-06T09:08:18.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v7.4.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v7.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.4.0/manifests"},{"name":"v7.4.1","sha":"56b00a7f695124b4800d41b34d4fa4bdd702c003","kind":"tag","published_at":"2019-08-06T09:00:37.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v7.4.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v7.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.4.1/manifests"},{"name":"v7.3.2","sha":"585a1e97c5d8aa129b119e566a3a26f2e5140883","kind":"tag","published_at":"2019-04-17T16:06:51.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v7.3.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v7.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.3.2/manifests"},{"name":"v7.3.1","sha":"e02c1928fdec079c27e841d98c05365b8ed1d9fb","kind":"tag","published_at":"2019-03-27T11:49:47.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v7.3.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v7.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.3.1/manifests"},{"name":"v7.2.7","sha":"33ca39b1792c707c74d6f460841a1959d688d9ef","kind":"tag","published_at":"2019-03-04T10:19:18.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v7.2.7","html_url":"https://github.com/sinonjs/sinon/releases/tag/v7.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.2.7/manifests"},{"name":"v7.2.6","sha":"36b99b3d2df9ec03a19f14bd063497c76020671b","kind":"tag","published_at":"2019-03-01T23:08:30.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v7.2.6","html_url":"https://github.com/sinonjs/sinon/releases/tag/v7.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.2.6/manifests"},{"name":"v7.2.5","sha":"2b4bc7dfd39d30f12905a8bad1ef5b0e601162f5","kind":"tag","published_at":"2019-02-27T08:04:32.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v7.2.5","html_url":"https://github.com/sinonjs/sinon/releases/tag/v7.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.2.5/manifests"},{"name":"v7.2.4","sha":"e5de1fec4ff8dd758bd5963c968ee5d330c1a0fe","kind":"tag","published_at":"2019-02-18T14:48:05.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v7.2.4","html_url":"https://github.com/sinonjs/sinon/releases/tag/v7.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.2.4/manifests"},{"name":"v7.2.3","sha":"b11e0d09a375a5695426caa22c352f27e73c170e","kind":"tag","published_at":"2019-01-19T14:04:55.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v7.2.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v7.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.2.3/manifests"},{"name":"v7.2.2","sha":"05cebac27cf7f2e21b5c90ea8cbffb5230ca7358","kind":"tag","published_at":"2018-12-12T08:18:11.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v7.2.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v7.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.2.2/manifests"},{"name":"v7.2.1","sha":"dc98caccac353c2a6a881b66a11490d6d9220453","kind":"tag","published_at":"2018-12-12T07:39:23.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v7.2.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v7.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.2.1/manifests"},{"name":"v7.2.0","sha":"4858639a613a8358855f5d8551452bc10c64b182","kind":"tag","published_at":"2018-12-10T08:05:18.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v7.2.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v7.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.2.0/manifests"},{"name":"v7.1.1","sha":"32d908da2f2ef6f34a3ac13e5917726715993c99","kind":"tag","published_at":"2018-10-31T15:22:01.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v7.1.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v7.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.1.1/manifests"},{"name":"v7.1.0","sha":"20c54a509821e349c3b8b54131595035b10ceab9","kind":"tag","published_at":"2018-10-25T10:00:12.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v7.1.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v7.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.1.0/manifests"},{"name":"v7.0.0","sha":"11498dc5f4566c14ec442031029d55d15a301690","kind":"tag","published_at":"2018-10-14T10:36:42.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v7.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v7.0.0/manifests"},{"name":"v6.3.5","sha":"db5b3761719af9b0f76dfdd6d3bbfc71b111cf7f","kind":"tag","published_at":"2018-10-03T14:24:41.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v6.3.5","html_url":"https://github.com/sinonjs/sinon/releases/tag/v6.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.3.5/manifests"},{"name":"v6.3.4","sha":"f3cb66998d628fd3ecd977dad8abfe830219cd37","kind":"tag","published_at":"2018-09-18T07:13:14.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v6.3.4","html_url":"https://github.com/sinonjs/sinon/releases/tag/v6.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.3.4/manifests"},{"name":"v6.3.3","sha":"571b14ff20f94f62d7d95151280a660782509215","kind":"tag","published_at":"2018-09-14T09:04:52.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v6.3.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v6.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.3.3/manifests"},{"name":"v6.3.2","sha":"8f7f9fc64a86c006f1b8d16ae30c403ed87ad22a","kind":"tag","published_at":"2018-09-13T21:24:47.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v6.3.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v6.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.3.2/manifests"},{"name":"v6.3.1","sha":"a576b7cb5642134f7412ffe6ac82b840203ea54b","kind":"tag","published_at":"2018-09-12T20:03:07.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v6.3.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v6.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.3.1/manifests"},{"name":"v6.3.0","sha":"c5b54fd8678ef064e8ff5d86365fb14577a8d1de","kind":"tag","published_at":"2018-09-12T19:39:30.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v6.3.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v6.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.3.0/manifests"},{"name":"v6.2.0","sha":"e79848e6bbbb543e2a31b400be69524c4304be21","kind":"tag","published_at":"2018-09-04T20:51:10.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v6.2.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v6.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.2.0/manifests"},{"name":"v6.1.6","sha":"622155ebba90aba7ff9e9fe3ad57c64b9f7948b8","kind":"tag","published_at":"2018-09-04T20:28:57.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v6.1.6","html_url":"https://github.com/sinonjs/sinon/releases/tag/v6.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.1.6/manifests"},{"name":"v6.1.5","sha":"6004aaab6b6ffe7e57e9dfdc9a56bba82954b02d","kind":"tag","published_at":"2018-08-09T18:02:24.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v6.1.5","html_url":"https://github.com/sinonjs/sinon/releases/tag/v6.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.1.5/manifests"},{"name":"v6.1.4","sha":"5fc1893cace53e791f2efe8b745d5aecd1708b61","kind":"tag","published_at":"2018-07-21T07:27:20.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v6.1.4","html_url":"https://github.com/sinonjs/sinon/releases/tag/v6.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.1.4/manifests"},{"name":"v6.1.3","sha":"4c4f839b84fefb98a0bde97cb8853ffe953040a5","kind":"tag","published_at":"2018-07-07T08:55:21.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v6.1.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v6.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.1.3/manifests"},{"name":"v6.1.2","sha":"4f5eed0805fd28956494c124c2f8cae1b1f9c356","kind":"tag","published_at":"2018-07-06T07:39:24.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v6.1.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v6.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.1.2/manifests"},{"name":"v6.1.1","sha":"bdaf5fc086af53dc9239412682c375ea3c868b38","kind":"tag","published_at":"2018-07-06T07:34:20.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v6.1.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v6.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.1.1/manifests"},{"name":"v6.1.0","sha":"cd8a55e9514b10c92ad7ba9cedac112c1ae35767","kind":"tag","published_at":"2018-07-03T07:29:21.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v6.1.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.1.0/manifests"},{"name":"v6.0.1","sha":"feee43dcfda50531b89377ebdae74bcfe5f0d6a0","kind":"tag","published_at":"2018-06-24T18:15:30.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v6.0.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v6.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.0.1/manifests"},{"name":"v6.0.0","sha":"9d105479a9089e3c44ca768e345eaf78d5c8246f","kind":"commit","published_at":"2018-06-11T05:20:20.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v6.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v6.0.0/manifests"},{"name":"v5.1.1","sha":"67b8872838d961443a650ce616d6768048e55d3b","kind":"tag","published_at":"2018-06-07T10:56:54.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v5.1.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v5.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.1.1/manifests"},{"name":"v5.1.0","sha":"8f867f953aab76dc3e39346587980ad32df4416a","kind":"tag","published_at":"2018-06-06T06:45:20.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v5.1.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.1.0/manifests"},{"name":"v5.0.10","sha":"41d0dcb915bf1f05a8c9c1cbd4beaaf33de4039b","kind":"tag","published_at":"2018-05-24T08:13:59.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v5.0.10","html_url":"https://github.com/sinonjs/sinon/releases/tag/v5.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.10/manifests"},{"name":"v5.0.9","sha":"3321085155335f9cac31201bdde08893c1619743","kind":"tag","published_at":"2018-05-24T05:13:12.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v5.0.9","html_url":"https://github.com/sinonjs/sinon/releases/tag/v5.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.9/manifests"},{"name":"v5.0.8","sha":"94f926439780e115da37e3310ad12b9c6555c3ec","kind":"tag","published_at":"2018-05-23T23:09:03.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v5.0.8","html_url":"https://github.com/sinonjs/sinon/releases/tag/v5.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.8/manifests"},{"name":"v5.0.7","sha":"e4d1899e2278a67c844d1557eb1ca5ca8440656b","kind":"tag","published_at":"2018-05-07T18:51:30.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v5.0.7","html_url":"https://github.com/sinonjs/sinon/releases/tag/v5.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.7/manifests"},{"name":"v5.0.6","sha":"2d6900d00f4c30ffeef40ff44e30d537f422229c","kind":"tag","published_at":"2018-05-07T10:57:48.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v5.0.6","html_url":"https://github.com/sinonjs/sinon/releases/tag/v5.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.6/manifests"},{"name":"v5.0.5","sha":"90a421285d618d3892288dbfe28eedc5844c2b1d","kind":"tag","published_at":"2018-05-07T05:51:21.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v5.0.5","html_url":"https://github.com/sinonjs/sinon/releases/tag/v5.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.5/manifests"},{"name":"v5.0.4","sha":"6fcf7b26c8c33e934d3c9c586ceb9763cee958a3","kind":"tag","published_at":"2018-05-05T19:23:35.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v5.0.4","html_url":"https://github.com/sinonjs/sinon/releases/tag/v5.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.4/manifests"},{"name":"v5.0.3","sha":"347eeb51c7d67ee6e869f8f9ffadad3d7d2103d2","kind":"tag","published_at":"2018-05-02T08:35:58.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v5.0.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v5.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.3/manifests"},{"name":"v5.0.2","sha":"415c78f09e3f659219096da5660c927b37073270","kind":"tag","published_at":"2018-05-01T10:14:41.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v5.0.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v5.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.2/manifests"},{"name":"v5.0.1","sha":"ac71bfd775feb7a743f44a8ed3fd33c5fea7c6ef","kind":"commit","published_at":"2018-04-30T08:17:01.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v5.0.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v5.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.1/manifests"},{"name":"v4.5.0","sha":"1a677421dee2692793b9b5710eeaf4a9b53df58f","kind":"tag","published_at":"2018-03-30T12:41:19.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.5.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.5.0/manifests"},{"name":"v4.4.10","sha":"4ba4de7b779df8e236eb27988f5303ce6b190db5","kind":"tag","published_at":"2018-03-28T09:57:33.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.4.10","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.4.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.10/manifests"},{"name":"v4.4.9","sha":"c4c42794b3f35965a2a00a6ba67c934726760133","kind":"tag","published_at":"2018-03-27T06:27:12.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.4.9","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.4.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.9/manifests"},{"name":"v4.4.8","sha":"5254ed3c12318bcf2090228ac6498520d50c9f89","kind":"tag","published_at":"2018-03-21T15:18:11.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.4.8","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.8/manifests"},{"name":"v4.4.7","sha":"f047838d3c270c2390a2d60cc5f292288097d853","kind":"tag","published_at":"2018-03-21T14:53:42.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.4.7","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.7/manifests"},{"name":"v4.4.6","sha":"0b51a7603d2d781d61563929c61437548c4e6e08","kind":"tag","published_at":"2018-03-15T07:33:56.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.4.6","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.6/manifests"},{"name":"v4.4.5","sha":"41f0b83e4cca5be68f6931361abe7d613476dec0","kind":"tag","published_at":"2018-03-13T17:43:23.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.4.5","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.5/manifests"},{"name":"v4.4.4","sha":"d2122e329891c57a1829adf75709af8e35a28cd1","kind":"tag","published_at":"2018-03-13T08:42:34.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.4.4","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.4/manifests"},{"name":"v4.4.3","sha":"17b052fa80bdd1f487c6a6a72a88a54db3239bcf","kind":"tag","published_at":"2018-03-12T06:46:03.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.4.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.3/manifests"},{"name":"v4.4.2","sha":"5ac4eae04ff56dcb1324e80a14dbd1e4b0b169f9","kind":"tag","published_at":"2018-02-25T11:31:38.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.4.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.2/manifests"},{"name":"v4.4.1","sha":"9b4870e6522e882560a87656e7590bc11f4b28da","kind":"tag","published_at":"2018-02-24T08:19:30.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.4.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.1/manifests"},{"name":"v4.4.0","sha":"a50f7594e74b57c2d087045d00a4a95a5c926952","kind":"tag","published_at":"2018-02-23T09:27:22.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.4.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.4.0/manifests"},{"name":"v4.3.0","sha":"66603e7167a8ec0cc99abd43feaa07be5e4d88ee","kind":"tag","published_at":"2018-02-10T21:32:49.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.3.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.3.0/manifests"},{"name":"v4.2.3","sha":"45cf33019b752f77506d1b53f0c08af0d7b74fb7","kind":"tag","published_at":"2018-02-10T18:55:02.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.2.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.2.3/manifests"},{"name":"v4.2.2","sha":"662808060e652895106f389f0362ee8f2f45199b","kind":"tag","published_at":"2018-01-26T21:22:00.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.2.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.2.2/manifests"},{"name":"v4.2.1","sha":"f3e34f8231d5250ca5e9b48321347a959868461c","kind":"tag","published_at":"2018-01-23T19:31:22.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.2.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.2.1/manifests"},{"name":"v4.2.0","sha":"3cc6ac2168d363f81f0314ae3a5209cdd030cbe6","kind":"tag","published_at":"2018-01-21T11:52:08.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.2.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.2.0/manifests"},{"name":"v5.0.0-next.3","sha":"fff195cd5f5ce07338846e8e0d72b7db9f614fb8","kind":"tag","published_at":"2018-01-16T19:50:04.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v5.0.0-next.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v5.0.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.0-next.3/manifests"},{"name":"v5.0.0-next.2","sha":"02fea574c808510fd8ead5cb323b62dfeea3f4a3","kind":"tag","published_at":"2018-01-16T19:47:22.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v5.0.0-next.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v5.0.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v5.0.0-next.2/manifests"},{"name":"v4.1.6","sha":"29e80bebec8b1d36cd4a45283e962b53bddafd77","kind":"tag","published_at":"2018-01-16T19:02:51.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.1.6","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.1.6/manifests"},{"name":"v4.1.5","sha":"dd9c75c97b965daeb22453df060acb3c43487fc2","kind":"tag","published_at":"2018-01-13T10:23:34.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.1.5","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.1.5/manifests"},{"name":"v4.1.4","sha":"571263ed71e01657a7de0b3d0daed3f9f002b9cd","kind":"tag","published_at":"2018-01-08T10:36:53.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.1.4","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.1.4/manifests"},{"name":"v4.1.3","sha":"6f9af25798f72d0de16445d5ed91eaaac1a9fd29","kind":"tag","published_at":"2017-12-07T13:20:49.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.1.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.1.3/manifests"},{"name":"v4.1.1","sha":"df3adf0d3f6f60adde871f87f1789446d9859db1","kind":"tag","published_at":"2017-11-03T08:35:46.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.1.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.1.1/manifests"},{"name":"v4.1.0","sha":"0a6a660789aea333cb787fe6b2667943e31d15a4","kind":"tag","published_at":"2017-11-02T16:34:29.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.1.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.1.0/manifests"},{"name":"v4.0.2","sha":"da24e941a349a52c84e87b1129b680e230e5cf8b","kind":"tag","published_at":"2017-10-25T16:55:26.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.0.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.0.2/manifests"},{"name":"v4.0.1","sha":"1bf1f2dbd21843806433eccdf4e47b0bdb2c44d0","kind":"tag","published_at":"2017-10-04T08:56:32.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.0.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.0.1/manifests"},{"name":"v4.0.0","sha":"fba2e29a2f4002c169cf59cd9babcc0519fd1a84","kind":"tag","published_at":"2017-09-26T07:55:50.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v4.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v4.0.0/manifests"},{"name":"v3.3.0","sha":"85f30b5e2b73676acb0100e2d39727abf83b995c","kind":"tag","published_at":"2017-09-18T10:09:04.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v3.3.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v3.3.0/manifests"},{"name":"v3.2.1","sha":"359e78b20b42edfd329d1fdec7c6bea0ea076628","kind":"tag","published_at":"2017-08-17T14:47:42.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v3.2.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v3.2.1/manifests"},{"name":"v3.2.0","sha":"1b81ec67c30046f5117c9299faa24a66035d7fd5","kind":"tag","published_at":"2017-08-10T14:03:53.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v3.2.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v3.2.0/manifests"},{"name":"v3.1.0","sha":"24207cd8504779dfc08b43842260d46cf722b691","kind":"tag","published_at":"2017-08-08T06:31:45.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v3.1.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v3.1.0/manifests"},{"name":"v3.0.0","sha":"18b9d5051dcff9df3b8b4ecca6b13c8a649e222b","kind":"tag","published_at":"2017-08-03T14:13:05.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v3.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v3.0.0/manifests"},{"name":"v2.4.1","sha":"dfef160bdadf2f638ce819c3342680f2efab3f78","kind":"tag","published_at":"2017-07-26T14:14:54.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.4.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"fde79119e2f14d088210d1add200fb2a0a712149","kind":"tag","published_at":"2017-07-26T06:21:17.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.4.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.4.0/manifests"},{"name":"v2.3.8","sha":"083632ec04ac76e7bb5b176bfff37fc6f56e9379","kind":"tag","published_at":"2017-07-13T08:08:17.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.3.8","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.3.8/manifests"},{"name":"v2.3.7","sha":"21b45884ce3c475c48bfa5a4dd668fdfc1f2bbec","kind":"tag","published_at":"2017-07-10T13:10:58.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.3.7","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.3.7/manifests"},{"name":"v2.3.6","sha":"98119bf02fd74bea136ee4480ae1b47a4e3479c1","kind":"tag","published_at":"2017-06-28T18:08:37.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.3.6","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.3.6/manifests"},{"name":"v2.3.5","sha":"1c690aa020f247d51e4b806fcee6b798ac6a882d","kind":"tag","published_at":"2017-06-20T07:34:43.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.3.5","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.3.5/manifests"},{"name":"v2.3.4","sha":"c8d2ec02e1cbaa1716b076833628cbbcf6c86adf","kind":"tag","published_at":"2017-06-10T09:39:57.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.3.4","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.3.4/manifests"},{"name":"v2.3.3","sha":"2204e72f6d851ca416e9e4a43ace2ba0796ef1e6","kind":"tag","published_at":"2017-06-10T09:02:01.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.3.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.3.3/manifests"},{"name":"v2.3.2","sha":"87abc0145c0ecf348f58b8f5820346f3a2c58d49","kind":"tag","published_at":"2017-05-26T15:25:11.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.3.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.3.2/manifests"},{"name":"v2.3.1","sha":"eee4564a81078610221476ef89f162435f52cd7a","kind":"tag","published_at":"2017-05-23T08:50:25.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.3.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.3.1/manifests"},{"name":"v2.3.0","sha":"8d6424884a5dc5c4c09a26b5c9970ec3798f1674","kind":"tag","published_at":"2017-05-22T10:15:31.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.3.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.3.0/manifests"},{"name":"v2.2.0","sha":"37676e8fef9b9d31de6fefef1200a6a5d3d2f3c2","kind":"tag","published_at":"2017-05-02T07:53:23.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.2.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.2.0/manifests"},{"name":"v2.1.0","sha":"90a5d8eddeffbbf259739da40c81f5d261385566","kind":"tag","published_at":"2017-03-20T16:33:57.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.1.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.1.0/manifests"},{"name":"v2.0.0","sha":"02a6ff6908bf64921967b319d4bfeb0bc9439e5a","kind":"tag","published_at":"2017-03-15T06:14:45.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.0.0/manifests"},{"name":"v2.0.0-pre.6","sha":"47558dc12ddef09a1fea1b292ebeebd90853dae0","kind":"commit","published_at":"2017-02-27T09:26:13.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.0.0-pre.6","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.0.0-pre.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.0.0-pre.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.0.0-pre.6/manifests"},{"name":"v1.17.7","sha":"c8f5355715adbd7d10f15eca1566d3301b85bd9a","kind":"tag","published_at":"2016-12-31T03:23:48.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.17.7","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.17.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.17.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.17.7/manifests"},{"name":"v2.0.0-pre.5","sha":"6eed95876c8ee612948fc1f809af48f79d42cd3c","kind":"tag","published_at":"2016-12-31T03:09:38.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.0.0-pre.5","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.0.0-pre.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.0.0-pre.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.0.0-pre.5/manifests"},{"name":"v2.0.0-pre.4","sha":"9622a73b060cc817bafafe8b4fe2c18486477dd0","kind":"tag","published_at":"2016-11-10T14:19:05.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.0.0-pre.4","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.0.0-pre.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.0.0-pre.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.0.0-pre.4/manifests"},{"name":"v2.0.0-pre.3","sha":"f19ae7f16ae383a77f6a696dc2d975ff0b75bd62","kind":"tag","published_at":"2016-09-19T12:45:04.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.0.0-pre.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.0.0-pre.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.0.0-pre.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.0.0-pre.3/manifests"},{"name":"v1.17.6","sha":"bca6fe5fa6eeda69ade2714cd193162f36f79ac7","kind":"tag","published_at":"2016-09-19T12:30:09.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.17.6","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.17.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.17.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.17.6/manifests"},{"name":"v1.17.5","sha":"d24a1f1ac7ea500d3d185adb3821786d321f6a92","kind":"tag","published_at":"2016-07-26T11:43:32.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.17.5","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.17.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.17.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.17.5/manifests"},{"name":"v2.0.0-pre.2","sha":"5a09be83a068bc21c71701792cbcd53dfd17fa07","kind":"tag","published_at":"2016-07-07T00:15:37.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.0.0-pre.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.0.0-pre.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.0.0-pre.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.0.0-pre.2/manifests"},{"name":"v1.17.4","sha":"4358f37ad3bd9899733d09f7f387648f296f50db","kind":"commit","published_at":"2016-05-02T17:06:53.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.17.4","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.17.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.17.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.17.4/manifests"},{"name":"v1.17.3","sha":"68bcf73bb3def5dd3dd89eea5b39455a9c1d8d0d","kind":"tag","published_at":"2016-01-27T11:44:34.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.17.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.17.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.17.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.17.3/manifests"},{"name":"v2.0.0-pre","sha":"8a80ddf6edf508d1c6cfccd40ecba2bce68291cb","kind":"commit","published_at":"2015-12-02T00:27:53.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v2.0.0-pre","html_url":"https://github.com/sinonjs/sinon/releases/tag/v2.0.0-pre","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.0.0-pre","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v2.0.0-pre/manifests"},{"name":"v1.17.2","sha":"aa333b775bb7b3a6d06ee1d8e28b33b82d56014e","kind":"commit","published_at":"2015-10-21T15:37:48.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.17.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.17.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.17.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.17.2/manifests"},{"name":"v1.17.1","sha":"d5512942fa64d3775760af3cfb22cdd297fca38c","kind":"tag","published_at":"2015-09-26T05:25:09.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.17.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.17.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.17.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.17.1/manifests"},{"name":"v1.17.0","sha":"7e1b5452d68c5322489385c57c659918ecb30fd8","kind":"tag","published_at":"2015-09-22T12:18:36.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.17.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.17.0/manifests"},{"name":"v1.16.1","sha":"38799cceb076a8190f60a41da234dcef0292ef64","kind":"commit","published_at":"2015-08-20T18:37:27.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.16.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.16.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.16.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.16.1/manifests"},{"name":"v1.15.4","sha":"9469e69895ec934e4e145d9b8a1c5a0165692036","kind":"commit","published_at":"2015-06-27T07:18:07.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.15.4","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.15.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.15.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.15.4/manifests"},{"name":"v1.15.3","sha":"a3cb400e69d052f47625b903db2053cbc67bd077","kind":"commit","published_at":"2015-06-11T12:13:51.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.15.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.15.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.15.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.15.3/manifests"},{"name":"v1.15.2","sha":"482855724fd5fab0ceb17305f61c5827e6b3eddd","kind":"commit","published_at":"2015-06-11T11:59:01.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.15.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.15.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.15.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.15.2/manifests"},{"name":"v1.15.1","sha":"787df5367b8ca08f38b277ac209ce5967a35bb44","kind":"commit","published_at":"2015-06-10T09:58:23.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.15.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.15.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.15.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.15.1/manifests"},{"name":"v1.15.0","sha":"2ea4f483bbfc8e12ad87edd35f3a78a6a691e853","kind":"tag","published_at":"2015-05-30T07:44:48.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.15.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.15.0/manifests"},{"name":"v1.14.1","sha":"18cc5699ac9929e341f85fae362d4056fcac6d6b","kind":"commit","published_at":"2015-03-16T17:28:01.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.14.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.14.1/manifests"},{"name":"v1.14.0","sha":"614e1e686a3e2cddce62084cf705019a29c33efc","kind":"commit","published_at":"2015-03-13T22:59:40.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.14.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.14.0/manifests"},{"name":"v1.13.0","sha":"e162dab1caf7799c5f3e084d7cf1b95290e13c15","kind":"commit","published_at":"2015-03-04T19:40:10.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.13.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.13.0/manifests"},{"name":"v1.12.2","sha":"1558eae0253e277bb30fe7baab93ee98401de85e","kind":"commit","published_at":"2014-12-12T19:46:40.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.12.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.12.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.12.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.12.2/manifests"},{"name":"v1.12.1","sha":"239d013e61383ae9c6c393bec38b776f5baee939","kind":"commit","published_at":"2014-11-15T23:09:29.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.12.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.12.1/manifests"},{"name":"v1.12.0","sha":"ff5d70a5486fcec30eeb9114134a86412afb59de","kind":"commit","published_at":"2014-11-15T23:06:34.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.12.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.12.0/manifests"},{"name":"v1.11.1","sha":"836399e176314e1bbe1692018f9aca6120b9729d","kind":"commit","published_at":"2014-10-27T21:00:17.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.11.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.11.1/manifests"},{"name":"v1.11.0","sha":"ed2377005ecf34276896b6f75966da2a63f19d4f","kind":"commit","published_at":"2014-10-26T19:10:25.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.11.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.11.0/manifests"},{"name":"v1.10.3","sha":"29abd353a037adaaea697b93729be2ff164101eb","kind":"commit","published_at":"2014-07-10T22:22:38.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.10.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.10.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.10.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.10.3/manifests"},{"name":"v1.10.2","sha":"25c272e5987e3f94c728b2f30c0fa3c85431c539","kind":"commit","published_at":"2014-06-02T07:03:08.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.10.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.10.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.10.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.10.2/manifests"},{"name":"v1.10.1","sha":"814adb9d9964bfb9d81f1921a75a7e8767aaf39b","kind":"commit","published_at":"2014-05-30T05:28:16.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.10.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.10.1/manifests"},{"name":"v1.10.0","sha":"d2554142e989dc21be2be15d359e68b5e5ef4405","kind":"commit","published_at":"2014-05-19T21:08:40.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.10.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.10.0/manifests"},{"name":"v1.9.1","sha":"c21099b0fd35d191aa6236e084e82d724eaa651c","kind":"commit","published_at":"2014-04-03T05:42:18.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.9.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.9.1/manifests"},{"name":"v1.9.0","sha":"e27c47ed8c13c304d3459e6d741f07d2323de0b5","kind":"commit","published_at":"2014-03-05T21:21:14.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.9.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.9.0/manifests"},{"name":"v1.8.2","sha":"8fb7dfe64245510228ae546663f656975ecd58d5","kind":"commit","published_at":"2014-02-11T22:09:43.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.8.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.8.2/manifests"},{"name":"v1.8.1","sha":"1e688ad2ec32634a9622f673e1f37256e7a08724","kind":"commit","published_at":"2014-02-02T14:01:10.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.8.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.8.1/manifests"},{"name":"v1.8.0","sha":"f9cdc94c51f0bb8a956f09a20d686ae2de892c7e","kind":"commit","published_at":"2014-02-02T00:53:31.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.8.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.8.0/manifests"},{"name":"v1.7.3","sha":"1e553235f245115d7a816f9e3abc836ad85b929b","kind":"commit","published_at":"2013-06-20T08:41:55.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.7.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.7.3/manifests"},{"name":"v1.7.1","sha":"cd313cd8a01f788e6e979fb9f5b8b1d015b44159","kind":"commit","published_at":"2013-05-07T12:06:58.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.7.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.7.1/manifests"},{"name":"v1.7.0","sha":"8c72871e735b43277744d2d3ad9ec411bf980c8c","kind":"commit","published_at":"2013-05-07T07:22:20.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.7.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.7.0/manifests"},{"name":"v1.6.0","sha":"f41d9f27a761ec08e61ffc07a67518bb3f5106b3","kind":"commit","published_at":"2013-02-18T19:08:13.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.6.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.6.0/manifests"},{"name":"v1.5.2","sha":"525d333cd9f0b97b1c53fddfdc21a3ddbba62f42","kind":"commit","published_at":"2012-11-27T21:00:49.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.5.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.5.2/manifests"},{"name":"v1.5.1","sha":"17a3e5ef1d52433b32be21e9a68f4f150ef2c755","kind":"commit","published_at":"2012-11-26T23:13:16.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.5.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.5.1/manifests"},{"name":"v1.5.0","sha":"c017e3f8d4b0497f6dd0372f7aa23c2b60b369bc","kind":"commit","published_at":"2012-10-19T14:09:34.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.5.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.5.0/manifests"},{"name":"v1.4.2","sha":"4fa7a76ed0abe06491fc1cf836bb7f8ae649f6cb","kind":"commit","published_at":"2012-07-11T20:54:05.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.4.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.4.2/manifests"},{"name":"v1.4.1","sha":"326a0e1d03c6ae5390f73d4ca9a058db3880af3e","kind":"commit","published_at":"2012-07-11T20:30:53.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/v1.4.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/v1.4.1/manifests"},{"name":"1.4.0","sha":"a9aebb0bc412e72e8db00a757b5e30c80fec564f","kind":"commit","published_at":"2012-07-09T20:54:33.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/1.4.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.4.0/manifests"},{"name":"1.3.4","sha":"e465490afabb895aee5f99adc629cdd583cf804e","kind":"commit","published_at":"2012-04-16T07:55:25.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/1.3.4","html_url":"https://github.com/sinonjs/sinon/releases/tag/1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.3.4/manifests"},{"name":"1.3.3","sha":"78c9bd71e115c3ec56d798f7ff804cd345086102","kind":"commit","published_at":"2012-04-14T21:03:22.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/1.3.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.3.3/manifests"},{"name":"1.3.2","sha":"044440cfff4dfcaae3b2e105566cd37fd0febce1","kind":"commit","published_at":"2012-03-11T19:06:58.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/1.3.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.3.2/manifests"},{"name":"1.3.1","sha":"a2f47d861e3c2311a40ce946fb453436fcc1e4a1","kind":"tag","published_at":"2012-01-04T07:10:31.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/1.3.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.3.1/manifests"},{"name":"1.3.0","sha":"5458aec1cc9230548d162434dd91913d797c9d23","kind":"tag","published_at":"2012-01-01T22:32:52.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/1.3.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.3.0/manifests"},{"name":"1.2.0","sha":"433a381fe0d383c6f1f34997d0e04bfa5f12ab25","kind":"commit","published_at":"2011-09-27T20:36:00.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/1.2.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.2.0/manifests"},{"name":"1.1.0","sha":"4177070245e75dac8b7bc9f23dd6964d6181f620","kind":"commit","published_at":"2011-05-05T18:50:25.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/1.1.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.1.0/manifests"},{"name":"0.2.3","sha":"eccd2ebd1a746c73dacf9ef1e00a8e65b7774874","kind":"commit","published_at":"2011-03-04T10:12:31.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/0.2.3","html_url":"https://github.com/sinonjs/sinon/releases/tag/0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/0.2.3/manifests"},{"name":"1.0.2","sha":"9f29e919eba820d5ae707ddc07862d640eab6cc9","kind":"commit","published_at":"2011-02-22T12:24:20.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/1.0.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.0.2/manifests"},{"name":"1.0.1","sha":"d1d324bdf48b6fecf804130b0a6905a2152d69fd","kind":"tag","published_at":"2010-12-20T21:01:42.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/1.0.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.0.1/manifests"},{"name":"1.0.0","sha":"080a0b9898796090acb2f54ff65999b480ad14f5","kind":"tag","published_at":"2010-12-08T22:33:08.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/1.0.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/1.0.0/manifests"},{"name":"0.8.0","sha":"6e452a465de8e3f61a1789d5b63c113c42ab78f5","kind":"tag","published_at":"2010-10-30T21:25:27.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/0.8.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/0.8.0/manifests"},{"name":"0.7.2","sha":"3bfdb4e210adf5064ff02d149a55af8a33fec665","kind":"tag","published_at":"2010-10-25T08:53:29.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/0.7.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/0.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/0.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/0.7.2/manifests"},{"name":"0.7.1","sha":"23afd365e622e734d4c45d0b7bb5a8768366cb1a","kind":"tag","published_at":"2010-10-16T20:30:53.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/0.7.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/0.7.1/manifests"},{"name":"0.7.0","sha":"e38a3a08525633a19dd669be0d356abf85aec3cf","kind":"commit","published_at":"2010-09-19T00:28:54.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/0.7.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/0.7.0/manifests"},{"name":"0.6.2","sha":"57dd90b6c832043061294bfa9938354685a5ba83","kind":"tag","published_at":"2010-08-12T09:29:52.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/0.6.2","html_url":"https://github.com/sinonjs/sinon/releases/tag/0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/0.6.2/manifests"},{"name":"0.6.1","sha":"eef46266a764299287f4400c0f15b54658d941e9","kind":"tag","published_at":"2010-08-12T08:48:52.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/0.6.1","html_url":"https://github.com/sinonjs/sinon/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"a194d462f95ec876937b744c521f06f508f69b77","kind":"tag","published_at":"2010-08-09T21:41:46.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/0.6.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/0.6.0/manifests"},{"name":"0.5.0","sha":"e3a55b317882d9f7056c5b31b58e7289b67135c1","kind":"tag","published_at":"2010-08-09T21:41:25.000Z","download_url":"https://codeload.github.com/sinonjs/sinon/tar.gz/0.5.0","html_url":"https://github.com/sinonjs/sinon/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinonjs%2Fsinon/tags/0.5.0/manifests"}]},"repo_metadata_updated_at":"2025-06-06T16:31:48.946Z","dependent_packages_count":70717,"downloads":33352022,"downloads_period":"last-month","dependent_repos_count":372404,"rankings":{"downloads":0.05295258580564047,"dependent_repos_count":0.05851069072732868,"dependent_packages_count":0.0013142317056208594,"stargazers_count":1.0463474762918077,"forks_count":1.3129174739152385,"docker_downloads_count":0.04405414196549923,"average":0.41934943340185593},"purl":"pkg:npm/sinon","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/sinon","docker_dependents_count":2372,"docker_downloads_count":2856543784,"usage_url":"https://repos.ecosyste.ms/usage/npm/sinon","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/sinon/dependencies","status":null,"funding_links":["https://opencollective.com/sinon","https://github.com/sponsors/sinonjs"],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/sinon/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/sinon/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/sinon/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/sinon/related_packages","maintainers":[{"uuid":"cjohansen","login":"cjohansen","name":null,"email":"christian@cjohansen.no","url":null,"packages_count":86,"html_url":"https://www.npmjs.com/~cjohansen","role":null,"created_at":"2022-11-10T11:28:52.845Z","updated_at":"2022-11-10T11:28:52.845Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/cjohansen/packages"},{"uuid":"fatso83","login":"fatso83","name":null,"email":"carlerik@gmail.com","url":null,"packages_count":38,"html_url":"https://www.npmjs.com/~fatso83","role":null,"created_at":"2022-11-10T11:28:52.843Z","updated_at":"2022-11-10T11:28:52.843Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/fatso83/packages"},{"uuid":"mantoni","login":"mantoni","name":null,"email":"mail@maxantoni.de","url":null,"packages_count":81,"html_url":"https://www.npmjs.com/~mantoni","role":null,"created_at":"2022-11-10T11:28:52.848Z","updated_at":"2022-11-10T11:28:52.848Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/mantoni/packages"},{"uuid":"mrgnrdrck","login":"mrgnrdrck","name":null,"email":"morgan@roderick.dk","url":null,"packages_count":27,"html_url":"https://www.npmjs.com/~mrgnrdrck","role":null,"created_at":"2022-11-10T11:28:52.850Z","updated_at":"2022-11-10T11:28:52.850Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/mrgnrdrck/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5006533,"maintainers_count":1012930,"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":1170,"unique_repositories_count_past_30_days":4,"recent_issues":[{"uuid":"4928382932","node_id":"PR_kwDOSRFXP87z0PdH","number":71,"state":"closed","title":"deps(deps): bump the major group with 56 updates","user":"dependabot[bot]","labels":["invalid","dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-07-20T11:15:53.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-20T11:15:34.000Z","updated_at":"2026-07-20T11:16:02.000Z","time_to_close":19,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"major","update_count":56,"packages":[{"name":"body-parser","old_version":"1.20.6","new_version":"2.3.0","repository_url":"https://github.com/expressjs/body-parser"},{"name":"check-dependencies","old_version":"1.1.1","new_version":"2.0.0","repository_url":"https://github.com/mgol/check-dependencies"},{"name":"config","old_version":"3.3.12","new_version":"4.4.2","repository_url":"https://github.com/node-config/node-config"},{"name":"express","old_version":"4.22.2","new_version":"5.2.1","repository_url":"https://github.com/expressjs/express"},{"name":"express-jwt","old_version":"0.1.3","new_version":"8.5.1","repository_url":"https://github.com/auth0/express-jwt"},{"name":"express-rate-limit","old_version":"7.5.1","new_version":"8.6.0","repository_url":"https://github.com/express-rate-limit/express-rate-limit"},{"name":"express-robots-txt","old_version":"0.5.0","new_version":"1.0.0","repository_url":"https://github.com/modosc/express-robots-txt"},{"name":"file-type","old_version":"16.5.4","new_version":"22.0.1","repository_url":"https://github.com/sindresorhus/file-type"},{"name":"fs-extra","old_version":"9.1.0","new_version":"11.3.6","repository_url":"https://github.com/jprichardson/node-fs-extra"},{"name":"fuzzball","old_version":"1.4.0","new_version":"2.2.6","repository_url":"https://github.com/nol13/fuzzball.js"},{"name":"glob","old_version":"10.5.0","new_version":"13.0.6","repository_url":"https://github.com/isaacs/node-glob"},{"name":"grunt-contrib-compress","old_version":"1.6.0","new_version":"2.0.0","repository_url":"https://github.com/gruntjs/grunt-contrib-compress"},{"name":"helmet","old_version":"4.6.0","new_version":"8.3.0","repository_url":"https://github.com/helmetjs/helmet"},{"name":"html-entities","old_version":"1.4.0","new_version":"2.6.0","repository_url":"https://github.com/mdevils/html-entities"},{"name":"js-yaml","old_version":"3.15.0","new_version":"5.2.1","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"jsonwebtoken","old_version":"0.4.0","new_version":"9.0.3","repository_url":"https://github.com/auth0/node-jsonwebtoken"},{"name":"multer","old_version":"1.4.5-lts.2","new_version":"2.2.0","repository_url":"https://github.com/expressjs/multer"},{"name":"otplib","old_version":"12.0.1","new_version":"13.4.1","repository_url":"https://github.com/yeojz/otplib"},{"name":"prom-client","old_version":"14.2.0","new_version":"15.1.3","repository_url":"https://github.com/siimon/prom-client"},{"name":"sanitize-html","old_version":"1.4.2","new_version":"2.17.6","repository_url":"https://github.com/apostrophecms/apostrophe"},{"name":"socket.io","old_version":"3.1.2","new_version":"4.8.3","repository_url":"https://github.com/socketio/socket.io"},{"name":"sqlite3","old_version":"5.1.7","new_version":"6.0.1","repository_url":"https://github.com/TryGhost/node-sqlite3"},{"name":"ts-node-dev","old_version":"1.1.8","new_version":"2.0.0","repository_url":"https://github.com/whitecolor/ts-node-dev"},{"name":"@types/chai","old_version":"4.3.20","new_version":"5.2.3","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/config","old_version":"3.3.5","new_version":"4.4.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/diff","old_version":"7.0.2","new_version":"8.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/express","old_version":"4.17.25","new_version":"5.0.6","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/express-jwt","old_version":"6.0.4","new_version":"7.4.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/fs-extra","old_version":"9.0.13","new_version":"11.0.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/glob","old_version":"7.2.0","new_version":"9.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/jest","old_version":"26.0.24","new_version":"30.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/js-yaml","old_version":"3.12.10","new_version":"4.0.9","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/jsonwebtoken","old_version":"8.5.9","new_version":"9.0.10","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/mocha","old_version":"8.2.3","new_version":"10.0.10","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/multer","old_version":"1.4.13","new_version":"2.2.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/node","old_version":"20.19.43","new_version":"26.1.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sanitize-html","old_version":"1.27.2","new_version":"2.16.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sequelize","old_version":"4.28.20","new_version":"6.12.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sinon","old_version":"10.0.20","new_version":"22.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sinon-chai","old_version":"3.2.12","new_version":"4.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/socket.io","old_version":"2.1.13","new_version":"3.0.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/socket.io-client","old_version":"1.4.36","new_version":"3.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"6.18.1","new_version":"8.64.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"6.18.1","new_version":"8.64.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"chai","old_version":"4.5.0","new_version":"6.2.2","repository_url":"https://github.com/chaijs/chai"},{"name":"concurrently","old_version":"5.3.0","new_version":"10.0.3","repository_url":"https://github.com/open-cli-tools/concurrently"},{"name":"cypress","old_version":"13.17.0","new_version":"15.18.1","repository_url":"https://github.com/cypress-io/cypress"},{"name":"eslint","old_version":"8.57.1","new_version":"10.7.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-promise","old_version":"6.6.0","new_version":"7.3.0","repository_url":"https://github.com/eslint-community/eslint-plugin-promise"},{"name":"jest","old_version":"29.7.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"mocha","old_version":"8.4.0","new_version":"11.7.6","repository_url":"https://github.com/mochajs/mocha"},{"name":"nyc","old_version":"15.1.0","new_version":"18.0.0","repository_url":"https://github.com/istanbuljs/nyc"},{"name":"sinon","old_version":"11.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"sinon-chai","old_version":"3.7.0","new_version":"4.0.1","repository_url":"https://github.com/chaijs/sinon-chai"},{"name":"socket.io-client","old_version":"3.1.3","new_version":"4.8.3","repository_url":"https://github.com/socketio/socket.io"},{"name":"typescript","old_version":"5.3.3","new_version":"7.0.2","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the major group with 56 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [body-parser](https://github.com/expressjs/body-parser) | `1.20.6` | `2.3.0` |\n| [check-dependencies](https://github.com/mgol/check-dependencies) | `1.1.1` | `2.0.0` |\n| [config](https://github.com/node-config/node-config) | `3.3.12` | `4.4.2` |\n| [express](https://github.com/expressjs/express) | `4.22.2` | `5.2.1` |\n| [express-jwt](https://github.com/auth0/express-jwt) | `0.1.3` | `8.5.1` |\n| [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit) | `7.5.1` | `8.6.0` |\n| [express-robots-txt](https://github.com/modosc/express-robots-txt) | `0.5.0` | `1.0.0` |\n| [file-type](https://github.com/sindresorhus/file-type) | `16.5.4` | `22.0.1` |\n| [fs-extra](https://github.com/jprichardson/node-fs-extra) | `9.1.0` | `11.3.6` |\n| [fuzzball](https://github.com/nol13/fuzzball.js) | `1.4.0` | `2.2.6` |\n| [glob](https://github.com/isaacs/node-glob) | `10.5.0` | `13.0.6` |\n| [grunt-contrib-compress](https://github.com/gruntjs/grunt-contrib-compress) | `1.6.0` | `2.0.0` |\n| [helmet](https://github.com/helmetjs/helmet) | `4.6.0` | `8.3.0` |\n| [html-entities](https://github.com/mdevils/html-entities) | `1.4.0` | `2.6.0` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `3.15.0` | `5.2.1` |\n| [jsonwebtoken](https://github.com/auth0/node-jsonwebtoken) | `0.4.0` | `9.0.3` |\n| [multer](https://github.com/expressjs/multer) | `1.4.5-lts.2` | `2.2.0` |\n| [otplib](https://github.com/yeojz/otplib/tree/HEAD/packages/otplib) | `12.0.1` | `13.4.1` |\n| [prom-client](https://github.com/siimon/prom-client) | `14.2.0` | `15.1.3` |\n| [sanitize-html](https://github.com/apostrophecms/apostrophe/tree/HEAD/packages/sanitize-html) | `1.4.2` | `2.17.6` |\n| [socket.io](https://github.com/socketio/socket.io) | `3.1.2` | `4.8.3` |\n| [sqlite3](https://github.com/TryGhost/node-sqlite3) | `5.1.7` | `6.0.1` |\n| [ts-node-dev](https://github.com/whitecolor/ts-node-dev) | `1.1.8` | `2.0.0` |\n| [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai) | `4.3.20` | `5.2.3` |\n| [@types/config](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/config) | `3.3.5` | `4.4.0` |\n| [@types/diff](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/diff) | `7.0.2` | `8.0.0` |\n| [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express) | `4.17.25` | `5.0.6` |\n| [@types/express-jwt](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express-jwt) | `6.0.4` | `7.4.4` |\n| [@types/fs-extra](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/fs-extra) | `9.0.13` | `11.0.4` |\n| [@types/glob](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/glob) | `7.2.0` | `9.0.0` |\n| [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) | `26.0.24` | `30.0.0` |\n| [@types/js-yaml](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/js-yaml) | `3.12.10` | `4.0.9` |\n| [@types/jsonwebtoken](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsonwebtoken) | `8.5.9` | `9.0.10` |\n| [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) | `8.2.3` | `10.0.10` |\n| [@types/multer](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/multer) | `1.4.13` | `2.2.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `20.19.43` | `26.1.1` |\n| [@types/sanitize-html](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sanitize-html) | `1.27.2` | `2.16.1` |\n| [@types/sequelize](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sequelize) | `4.28.20` | `6.12.0` |\n| [@types/sinon](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon) | `10.0.20` | `22.0.0` |\n| [@types/sinon-chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon-chai) | `3.2.12` | `4.0.0` |\n| [@types/socket.io](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/socket.io) | `2.1.13` | `3.0.2` |\n| [@types/socket.io-client](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/socket.io-client) | `1.4.36` | `3.0.0` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `6.18.1` | `8.64.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `6.18.1` | `8.64.0` |\n| [chai](https://github.com/chaijs/chai) | `4.5.0` | `6.2.2` |\n| [concurrently](https://github.com/open-cli-tools/concurrently) | `5.3.0` | `10.0.3` |\n| [cypress](https://github.com/cypress-io/cypress) | `13.17.0` | `15.18.1` |\n| [eslint](https://github.com/eslint/eslint) | `8.57.1` | `10.7.0` |\n| [eslint-plugin-promise](https://github.com/eslint-community/eslint-plugin-promise) | `6.6.0` | `7.3.0` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.4.2` |\n| [mocha](https://github.com/mochajs/mocha) | `8.4.0` | `11.7.6` |\n| [nyc](https://github.com/istanbuljs/nyc) | `15.1.0` | `18.0.0` |\n| [sinon](https://github.com/sinonjs/sinon) | `11.1.2` | `22.0.0` |\n| [sinon-chai](https://github.com/chaijs/sinon-chai) | `3.7.0` | `4.0.1` |\n| [socket.io-client](https://github.com/socketio/socket.io) | `3.1.3` | `4.8.3` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.3.3` | `7.0.2` |\n\nUpdates `body-parser` from 1.20.6 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/body-parser/releases\"\u003ebody-parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.0\u003c/h2\u003e\n\u003ch2\u003eImportant: Security\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2025-13466\"\u003eCVE-2026-12590\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/body-parser/security/advisories/GHSA-v422-hmwv-36x6\"\u003eGHSA-v422-hmwv-36x6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 6.0.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/expressjs/body-parser/pull/681\"\u003eexpressjs/body-parser#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 5.0.0 to 6.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/expressjs/body-parser/pull/682\"\u003eexpressjs/body-parser#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 6.0.0 to 6.1.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/expressjs/body-parser/pull/683\"\u003eexpressjs/body-parser#683\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 5.0.0 to 6.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/expressjs/body-parser/pull/685\"\u003eexpressjs/body-parser#685\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.31.2 to 4.31.9 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/expressjs/body-parser/pull/684\"\u003eexpressjs/body-parser#684\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(urlencoded): move empty-body guard to avoid extra function closure by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/647\"\u003eexpressjs/body-parser#647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove ESM compatibility by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/697\"\u003eexpressjs/body-parser#697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add recommendations for configuring payload limits by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/699\"\u003eexpressjs/body-parser#699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 6.1.0 to 6.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/701\"\u003eexpressjs/body-parser#701\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.31.10 to 4.32.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/expressjs/body-parser/pull/702\"\u003eexpressjs/body-parser#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 6.0.1 to 6.0.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/700\"\u003eexpressjs/body-parser#700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore:  add explicit type commonjs to package.json by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/711\"\u003eexpressjs/body-parser#711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: update dependencies to latest versions by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/708\"\u003eexpressjs/body-parser#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 7.0.0 to 8.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/expressjs/body-parser/pull/712\"\u003eexpressjs/body-parser#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.32.0 to 4.32.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/expressjs/body-parser/pull/713\"\u003eexpressjs/body-parser#713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 6.0.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/expressjs/body-parser/pull/714\"\u003eexpressjs/body-parser#714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: improve limit option validation by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/698\"\u003eexpressjs/body-parser#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.32.4 to 4.35.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/expressjs/body-parser/pull/719\"\u003eexpressjs/body-parser#719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 6.2.0 to 6.3.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/expressjs/body-parser/pull/718\"\u003eexpressjs/body-parser#718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/717\"\u003eexpressjs/body-parser#717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: eliminate conditional check in json strict mode hot path by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/651\"\u003eexpressjs/body-parser#651\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add node.js 26 to text matrix by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/726\"\u003eexpressjs/body-parser#726\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 6.3.0 to 6.4.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/expressjs/body-parser/pull/725\"\u003eexpressjs/body-parser#725\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact 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/expressjs/body-parser/pull/724\"\u003eexpressjs/body-parser#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.35.1 to 4.35.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/723\"\u003eexpressjs/body-parser#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade \u0026quot;content-type\u0026quot; by \u003ca href=\"https://github.com/blakeembrey\"\u003e\u003ccode\u003e@​blakeembrey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/728\"\u003eexpressjs/body-parser#728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: switch to const/let and enable eslint no-var rule by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/729\"\u003eexpressjs/body-parser#729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate outdated reference to MDN docs by \u003ca href=\"https://github.com/krzysdz\"\u003e\u003ccode\u003e@​krzysdz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/730\"\u003eexpressjs/body-parser#730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.35.3 to 4.36.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/expressjs/body-parser/pull/731\"\u003eexpressjs/body-parser#731\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 6.0.2 to 6.0.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/732\"\u003eexpressjs/body-parser#732\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updated deps to latest by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/733\"\u003eexpressjs/body-parser#733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e2.3.0 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/735\"\u003eexpressjs/body-parser#735\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/krzysdz\"\u003e\u003ccode\u003e@​krzysdz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/730\"\u003eexpressjs/body-parser#730\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/body-parser/compare/v2.2.2...v2.3.0\"\u003ehttps://github.com/expressjs/body-parser/compare/v2.2.2...v2.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update README links by \u003ca href=\"https://github.com/efekrskl\"\u003e\u003ccode\u003e@​efekrskl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/673\"\u003eexpressjs/body-parser#673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: release notes for the v1.20.4 release by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/674\"\u003eexpressjs/body-parser#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update URL-encoded parser description to include ISO-8859-1 encoding support by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/679\"\u003eexpressjs/body-parser#679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: use standard jsdoc tags everywhere by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/677\"\u003eexpressjs/body-parser#677\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/expressjs/body-parser/blob/master/HISTORY.md\"\u003ebody-parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.3.0 / 2026-06-15\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://github.com/expressjs/body-parser/security/advisories/GHSA-v422-hmwv-36x6\"\u003eGHSA-v422-hmwv-36x6\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use static exports instead of lazy getters to improve ESM compatibility\u003c/li\u003e\n\u003cli\u003efeat: add subpath exports for individual parsers\u003c/li\u003e\n\u003cli\u003efix: improve \u003ccode\u003elimit\u003c/code\u003e option validation (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/698\"\u003e#698\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eInvalid \u003ccode\u003elimit\u003c/code\u003e values (e.g. unparseable strings or \u003ccode\u003eNaN\u003c/code\u003e) now throw instead of being silently ignored, which previously disabled size limit enforcement\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enull\u003c/code\u003e and \u003ccode\u003eundefined\u003c/code\u003e fall back to the default 100kb limit\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003econtent-type@^2.0.0\u003c/li\u003e\n\u003cli\u003ehttp-errors@^2.0.1\u003c/li\u003e\n\u003cli\u003eiconv-lite^0.7.2\u003c/li\u003e\n\u003cli\u003eqs@^6.15.2\u003c/li\u003e\n\u003cli\u003eraw-body@^3.0.2\u003c/li\u003e\n\u003cli\u003etype-is@^2.1.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.2 / 2026-01-07\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003edeps: qs@^6.14.1\u003c/li\u003e\n\u003cli\u003erefactor(json): simplify strict mode error string construction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.1 / 2025-11-24\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://github.com/expressjs/body-parser/security/advisories/GHSA-wqch-xfxh-vrr4\"\u003eGHSA-wqch-xfxh-vrr4\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003etype-is@^2.0.1\u003c/li\u003e\n\u003cli\u003eiconv-lite@^0.7.0\n\u003cul\u003e\n\u003cli\u003eHandle split surrogate pairs when encoding UTF-8\u003c/li\u003e\n\u003cli\u003eAvoid false positives in \u003ccode\u003eencodingExists\u003c/code\u003e by using prototype-less objects\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eraw-body@^3.0.1\u003c/li\u003e\n\u003cli\u003edebug@^4.4.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.0 / 2025-03-27\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: normalize common options for all parsers\u003c/li\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003eiconv-lite@^0.6.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.1.0 / 2025-02-10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003etype-is@^2.0.0\u003c/li\u003e\n\u003cli\u003edebug@^4.4.0\u003c/li\u003e\n\u003cli\u003eRemoved destroy\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003erefactor: prefix built-in node module imports\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/expressjs/body-parser/commit/d0f2ace6c74769da7d19b8661b9a01c01bdb0bf7\"\u003e\u003ccode\u003ed0f2ace\u003c/code\u003e\u003c/a\u003e 2.3.0 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/735\"\u003e#735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/7d03f2f9d561dafd1576b137713353c95253512c\"\u003e\u003ccode\u003e7d03f2f\u003c/code\u003e\u003c/a\u003e chore: updated deps to latest (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/733\"\u003e#733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/8024ba7a813e6647ed63832d209a2abb8531267a\"\u003e\u003ccode\u003e8024ba7\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 6.0.2 to 6.0.3 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/732\"\u003e#732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/32b4ed4639281f04563adcd41d724ab06c9105d4\"\u003e\u003ccode\u003e32b4ed4\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 4.35.3 to 4.36.1 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/ff0f6b907106ec5a1b81c80f5a552d921c1bc9a5\"\u003e\u003ccode\u003eff0f6b9\u003c/code\u003e\u003c/a\u003e docs: update outdated reference to MDN docs (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/730\"\u003e#730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/14d001a9c90abc05891d895ad3e9cf0a65b7b34a\"\u003e\u003ccode\u003e14d001a\u003c/code\u003e\u003c/a\u003e refactor: switch to const/let and enable eslint no-var rule (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/729\"\u003e#729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/37f36a27528e65d7216f2c31c7039d3458c72147\"\u003e\u003ccode\u003e37f36a2\u003c/code\u003e\u003c/a\u003e deps: update content-type and type-is (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/728\"\u003e#728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/e1c244bf55fb00a6de4be882b4ed9fc20807d864\"\u003e\u003ccode\u003ee1c244b\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 4.35.1 to 4.35.3 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/723\"\u003e#723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/e01087f52192e20e2d0f8726d4f28a8d49d06c87\"\u003e\u003ccode\u003ee01087f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/724\"\u003e#724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/a7698d30280a3e931ea8841396e5d0ac5414e429\"\u003e\u003ccode\u003ea7698d3\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-node from 6.3.0 to 6.4.0 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/725\"\u003e#725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/expressjs/body-parser/compare/1.20.6...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `check-dependencies` from 1.1.1 to 2.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mgol/check-dependencies/releases\"\u003echeck-dependencies's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.0\u003c/h2\u003e\n\u003cp\u003eNotable non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport npm package aliases (\u003ca href=\"https://redirect.github.com/mgol/check-dependencies/issues/50\"\u003e#50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereduced a number of external dependencies\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enpm prune\u003c/code\u003e is no longer called as\u003ccode\u003enpm install\u003c/code\u003e already prunes\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edropped the callback interface - use promises instead\u003c/li\u003e\n\u003cli\u003edropped the \u003ccode\u003echeckCustomPackageNames\u003c/code\u003e option\u003c/li\u003e\n\u003cli\u003eCLI argument parsing is more strict now; camelCase parameter versions like \u003ccode\u003e--packageDir\u003c/code\u003e are no longer supported; use their kebab-case versions like \u003ccode\u003e--package-dir\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003edropped Bower support\u003c/li\u003e\n\u003cli\u003edropped support for Node.js \u003ccode\u003e\u0026lt;18.3\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/mgol/check-dependencies/commit/03c88471d9b99857bcc78171fc5dd89a4a402a16\"\u003e\u003ccode\u003e03c8847\u003c/code\u003e\u003c/a\u003e Tag 2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/65d9ef555c2e986b849e7abeac0474bfee663b0e\"\u003e\u003ccode\u003e65d9ef5\u003c/code\u003e\u003c/a\u003e Set Node.js requirement in package.json engines to \u0026gt;=18.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/4917ab0b9362530a95cc2bef028c2a6dcedf2ab7\"\u003e\u003ccode\u003e4917ab0\u003c/code\u003e\u003c/a\u003e Simplify the spawn logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/fc04cc87fe4284c083702e36a9a4055034d9fcc9\"\u003e\u003ccode\u003efc04cc8\u003c/code\u003e\u003c/a\u003e Drop support for the callback interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/28257dd04168aab66793fd0fe8ed0f46d52abec9\"\u003e\u003ccode\u003e28257dd\u003c/code\u003e\u003c/a\u003e Tweak ESLint settings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/dc16e8ac809502cf7509ef2de7429895b806535e\"\u003e\u003ccode\u003edc16e8a\u003c/code\u003e\u003c/a\u003e Drop the bluebird devDependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/412337ae3691296cbe7c2d69f0c51201894afc07\"\u003e\u003ccode\u003e412337a\u003c/code\u003e\u003c/a\u003e Drop fs-extra \u0026amp; graceful-fs devDependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/091279a22472c299cbdba0ab6e3e8a2dfbba11b5\"\u003e\u003ccode\u003e091279a\u003c/code\u003e\u003c/a\u003e Drop the findup-sync dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/10ac9c5b2ed92cdad11ce0f390551072e7509f18\"\u003e\u003ccode\u003e10ac9c5\u003c/code\u003e\u003c/a\u003e Drop lodash.camelcase \u0026amp; minimist dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/35dce52450b99241942c24d18a572c55fecc44d9\"\u003e\u003ccode\u003e35dce52\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mgol/check-dependencies/compare/1.1.1...2.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `config` from 3.3.12 to 4.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/node-config/node-config/releases\"\u003econfig's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.4.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e4.4 branch: Guard against odd object prototype issues triggered by changes in TOML 4.0 by \u003ca href=\"https://github.com/jdmarshall\"\u003e\u003ccode\u003e@​jdmarshall\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/916\"\u003enode-config/node-config#916\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.4.1...v4.4.2\"\u003ehttps://github.com/node-config/node-config/compare/v4.4.1...v4.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.4.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes for some method signature declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.4.0...v4.4.1\"\u003ehttps://github.com/node-config/node-config/compare/v4.4.0...v4.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTypescript types added to project by \u003ca href=\"https://github.com/mdkitzman\"\u003e\u003ccode\u003e@​mdkitzman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewithModuleDefaults()\u003c/code\u003e function added to support separate module defaults for multiple versions\u003c/li\u003e\n\u003cli\u003eRework raw.js to function like the new defer mechanism.\u003c/li\u003e\n\u003cli\u003e./raw.js is also now deprecated, and will be removed in 5.0\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/mdkitzman\"\u003e\u003ccode\u003e@​mdkitzman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/877\"\u003enode-config/node-config#877\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.3.0...v4.4.0\"\u003ehttps://github.com/node-config/node-config/compare/v4.3.0...v4.4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enew callback mechanism for handling deferred and async configuration evaluation\u003c/li\u003e\n\u003cli\u003e./async.js and ./defer.js are now deprecated\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Async and Deferred mechanism\u003c/h3\u003e\n\u003cp\u003eInstead of using async.js and defer.js, your executable config files can return a synchronous or asynchronous function. Note that if you use async deferred functions through the new mechanism, \u003cstrong\u003eyou need to call Util.resolveAsyncConfig()\u003c/strong\u003e instead of the old version.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eUtil.resolveAsyncConfig()\u003c/code\u003e also fixes an issue where using defer in an array did not function properly \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/876\"\u003e#876\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe old implementations have been marked as deprecated and will issue warnings to console.error to indicate use of the old pathways. The old functions are incompatible with ESM loading conventions and will be removed at the beginning of the 5.0 cycle to facilitate conversion of the library to ESM.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.2.1...v4.3.0\"\u003ehttps://github.com/node-config/node-config/compare/v4.2.1...v4.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore config.util.getEnv() by \u003ca href=\"https://github.com/jdmarshall\"\u003e\u003ccode\u003e@​jdmarshall\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/874\"\u003enode-config/node-config#874\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.2.0...v4.2.1\"\u003ehttps://github.com/node-config/node-config/compare/v4.2.0...v4.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\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/node-config/node-config/commit/24306540f0742d2ed51cb560cea424841af85ea7\"\u003e\u003ccode\u003e2430654\u003c/code\u003e\u003c/a\u003e 4.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/1537469260b2d02a08e783d35af89d62d29c150b\"\u003e\u003ccode\u003e1537469\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/916\"\u003e#916\u003c/a\u003e from jdmarshall/tomlFix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/07483cd6bdb0a47584581a7d2ffcfa85cb497021\"\u003e\u003ccode\u003e07483cd\u003c/code\u003e\u003c/a\u003e Workflow config change.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/aa818e6a4a45a607854d7f767d5dcb88159d03ed\"\u003e\u003ccode\u003eaa818e6\u003c/code\u003e\u003c/a\u003e Guard against odd object prototypes triggered by changes in TOML 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/890084d1d36796d289b38805c7e5166c32278f66\"\u003e\u003ccode\u003e890084d\u003c/code\u003e\u003c/a\u003e 4.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/878648c638abb25dcfa9673defff3068802fa383\"\u003e\u003ccode\u003e878648c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/892\"\u003e#892\u003c/a\u003e from jdmarshall/typefixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/506149bfce3b4101e2d323433d8da57a51cc7f33\"\u003e\u003ccode\u003e506149b\u003c/code\u003e\u003c/a\u003e Fix some type declarations, including those for \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/890\"\u003e#890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/228c4ad3c62769dbb0ea336d25c182c8fb547195\"\u003e\u003ccode\u003e228c4ad\u003c/code\u003e\u003c/a\u003e 4.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/407f80c51d8532bb00cb01fa12c7d662645af27d\"\u003e\u003ccode\u003e407f80c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/888\"\u003e#888\u003c/a\u003e from jdmarshall/getRegression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/d71db3c92f0d8d1c20ca6f6574f0c30d1e05c819\"\u003e\u003ccode\u003ed71db3c\u003c/code\u003e\u003c/a\u003e Update baseline and add 4.3 to the test matrix.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/node-config/node-config/compare/v3.3.12...v4.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/~jdmarshall\"\u003ejdmarshall\u003c/a\u003e, a new releaser for config since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express` from 4.22.2 to 5.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/express/releases\"\u003eexpress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\u003cbr /\u003e\nThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003eRelease: 5.2.1 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6933\"\u003eexpressjs/express#6933\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/express/compare/v5.2.0...v5.2.1\"\u003ehttps://github.com/expressjs/express/compare/v5.2.0...v5.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.2.0\u003c/h2\u003e\n\u003ch2\u003eImportant: Security\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.11 to 3.28.13 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/expressjs/express/pull/6429\"\u003eexpressjs/express#6429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: simplify \u003ccode\u003eacceptsLanguages\u003c/code\u003e implementation using spread operator by \u003ca href=\"https://github.com/Ayoub-Mabrouk\"\u003e\u003ccode\u003e@​Ayoub-Mabrouk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6137\"\u003eexpressjs/express#6137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eincreased code coverage of utils.js file by \u003ca href=\"https://github.com/ashish3011\"\u003e\u003ccode\u003e@​ashish3011\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6386\"\u003eexpressjs/express#6386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove duplicate word by \u003ca href=\"https://github.com/dufucun\"\u003e\u003ccode\u003e@​dufucun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6456\"\u003eexpressjs/express#6456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.13 to 3.28.16 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/expressjs/express/pull/6498\"\u003eexpressjs/express#6498\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 4.3.0 to 4.4.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/expressjs/express/pull/6497\"\u003eexpressjs/express#6497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 4.2.1 to 4.3.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/expressjs/express/pull/6496\"\u003eexpressjs/express#6496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add node.js 24 to test matrix by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6504\"\u003eexpressjs/express#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update codeql config by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6488\"\u003eexpressjs/express#6488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: wider range for query test skip by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6512\"\u003eexpressjs/express#6512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typos in test by \u003ca href=\"https://github.com/noritaka1166\"\u003e\u003ccode\u003e@​noritaka1166\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6535\"\u003eexpressjs/express#6535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: disable credential persistence for checkout actions by \u003ca href=\"https://github.com/mertssmnoglu\"\u003e\u003ccode\u003e@​mertssmnoglu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6522\"\u003eexpressjs/express#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: allow manual triggering of workflow by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6515\"\u003eexpressjs/express#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: add coverage for app.listen() variants by \u003ca href=\"https://github.com/kgarg1\"\u003e\u003ccode\u003e@​kgarg1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6476\"\u003eexpressjs/express#6476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: move documentation and charters to the discussions and .github … by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6427\"\u003eexpressjs/express#6427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.16 to 3.28.18 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/expressjs/express/pull/6549\"\u003eexpressjs/express#6549\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.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/expressjs/express/pull/6548\"\u003eexpressjs/express#6548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: enforce explicit \u003ccode\u003eBuffer\u003c/code\u003e import and add lint rule by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6525\"\u003eexpressjs/express#6525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: use node protocol for querystring by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6520\"\u003eexpressjs/express#6520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typo by \u003ca href=\"https://github.com/mountdisk\"\u003e\u003ccode\u003e@​mountdisk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6609\"\u003eexpressjs/express#6609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.18 to 3.29.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/expressjs/express/pull/6618\"\u003eexpressjs/express#6618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deprecation warnings for redirect arguments undefined by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6405\"\u003eexpressjs/express#6405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run CI when the markdown changes by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6632\"\u003eexpressjs/express#6632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: fix CONTRIBUTING link by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6653\"\u003eexpressjs/express#6653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update contributing guidelines and code of conduct links by \u003ca href=\"https://github.com/ShubhamOulkar\"\u003e\u003ccode\u003e@​ShubhamOulkar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6601\"\u003eexpressjs/express#6601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump morgan from 1.10.0 to 1.10.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/expressjs/express/pull/6679\"\u003eexpressjs/express#6679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump cookie-session from 2.1.0 to 2.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/expressjs/express/pull/6678\"\u003eexpressjs/express#6678\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elint: add --fix flag to automatic fix linting issue by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6644\"\u003eexpressjs/express#6644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: ignore yarn.lock file and update example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6588\"\u003eexpressjs/express#6588\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elib: use req.socket over deprecated req.connection by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6705\"\u003eexpressjs/express#6705\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update express app example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6718\"\u003eexpressjs/express#6718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.2 to 3.29.5 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/expressjs/express/pull/6675\"\u003eexpressjs/express#6675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove history.md from being packaged on publish by \u003ca href=\"https://github.com/sheplu\"\u003e\u003ccode\u003e@​sheplu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6780\"\u003eexpressjs/express#6780\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/expressjs/express/blob/master/History.md\"\u003eexpress's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.2.1 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRevert security fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.2.0 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eA deprecation warning was added when using \u003ccode\u003eres.redirect\u003c/code\u003e with undefined arguments, Express now emits a warning to help detect calls that pass undefined as the status or URL and make them easier to fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.1.0 / 2025-03-31\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eUint8Array\u003c/code\u003e in \u003ccode\u003eres.send()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for ETag option in \u003ccode\u003eres.sendFile()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for multiple links with the same rel in \u003ccode\u003eres.links()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd funding field to package.json\u003c/li\u003e\n\u003cli\u003eperf: use loop for acceptParams\u003c/li\u003e\n\u003cli\u003erefactor: prefix built-in node module imports\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esetprototypeof\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esafe-buffer\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003eutils-merge\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003emethods\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003edepd\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003edebug@^4.4.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003erouter@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003econtent-type@^1.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003efinalhandler@^2.1.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eqs@^6.14.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eserver-static@2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003etype-is@2.0.1\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.1 / 2024-10-08\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecookie\u003c/code\u003e semver lock to address \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2024-47764\"\u003eCVE-2024-47764\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.0 / 2024-09-10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eremove:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epath-is-absolute\u003c/code\u003e dependency - use \u003ccode\u003epath.isAbsolute\u003c/code\u003e instead\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ebreaking:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eres.status()\u003c/code\u003e accepts only integers, and input must be greater than 99 and less than 1000\n\u003cul\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eRangeError: Invalid status code: ${code}. Status code must be greater than 99 and less than 1000.\u003c/code\u003e for inputs outside this range\u003c/li\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eTypeError: Invalid status code: ${code}. Status code must be an integer.\u003c/code\u003e for non integer inputs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003edeps: send@1.0.0\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/expressjs/express/commit/dbac741a49a5a64336b70c06e85c2e2706e36336\"\u003e\u003ccode\u003edbac741\u003c/code\u003e\u003c/a\u003e 5.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/697547cde621d8b0a47b4fff6e98b29337f8c980\"\u003e\u003ccode\u003e697547c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;sec: security patch for CVE-2024-51999\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/4007ad103ba29f6426b2ec9eccfb1ceb792682a8\"\u003e\u003ccode\u003e4007ad1\u003c/code\u003e\u003c/a\u003e Release: 5.2.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6920\"\u003e#6920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/2f64f68c37c64ae333e41ff38032d21860f22255\"\u003e\u003ccode\u003e2f64f68\u003c/code\u003e\u003c/a\u003e sec: security patch for CVE-2024-51999\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/ed0ba3f1dc905d6b62eabf23bd383abcae4901ba\"\u003e\u003ccode\u003eed0ba3f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6928\"\u003e#6928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/8eace4603cb2547608578a4fbb259dc984216f71\"\u003e\u003ccode\u003e8eace46\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 4.31.2 to 4.31.6 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6929\"\u003e#6929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/30bae810279b2ea162bed5b14ce6c35a110a87f5\"\u003e\u003ccode\u003e30bae81\u003c/code\u003e\u003c/a\u003e build(deps): bump coverallsapp/github-action from 2.3.6 to 2.3.7 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6930\"\u003e#6930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/758d4355d45322b4c8cd347ebcefbf3b154c7e7f\"\u003e\u003ccode\u003e758d435\u003c/code\u003e\u003c/a\u003e deps: body-parser@^2.2.1 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6922\"\u003e#6922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/77bcd5274a87047e5b3fe2f17f6c342db3909c53\"\u003e\u003ccode\u003e77bcd52\u003c/code\u003e\u003c/a\u003e docs: update emeritus triagers (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6890\"\u003e#6890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/f33caf1f89a028f0ea98ff5a156a68e65a2eabdd\"\u003e\u003ccode\u003ef33caf1\u003c/code\u003e\u003c/a\u003e Nominate to \u003ca href=\"https://github.com/efekrskl\"\u003e\u003ccode\u003e@​efekrskl\u003c/code\u003e\u003c/a\u003e for triage team (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6888\"\u003e#6888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/expressjs/express/compare/v4.22.2...v5.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-jwt` from 0.1.3 to 8.5.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/auth0/express-jwt/blob/master/CHANGELOG.md\"\u003eexpress-jwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file starting from version \u003cstrong\u003ev4.0.0\u003c/strong\u003e.\nThis project adheres to \u003ca href=\"http://semver.org/\"\u003eSemantic Versioning\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e8.3.0 - 2023-01-04\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003erequestProperty support for nested properties (\u003ca href=\"https://github.com/auth0/express-jwt/commit/bbd3606ce68da2602733d6e4ac32564570753ca1\"\u003ebbd3606ce68da2602733d6e4ac32564570753ca1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Typescript instructions in Readme.MD (\u003ca href=\"https://github.com/auth0/express-jwt/commit/3c1d5cf8a08a6afbcfc78640b8cdb26fac8002ca\"\u003e3c1d5cf8a08a6afbcfc78640b8cdb26fac8002ca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.1 - 2022-12-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd secret rotation example in readme. close \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/310\"\u003e#310\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/0000a44ed58aac97798007af19b0324f28acc436\"\u003e0000a44ed58aac97798007af19b0324f28acc436\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/310\"\u003e#310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003e@​types/jsonwebtoken\u003c/code\u003e and fix deps in package-lock (\u003ca href=\"https://github.com/auth0/express-jwt/commit/2322a9b67a5b5c716f953a53a0bb4bbc696d0a11\"\u003e2322a9b67a5b5c716f953a53a0bb4bbc696d0a11\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.0 - 2022-12-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd an optional handler for expired tokens. closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/6048\"\u003e#6048\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/ca6c90ccbb4b61b91f417a5dfa56f0b931b81528\"\u003eca6c90ccbb4b61b91f417a5dfa56f0b931b81528\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/6048\"\u003e#6048\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.1.0 - 2022-12-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdate type to match jwks-rsa (\u003ca href=\"https://github.com/auth0/express-jwt/commit/bcad8af9cad82b3777cc38d1c05864a35f82bc53\"\u003ebcad8af9cad82b3777cc38d1c05864a35f82bc53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: export middleware options type. closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/308\"\u003e#308\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/25a30f0d50c02cc75ab17b09f3592e76e09f9666\"\u003e25a30f0d50c02cc75ab17b09f3592e76e09f9666\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/308\"\u003e#308\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.0 - 2022-12-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade jsonwebtoken to v9. \u003ca href=\"https://github.com/advisories/GHSA-27h2-hvpr-p74q\"\u003ehttps://github.com/advisories/GHSA-27h2-hvpr-p74q\u003c/a\u003e .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.3 - 2022-05-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix tsc build error for express-unless (\u003ca href=\"https://github.com/auth0/express-jwt/commit/e1fe1d264bc5363e008d23fea9d8c5d2ac0d8198\"\u003ee1fe1d264bc5363e008d23fea9d8c5d2ac0d8198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove esModuleInterop and fix assert import in tests (\u003ca href=\"https://github.com/auth0/express-jwt/commit/9ccf0cfd6aaa4cc61fce2f8ccdb961c4b0358201\"\u003e9ccf0cfd6aaa4cc61fce2f8ccdb961c4b0358201\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.2 - 2022-05-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix instaceof comparison for UnauthorizedError. closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/292\"\u003e#292\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/6c87fe401ecba868feda1ffa530082c7c539321a\"\u003e6c87fe401ecba868feda1ffa530082c7c539321a\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/292\"\u003e#292\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate changelog (\u003ca href=\"https://github.com/auth0/express-jwt/commit/b1344fa7f6f9dd3d27115a9107b3ef4323733895\"\u003eb1344fa7f6f9dd3d27115a9107b3ef4323733895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.1 - 2022-05-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix readme and package-lock (\u003ca href=\"https://github.com/auth0/express-jwt/commit/7a02ca76c5d7842cfa8b256dcc89dcef1ffbcdc1\"\u003e7a02ca76c5d7842cfa8b256dcc89dcef1ffbcdc1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): required runtime types (\u003ca href=\"https://github.com/auth0/express-jwt/commit/f3f5af5c214241b4f92b91c49db8586ec20e4526\"\u003ef3f5af5c214241b4f92b91c49db8586ec20e4526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: fix tiny typo (\u003ca href=\"https://github.com/auth0/express-jwt/commit/07e771857489b6344a8dc457069d040a76e84230\"\u003e07e771857489b6344a8dc457069d040a76e84230\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.0 - 2022-05-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edeprecate ExpressJwtRequest in favor of Request with optional auth, closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/284\"\u003e#284\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/de169def56f98f4237741aa6755d0c5e248bd561\"\u003ede169def56f98f4237741aa6755d0c5e248bd561\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/284\"\u003e#284\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.6.2 - 2022-05-02\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/auth0/express-jwt/commit/0dfe63b9a702b0755ec60d171152747942210be6\"\u003e\u003ccode\u003e0dfe63b\u003c/code\u003e\u003c/a\u003e 8.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/105ef5ec66fa32aa5861a09d3290545253adcbbb\"\u003e\u003ccode\u003e105ef5e\u003c/code\u003e\u003c/a\u003e add readme to package.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/c028e7098ea3dbdd4684f6e4960564e38fccdb96\"\u003e\u003ccode\u003ec028e70\u003c/code\u003e\u003c/a\u003e 8.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/75203815ab759f65aa114f4eb01faa58bc0e1e0c\"\u003e\u003ccode\u003e7520381\u003c/code\u003e\u003c/a\u003e fix: signature of middleware returned\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/ecd42788a7a24641ec78c8b21767c5f8aca5600a\"\u003e\u003ccode\u003eecd4278\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/f42a0e99422fe85fadd0a209b8497b64995e94cf\"\u003e\u003ccode\u003ef42a0e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/339\"\u003e#339\u003c/a\u003e from auth0/integrate-semgrep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/dacb316f8d485a9c335434f2812561ca9c282ecb\"\u003e\u003ccode\u003edacb316\u003c/code\u003e\u003c/a\u003e Create semgrep.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/00763facd650da5aa378ed876f4a1e863957642b\"\u003e\u003ccode\u003e00763fa\u003c/code\u003e\u003c/a\u003e Modify tests to actually exercise wrong signature case by removing base64 pad...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/d15b92c3424ecb1713df106f615c2a770ddbc0b8\"\u003e\u003ccode\u003ed15b92c\u003c/code\u003e\u003c/a\u003e 8.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/d1e88c73ed81b67d8f43eb748f8f33aa5c5b4aaf\"\u003e\u003ccode\u003ed1e88c7\u003c/code\u003e\u003c/a\u003e Merge branch 'glensc-patch-1'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/auth0/express-jwt/compare/v0.1.3...v8.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-rate-limit` from 7.5.1 to 8.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/releases\"\u003eexpress-rate-limit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.6.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.5.2\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.5.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.5.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.4.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.4.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.3.2\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.3.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.3.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.2.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.2.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.1.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.0.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\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/express-rate-limit/express-rate-limit/commit/fffb3c4d6e614e79fcb5a6617c06cc57fd587ef0\"\u003e\u003ccode\u003efffb3c4\u003c/code\u003e\u003c/a\u003e 8.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/f366b2d3602abace7e053cfb5a7e80d1f664f094\"\u003e\u003ccode\u003ef366b2d\u003c/code\u003e\u003c/a\u003e docs: debugging guide, time constants, \u0026amp; v8.6.0 changelog (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/652\"\u003e#652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/593ddd2f4fdf9111034ff81aef404d89cb07ad09\"\u003e\u003ccode\u003e593ddd2\u003c/code\u003e\u003c/a\u003e fix: make debug output easier to read (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/ef8c1295ff7f500717c9c0ceb099bbd873f8e9c2\"\u003e\u003ccode\u003eef8c129\u003c/code\u003e\u003c/a\u003e fix: Pin safe version of \u003ccode\u003e@​asyncapi/specs\u003c/code\u003e dev dep (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/659\"\u003e#659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/7b05e0dbd8b838075498af4fee7eccff4bd6c8a5\"\u003e\u003ccode\u003e7b05e0d\u003c/code\u003e\u003c/a\u003e feat: add time constants to support more readable values for windowMs (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/863e730c2f61e97e45315a7db8be42fc088d5234\"\u003e\u003ccode\u003e863e730\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the development-dependencies group with 3 updates (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/657\"\u003e#657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/e0e711e4c05b98d136203147cb811129fba79f81\"\u003e\u003ccode\u003ee0e711e\u003c/code\u003e\u003c/a\u003e fix: correct wording in usage documentation for express-rate-limit (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/fcd3aa7d5eef9d78a3609142491e9dbb4ba7d338\"\u003e\u003ccode\u003efcd3aa7\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the development-dependencies group with 3 updates (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/651\"\u003e#651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/99d4298bda0d9cd11ba4a1d518cabc22ec74d241\"\u003e\u003ccode\u003e99d4298\u003c/code\u003e\u003c/a\u003e feat: use \u003ccode\u003edebug\u003c/code\u003e for debug logging (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/641\"\u003e#641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/23e4ddef557f300a3a6d759ab7af7de44f21ab4f\"\u003e\u003ccode\u003e23e4dde\u003c/code\u003e\u003c/a\u003e feat: Run validations once each (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/compare/v7.5.1...v8.6.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 express-rate-limit since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-robots-txt` from 0.5.0 to 1.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modosc/express-robots-txt/blob/main/HISTORY.md\"\u003eexpress-robots-txt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.0.0] - {2021-08-20}\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite as es6, add separate commonjs + esm exports\u003c/li\u003e\n\u003cli\u003eUpdate deps\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/modosc/express-robots-txt/commit/2791589d8c96fc4d2190cc217d262d70cc569a93\"\u003e\u003ccode\u003e2791589\u003c/code\u003e\u003c/a\u003e es6 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/55\"\u003e#55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/0eb20919053c95e94b5d439a9fd48a98147d35bd\"\u003e\u003ccode\u003e0eb2091\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/940a03c2ebc9b8b8798df855ac92535e4240b060\"\u003e\u003ccode\u003e940a03c\u003c/code\u003e\u003c/a\u003e Bump supertest from 6.1.3 to 6.1.5 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/52\"\u003e#52\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/6c933f1f9936c1470b0ad405310b5979294ccdff\"\u003e\u003ccode\u003e6c933f1\u003c/code\u003e\u003c/a\u003e Bump jest from 27.0.4 to 27.0.6 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/50\"\u003e#50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/308c9057a4baf7365d515cae1920f57653229711\"\u003e\u003ccode\u003e308c905\u003c/code\u003e\u003c/a\u003e Bump path-parse from 1.0.6 to 1.0.7 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/0bdaaa00b7781540b145fe18abdca11c7a924aee\"\u003e\u003ccode\u003e0bdaaa0\u003c/code\u003e\u003c/a\u003e Bump jest from 26.6.3 to 27.0.4 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/48\"\u003e#48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/974a926e5dfbfcca2d99742032e4750ca478c22d\"\u003e\u003ccode\u003e974a926\u003c/code\u003e\u003c/a\u003e Bump ws from 7.4.3 to 7.4.6 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/46\"\u003e#46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/c12444cfcf67cde0d249495d11bbc9b4a7e3f686\"\u003e\u003ccode\u003ec12444c\u003c/code\u003e\u003c/a\u003e Bump hosted-git-info from 2.8.8 to 2.8.9 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/43\"\u003e#43\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/72f7ca8ab5f45592e9d9a49df94e73e03814c793\"\u003e\u003ccode\u003e72f7ca8\u003c/code\u003e\u003c/a\u003e Bump lodash from 4.17.20 to 4.17.21 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/44\"\u003e#44\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/6c35250df606de1bd355cd93850514cea82bb037\"\u003e\u003ccode\u003e6c35250\u003c/code\u003e\u003c/a\u003e Bump chai from 4.3.3 to 4.3.4 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/42\"\u003e#42\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modosc/express-robots-txt/compare/v0.5.0...v1.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `file-type` from 16.5.4 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/file-type/releases\"\u003efile-type's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev22.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Work around esbuild resolving Node-only imports  ce4262f\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/compare/v22.0.0...v22.0.1\"\u003ehttps://github.com/sindresorhus/file-type/compare/v22.0.0...v22.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRequires Node.js 22\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped Node.js \u003ccode\u003estream.Readable\u003c/code\u003e support from \u003ccode\u003efileTypeFromStream()\u003c/code\u003e and \u003ccode\u003efileTypeStream()\u003c/code\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThese now only accept a web \u003ccode\u003eReadableStream\u003c/code\u003e. Migrate with \u003ca href=\"https://nodejs.org/api/stream.html#streamreadabletowebstreamreadable-options\"\u003e\u003ccode\u003eReadable.toWeb()\u003c/code\u003e\u003c/a\u003e:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003e// Before\r\nimport fs from 'node:fs';\r\nfileTypeFromStream(fs.createReadStream('file.mp4'));\r\n\u003cp\u003e// After\u003cbr /\u003e\nimport fs from 'node:fs';\u003cbr /\u003e\nimport {Readable} from 'node:stream';\u003cbr /\u003e\nfileTypeFromStream(Readable.toWeb(fs.createReadStream('file.mp4')));\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSub-exports (e.g. \u003ccode\u003efile-type/core\u003c/code\u003e) have been removed. Import everything from \u003ccode\u003efile-type\u003c/code\u003e directly.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eReadableStreamWithFileType\u003c/code\u003e type has been removed. Use \u003ccode\u003eAnyWebReadableByteStreamWithFileType\u003c/code\u003e instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSeveral MIME types have been corrected or normalized:\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eOld MIME\u003c/th\u003e\n\u003cth\u003eNew MIME\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003elz\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-lzip\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/lzip\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003elnk\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x.ms.shortcut\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ms-shortcut\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eApple Alias\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x.apple.alias\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ft-apple.alias\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efbx\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x.autodesk.fbx\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ft-fbx\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDraco\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/vnd.google.draco\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ft-draco\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003eMIME subtypes prefixed with \u003ccode\u003ex-ft-\u003c/code\u003e are custom types defined by this package (not IANA-registered).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded detection for Apple iWork files: \u003ccode\u003e.key\u003c/code\u003e (Keynote), \u003ccode\u003e.pages\u003c/code\u003e (Pages), \u003ccode\u003e.numbers\u003c/code\u003e (Numbers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed LibreOffice OOXML files being incorrectly detected as ZIP when reading from streams\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/compare/v21.3.4...v22.0.0\"\u003ehttps://github.com/sindresorhus/file-type/compare/v21.3.4...v22.0.0\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/3c4b7e049171753c2f733c09afaf3f7ec9e09b13\"\u003e\u003ccode\u003e3c4b7e0\u003c/code\u003e\u003c/a\u003e 22.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/ce4262f69e2ed1d048162914a845fcb89cd80b01\"\u003e\u003ccode\u003ece4262f\u003c/code\u003e\u003c/a\u003e Fix: Work around esbuild resolving Node-only imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/2c54d066efdf7511e42fa9f5e4cd160b67fb51e9\"\u003e\u003ccode\u003e2c54d06\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/0ba6e0b2b76382f9b61e7b9e8610bbf7ca0e5273\"\u003e\u003ccode\u003e0ba6e0b\u003c/code\u003e\u003c/a\u003e Tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/0e679c74a9cab31c7b2aa65f9ba8e241fbc205f1\"\u003e\u003ccode\u003e0e679c7\u003c/code\u003e\u003c/a\u003e Remove sub-exports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/7079af7357c8d0a3651d6aa2015ba3cbe0121b48\"\u003e\u003ccode\u003e7079af7\u003c/code\u003e\u003c/a\u003e Tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/ec77458ce49d89bdf8de808569c2c87b43e8ca73\"\u003e\u003ccode\u003eec77458\u003c/code\u003e\u003c/a\u003e Add support for iWork files (.key, .pages, .numbers)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/d4a975c316429d8ec0bccc6e92483e625be0f6b1\"\u003e\u003ccode\u003ed4a975c\u003c/code\u003e\u003c/a\u003e Fix LibreOffice OOXML files detected as ZIP in streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/5de64e26f81ad14b1f07cb5c5108de6e303f3b60\"\u003e\u003ccode\u003e5de64e2\u003c/code\u003e\u003c/a\u003e Normalize MIME types we invented with \u003ccode\u003ex-ft-\u003c/code\u003e prefix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/7a60fa9dc0b7dad71ad6d3146a28ab92eb079983\"\u003e\u003ccode\u003e7a60fa9\u003c/code\u003e\u003c/a\u003e Require Node.js 22\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sindresorhus/file-type/compare/v16.5.4...v22.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fs-extra` from 9.1.0 to 11.3.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jprichardson/node-fs-extra/blob/master/CHANGELOG.md\"\u003efs-extra's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e11.3.6 / 2026-06-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of symlinked destination ancestors in copy/move methods (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/issues/1071\"\u003e#1071\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1073\"\u003e#1073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs typo fixed (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1074\"\u003e#1074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3.5 / 2026-05-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eensureLink*\u003c/code\u003e/\u003ccode\u003eensureSymlink*\u003c/code\u003e identical file detection on Windows (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1068\"\u003e#1068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix error handling in timestamp preservation code (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1065\"\u003e#1065\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1069\"\u003e#1069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix potential file descriptor leak on error in synchronous timestamp preservation code (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1066\"\u003e#1066\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3.4 / 2026-03-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where calling \u003ccode\u003eensureSymlink\u003c/code\u003e/\u003ccode\u003eensureSymlinkSync\u003c/code\u003e with a relative \u003ccode\u003esrcPath\u003c/code\u003e would fail if the symlink already existed (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/issues/1038\"\u003e#1038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node...\n\n_Description has been truncated_","html_url":"https://github.com/SriKaratalapu/juice-shop-krishna/pull/71","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SriKaratalapu%2Fjuice-shop-krishna/issues/71","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/71/packages"},{"uuid":"4928380756","node_id":"PR_kwDOSRFrns7z0O_e","number":65,"state":"closed","title":"deps(deps): bump the major group with 56 updates","user":"dependabot[bot]","labels":["invalid","dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-07-20T11:15:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-20T11:15:14.000Z","updated_at":"2026-07-20T11:16:01.000Z","time_to_close":38,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"major","update_count":56,"packages":[{"name":"body-parser","old_version":"1.20.6","new_version":"2.3.0","repository_url":"https://github.com/expressjs/body-parser"},{"name":"check-dependencies","old_version":"1.1.1","new_version":"2.0.0","repository_url":"https://github.com/mgol/check-dependencies"},{"name":"config","old_version":"3.3.12","new_version":"4.4.2","repository_url":"https://github.com/node-config/node-config"},{"name":"express","old_version":"4.22.2","new_version":"5.2.1","repository_url":"https://github.com/expressjs/express"},{"name":"express-jwt","old_version":"0.1.3","new_version":"8.5.1","repository_url":"https://github.com/auth0/express-jwt"},{"name":"express-rate-limit","old_version":"7.5.1","new_version":"8.6.0","repository_url":"https://github.com/express-rate-limit/express-rate-limit"},{"name":"express-robots-txt","old_version":"0.5.0","new_version":"1.0.0","repository_url":"https://github.com/modosc/express-robots-txt"},{"name":"file-type","old_version":"16.5.4","new_version":"22.0.1","repository_url":"https://github.com/sindresorhus/file-type"},{"name":"fs-extra","old_version":"9.1.0","new_version":"11.3.6","repository_url":"https://github.com/jprichardson/node-fs-extra"},{"name":"fuzzball","old_version":"1.4.0","new_version":"2.2.6","repository_url":"https://github.com/nol13/fuzzball.js"},{"name":"glob","old_version":"10.5.0","new_version":"13.0.6","repository_url":"https://github.com/isaacs/node-glob"},{"name":"grunt-contrib-compress","old_version":"1.6.0","new_version":"2.0.0","repository_url":"https://github.com/gruntjs/grunt-contrib-compress"},{"name":"helmet","old_version":"4.6.0","new_version":"8.3.0","repository_url":"https://github.com/helmetjs/helmet"},{"name":"html-entities","old_version":"1.4.0","new_version":"2.6.0","repository_url":"https://github.com/mdevils/html-entities"},{"name":"js-yaml","old_version":"3.15.0","new_version":"5.2.1","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"jsonwebtoken","old_version":"0.4.0","new_version":"9.0.3","repository_url":"https://github.com/auth0/node-jsonwebtoken"},{"name":"multer","old_version":"1.4.5-lts.2","new_version":"2.2.0","repository_url":"https://github.com/expressjs/multer"},{"name":"otplib","old_version":"12.0.1","new_version":"13.4.1","repository_url":"https://github.com/yeojz/otplib"},{"name":"prom-client","old_version":"14.2.0","new_version":"15.1.3","repository_url":"https://github.com/siimon/prom-client"},{"name":"sanitize-html","old_version":"1.4.2","new_version":"2.17.6","repository_url":"https://github.com/apostrophecms/apostrophe"},{"name":"socket.io","old_version":"3.1.2","new_version":"4.8.3","repository_url":"https://github.com/socketio/socket.io"},{"name":"sqlite3","old_version":"5.1.7","new_version":"6.0.1","repository_url":"https://github.com/TryGhost/node-sqlite3"},{"name":"ts-node-dev","old_version":"1.1.8","new_version":"2.0.0","repository_url":"https://github.com/whitecolor/ts-node-dev"},{"name":"@types/chai","old_version":"4.3.20","new_version":"5.2.3","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/config","old_version":"3.3.5","new_version":"4.4.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/diff","old_version":"7.0.2","new_version":"8.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/express","old_version":"4.17.25","new_version":"5.0.6","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/express-jwt","old_version":"6.0.4","new_version":"7.4.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/fs-extra","old_version":"9.0.13","new_version":"11.0.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/glob","old_version":"7.2.0","new_version":"9.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/jest","old_version":"26.0.24","new_version":"30.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/js-yaml","old_version":"3.12.10","new_version":"4.0.9","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/jsonwebtoken","old_version":"8.5.9","new_version":"9.0.10","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/mocha","old_version":"8.2.3","new_version":"10.0.10","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/multer","old_version":"1.4.13","new_version":"2.2.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/node","old_version":"20.19.43","new_version":"26.1.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sanitize-html","old_version":"1.27.2","new_version":"2.16.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sequelize","old_version":"4.28.20","new_version":"6.12.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sinon","old_version":"10.0.20","new_version":"22.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sinon-chai","old_version":"3.2.12","new_version":"4.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/socket.io","old_version":"2.1.13","new_version":"3.0.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/socket.io-client","old_version":"1.4.36","new_version":"3.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"6.18.1","new_version":"8.64.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"6.18.1","new_version":"8.64.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"chai","old_version":"4.5.0","new_version":"6.2.2","repository_url":"https://github.com/chaijs/chai"},{"name":"concurrently","old_version":"5.3.0","new_version":"10.0.3","repository_url":"https://github.com/open-cli-tools/concurrently"},{"name":"cypress","old_version":"13.17.0","new_version":"15.18.1","repository_url":"https://github.com/cypress-io/cypress"},{"name":"eslint","old_version":"8.57.1","new_version":"10.7.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-promise","old_version":"6.6.0","new_version":"7.3.0","repository_url":"https://github.com/eslint-community/eslint-plugin-promise"},{"name":"jest","old_version":"29.7.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"mocha","old_version":"8.4.0","new_version":"11.7.6","repository_url":"https://github.com/mochajs/mocha"},{"name":"nyc","old_version":"15.1.0","new_version":"18.0.0","repository_url":"https://github.com/istanbuljs/nyc"},{"name":"sinon","old_version":"11.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"sinon-chai","old_version":"3.7.0","new_version":"4.0.1","repository_url":"https://github.com/chaijs/sinon-chai"},{"name":"socket.io-client","old_version":"3.1.3","new_version":"4.8.3","repository_url":"https://github.com/socketio/socket.io"},{"name":"typescript","old_version":"5.3.3","new_version":"7.0.2","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the major group with 56 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [body-parser](https://github.com/expressjs/body-parser) | `1.20.6` | `2.3.0` |\n| [check-dependencies](https://github.com/mgol/check-dependencies) | `1.1.1` | `2.0.0` |\n| [config](https://github.com/node-config/node-config) | `3.3.12` | `4.4.2` |\n| [express](https://github.com/expressjs/express) | `4.22.2` | `5.2.1` |\n| [express-jwt](https://github.com/auth0/express-jwt) | `0.1.3` | `8.5.1` |\n| [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit) | `7.5.1` | `8.6.0` |\n| [express-robots-txt](https://github.com/modosc/express-robots-txt) | `0.5.0` | `1.0.0` |\n| [file-type](https://github.com/sindresorhus/file-type) | `16.5.4` | `22.0.1` |\n| [fs-extra](https://github.com/jprichardson/node-fs-extra) | `9.1.0` | `11.3.6` |\n| [fuzzball](https://github.com/nol13/fuzzball.js) | `1.4.0` | `2.2.6` |\n| [glob](https://github.com/isaacs/node-glob) | `10.5.0` | `13.0.6` |\n| [grunt-contrib-compress](https://github.com/gruntjs/grunt-contrib-compress) | `1.6.0` | `2.0.0` |\n| [helmet](https://github.com/helmetjs/helmet) | `4.6.0` | `8.3.0` |\n| [html-entities](https://github.com/mdevils/html-entities) | `1.4.0` | `2.6.0` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `3.15.0` | `5.2.1` |\n| [jsonwebtoken](https://github.com/auth0/node-jsonwebtoken) | `0.4.0` | `9.0.3` |\n| [multer](https://github.com/expressjs/multer) | `1.4.5-lts.2` | `2.2.0` |\n| [otplib](https://github.com/yeojz/otplib/tree/HEAD/packages/otplib) | `12.0.1` | `13.4.1` |\n| [prom-client](https://github.com/siimon/prom-client) | `14.2.0` | `15.1.3` |\n| [sanitize-html](https://github.com/apostrophecms/apostrophe/tree/HEAD/packages/sanitize-html) | `1.4.2` | `2.17.6` |\n| [socket.io](https://github.com/socketio/socket.io) | `3.1.2` | `4.8.3` |\n| [sqlite3](https://github.com/TryGhost/node-sqlite3) | `5.1.7` | `6.0.1` |\n| [ts-node-dev](https://github.com/whitecolor/ts-node-dev) | `1.1.8` | `2.0.0` |\n| [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai) | `4.3.20` | `5.2.3` |\n| [@types/config](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/config) | `3.3.5` | `4.4.0` |\n| [@types/diff](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/diff) | `7.0.2` | `8.0.0` |\n| [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express) | `4.17.25` | `5.0.6` |\n| [@types/express-jwt](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express-jwt) | `6.0.4` | `7.4.4` |\n| [@types/fs-extra](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/fs-extra) | `9.0.13` | `11.0.4` |\n| [@types/glob](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/glob) | `7.2.0` | `9.0.0` |\n| [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) | `26.0.24` | `30.0.0` |\n| [@types/js-yaml](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/js-yaml) | `3.12.10` | `4.0.9` |\n| [@types/jsonwebtoken](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsonwebtoken) | `8.5.9` | `9.0.10` |\n| [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) | `8.2.3` | `10.0.10` |\n| [@types/multer](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/multer) | `1.4.13` | `2.2.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `20.19.43` | `26.1.1` |\n| [@types/sanitize-html](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sanitize-html) | `1.27.2` | `2.16.1` |\n| [@types/sequelize](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sequelize) | `4.28.20` | `6.12.0` |\n| [@types/sinon](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon) | `10.0.20` | `22.0.0` |\n| [@types/sinon-chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon-chai) | `3.2.12` | `4.0.0` |\n| [@types/socket.io](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/socket.io) | `2.1.13` | `3.0.2` |\n| [@types/socket.io-client](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/socket.io-client) | `1.4.36` | `3.0.0` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `6.18.1` | `8.64.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `6.18.1` | `8.64.0` |\n| [chai](https://github.com/chaijs/chai) | `4.5.0` | `6.2.2` |\n| [concurrently](https://github.com/open-cli-tools/concurrently) | `5.3.0` | `10.0.3` |\n| [cypress](https://github.com/cypress-io/cypress) | `13.17.0` | `15.18.1` |\n| [eslint](https://github.com/eslint/eslint) | `8.57.1` | `10.7.0` |\n| [eslint-plugin-promise](https://github.com/eslint-community/eslint-plugin-promise) | `6.6.0` | `7.3.0` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.4.2` |\n| [mocha](https://github.com/mochajs/mocha) | `8.4.0` | `11.7.6` |\n| [nyc](https://github.com/istanbuljs/nyc) | `15.1.0` | `18.0.0` |\n| [sinon](https://github.com/sinonjs/sinon) | `11.1.2` | `22.0.0` |\n| [sinon-chai](https://github.com/chaijs/sinon-chai) | `3.7.0` | `4.0.1` |\n| [socket.io-client](https://github.com/socketio/socket.io) | `3.1.3` | `4.8.3` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.3.3` | `7.0.2` |\n\nUpdates `body-parser` from 1.20.6 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/body-parser/releases\"\u003ebody-parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.0\u003c/h2\u003e\n\u003ch2\u003eImportant: Security\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2025-13466\"\u003eCVE-2026-12590\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/body-parser/security/advisories/GHSA-v422-hmwv-36x6\"\u003eGHSA-v422-hmwv-36x6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 6.0.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/expressjs/body-parser/pull/681\"\u003eexpressjs/body-parser#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 5.0.0 to 6.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/expressjs/body-parser/pull/682\"\u003eexpressjs/body-parser#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 6.0.0 to 6.1.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/expressjs/body-parser/pull/683\"\u003eexpressjs/body-parser#683\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 5.0.0 to 6.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/expressjs/body-parser/pull/685\"\u003eexpressjs/body-parser#685\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.31.2 to 4.31.9 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/expressjs/body-parser/pull/684\"\u003eexpressjs/body-parser#684\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(urlencoded): move empty-body guard to avoid extra function closure by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/647\"\u003eexpressjs/body-parser#647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove ESM compatibility by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/697\"\u003eexpressjs/body-parser#697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add recommendations for configuring payload limits by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/699\"\u003eexpressjs/body-parser#699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 6.1.0 to 6.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/701\"\u003eexpressjs/body-parser#701\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.31.10 to 4.32.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/expressjs/body-parser/pull/702\"\u003eexpressjs/body-parser#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 6.0.1 to 6.0.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/700\"\u003eexpressjs/body-parser#700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore:  add explicit type commonjs to package.json by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/711\"\u003eexpressjs/body-parser#711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: update dependencies to latest versions by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/708\"\u003eexpressjs/body-parser#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 7.0.0 to 8.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/expressjs/body-parser/pull/712\"\u003eexpressjs/body-parser#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.32.0 to 4.32.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/expressjs/body-parser/pull/713\"\u003eexpressjs/body-parser#713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 6.0.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/expressjs/body-parser/pull/714\"\u003eexpressjs/body-parser#714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: improve limit option validation by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/698\"\u003eexpressjs/body-parser#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.32.4 to 4.35.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/expressjs/body-parser/pull/719\"\u003eexpressjs/body-parser#719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 6.2.0 to 6.3.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/expressjs/body-parser/pull/718\"\u003eexpressjs/body-parser#718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/717\"\u003eexpressjs/body-parser#717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: eliminate conditional check in json strict mode hot path by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/651\"\u003eexpressjs/body-parser#651\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add node.js 26 to text matrix by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/726\"\u003eexpressjs/body-parser#726\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 6.3.0 to 6.4.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/expressjs/body-parser/pull/725\"\u003eexpressjs/body-parser#725\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact 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/expressjs/body-parser/pull/724\"\u003eexpressjs/body-parser#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.35.1 to 4.35.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/723\"\u003eexpressjs/body-parser#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade \u0026quot;content-type\u0026quot; by \u003ca href=\"https://github.com/blakeembrey\"\u003e\u003ccode\u003e@​blakeembrey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/728\"\u003eexpressjs/body-parser#728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: switch to const/let and enable eslint no-var rule by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/729\"\u003eexpressjs/body-parser#729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate outdated reference to MDN docs by \u003ca href=\"https://github.com/krzysdz\"\u003e\u003ccode\u003e@​krzysdz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/730\"\u003eexpressjs/body-parser#730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.35.3 to 4.36.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/expressjs/body-parser/pull/731\"\u003eexpressjs/body-parser#731\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 6.0.2 to 6.0.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/732\"\u003eexpressjs/body-parser#732\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updated deps to latest by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/733\"\u003eexpressjs/body-parser#733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e2.3.0 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/735\"\u003eexpressjs/body-parser#735\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/krzysdz\"\u003e\u003ccode\u003e@​krzysdz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/730\"\u003eexpressjs/body-parser#730\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/body-parser/compare/v2.2.2...v2.3.0\"\u003ehttps://github.com/expressjs/body-parser/compare/v2.2.2...v2.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update README links by \u003ca href=\"https://github.com/efekrskl\"\u003e\u003ccode\u003e@​efekrskl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/673\"\u003eexpressjs/body-parser#673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: release notes for the v1.20.4 release by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/674\"\u003eexpressjs/body-parser#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update URL-encoded parser description to include ISO-8859-1 encoding support by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/679\"\u003eexpressjs/body-parser#679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: use standard jsdoc tags everywhere by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/677\"\u003eexpressjs/body-parser#677\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/expressjs/body-parser/blob/master/HISTORY.md\"\u003ebody-parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.3.0 / 2026-06-15\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://github.com/expressjs/body-parser/security/advisories/GHSA-v422-hmwv-36x6\"\u003eGHSA-v422-hmwv-36x6\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use static exports instead of lazy getters to improve ESM compatibility\u003c/li\u003e\n\u003cli\u003efeat: add subpath exports for individual parsers\u003c/li\u003e\n\u003cli\u003efix: improve \u003ccode\u003elimit\u003c/code\u003e option validation (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/698\"\u003e#698\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eInvalid \u003ccode\u003elimit\u003c/code\u003e values (e.g. unparseable strings or \u003ccode\u003eNaN\u003c/code\u003e) now throw instead of being silently ignored, which previously disabled size limit enforcement\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enull\u003c/code\u003e and \u003ccode\u003eundefined\u003c/code\u003e fall back to the default 100kb limit\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003econtent-type@^2.0.0\u003c/li\u003e\n\u003cli\u003ehttp-errors@^2.0.1\u003c/li\u003e\n\u003cli\u003eiconv-lite^0.7.2\u003c/li\u003e\n\u003cli\u003eqs@^6.15.2\u003c/li\u003e\n\u003cli\u003eraw-body@^3.0.2\u003c/li\u003e\n\u003cli\u003etype-is@^2.1.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.2 / 2026-01-07\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003edeps: qs@^6.14.1\u003c/li\u003e\n\u003cli\u003erefactor(json): simplify strict mode error string construction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.1 / 2025-11-24\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://github.com/expressjs/body-parser/security/advisories/GHSA-wqch-xfxh-vrr4\"\u003eGHSA-wqch-xfxh-vrr4\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003etype-is@^2.0.1\u003c/li\u003e\n\u003cli\u003eiconv-lite@^0.7.0\n\u003cul\u003e\n\u003cli\u003eHandle split surrogate pairs when encoding UTF-8\u003c/li\u003e\n\u003cli\u003eAvoid false positives in \u003ccode\u003eencodingExists\u003c/code\u003e by using prototype-less objects\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eraw-body@^3.0.1\u003c/li\u003e\n\u003cli\u003edebug@^4.4.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.0 / 2025-03-27\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: normalize common options for all parsers\u003c/li\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003eiconv-lite@^0.6.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.1.0 / 2025-02-10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003etype-is@^2.0.0\u003c/li\u003e\n\u003cli\u003edebug@^4.4.0\u003c/li\u003e\n\u003cli\u003eRemoved destroy\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003erefactor: prefix built-in node module imports\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/expressjs/body-parser/commit/d0f2ace6c74769da7d19b8661b9a01c01bdb0bf7\"\u003e\u003ccode\u003ed0f2ace\u003c/code\u003e\u003c/a\u003e 2.3.0 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/735\"\u003e#735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/7d03f2f9d561dafd1576b137713353c95253512c\"\u003e\u003ccode\u003e7d03f2f\u003c/code\u003e\u003c/a\u003e chore: updated deps to latest (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/733\"\u003e#733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/8024ba7a813e6647ed63832d209a2abb8531267a\"\u003e\u003ccode\u003e8024ba7\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 6.0.2 to 6.0.3 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/732\"\u003e#732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/32b4ed4639281f04563adcd41d724ab06c9105d4\"\u003e\u003ccode\u003e32b4ed4\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 4.35.3 to 4.36.1 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/ff0f6b907106ec5a1b81c80f5a552d921c1bc9a5\"\u003e\u003ccode\u003eff0f6b9\u003c/code\u003e\u003c/a\u003e docs: update outdated reference to MDN docs (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/730\"\u003e#730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/14d001a9c90abc05891d895ad3e9cf0a65b7b34a\"\u003e\u003ccode\u003e14d001a\u003c/code\u003e\u003c/a\u003e refactor: switch to const/let and enable eslint no-var rule (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/729\"\u003e#729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/37f36a27528e65d7216f2c31c7039d3458c72147\"\u003e\u003ccode\u003e37f36a2\u003c/code\u003e\u003c/a\u003e deps: update content-type and type-is (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/728\"\u003e#728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/e1c244bf55fb00a6de4be882b4ed9fc20807d864\"\u003e\u003ccode\u003ee1c244b\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 4.35.1 to 4.35.3 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/723\"\u003e#723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/e01087f52192e20e2d0f8726d4f28a8d49d06c87\"\u003e\u003ccode\u003ee01087f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/724\"\u003e#724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/a7698d30280a3e931ea8841396e5d0ac5414e429\"\u003e\u003ccode\u003ea7698d3\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-node from 6.3.0 to 6.4.0 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/725\"\u003e#725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/expressjs/body-parser/compare/1.20.6...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `check-dependencies` from 1.1.1 to 2.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mgol/check-dependencies/releases\"\u003echeck-dependencies's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.0\u003c/h2\u003e\n\u003cp\u003eNotable non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport npm package aliases (\u003ca href=\"https://redirect.github.com/mgol/check-dependencies/issues/50\"\u003e#50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereduced a number of external dependencies\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enpm prune\u003c/code\u003e is no longer called as\u003ccode\u003enpm install\u003c/code\u003e already prunes\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edropped the callback interface - use promises instead\u003c/li\u003e\n\u003cli\u003edropped the \u003ccode\u003echeckCustomPackageNames\u003c/code\u003e option\u003c/li\u003e\n\u003cli\u003eCLI argument parsing is more strict now; camelCase parameter versions like \u003ccode\u003e--packageDir\u003c/code\u003e are no longer supported; use their kebab-case versions like \u003ccode\u003e--package-dir\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003edropped Bower support\u003c/li\u003e\n\u003cli\u003edropped support for Node.js \u003ccode\u003e\u0026lt;18.3\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/mgol/check-dependencies/commit/03c88471d9b99857bcc78171fc5dd89a4a402a16\"\u003e\u003ccode\u003e03c8847\u003c/code\u003e\u003c/a\u003e Tag 2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/65d9ef555c2e986b849e7abeac0474bfee663b0e\"\u003e\u003ccode\u003e65d9ef5\u003c/code\u003e\u003c/a\u003e Set Node.js requirement in package.json engines to \u0026gt;=18.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/4917ab0b9362530a95cc2bef028c2a6dcedf2ab7\"\u003e\u003ccode\u003e4917ab0\u003c/code\u003e\u003c/a\u003e Simplify the spawn logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/fc04cc87fe4284c083702e36a9a4055034d9fcc9\"\u003e\u003ccode\u003efc04cc8\u003c/code\u003e\u003c/a\u003e Drop support for the callback interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/28257dd04168aab66793fd0fe8ed0f46d52abec9\"\u003e\u003ccode\u003e28257dd\u003c/code\u003e\u003c/a\u003e Tweak ESLint settings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/dc16e8ac809502cf7509ef2de7429895b806535e\"\u003e\u003ccode\u003edc16e8a\u003c/code\u003e\u003c/a\u003e Drop the bluebird devDependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/412337ae3691296cbe7c2d69f0c51201894afc07\"\u003e\u003ccode\u003e412337a\u003c/code\u003e\u003c/a\u003e Drop fs-extra \u0026amp; graceful-fs devDependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/091279a22472c299cbdba0ab6e3e8a2dfbba11b5\"\u003e\u003ccode\u003e091279a\u003c/code\u003e\u003c/a\u003e Drop the findup-sync dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/10ac9c5b2ed92cdad11ce0f390551072e7509f18\"\u003e\u003ccode\u003e10ac9c5\u003c/code\u003e\u003c/a\u003e Drop lodash.camelcase \u0026amp; minimist dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/35dce52450b99241942c24d18a572c55fecc44d9\"\u003e\u003ccode\u003e35dce52\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mgol/check-dependencies/compare/1.1.1...2.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `config` from 3.3.12 to 4.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/node-config/node-config/releases\"\u003econfig's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.4.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e4.4 branch: Guard against odd object prototype issues triggered by changes in TOML 4.0 by \u003ca href=\"https://github.com/jdmarshall\"\u003e\u003ccode\u003e@​jdmarshall\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/916\"\u003enode-config/node-config#916\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.4.1...v4.4.2\"\u003ehttps://github.com/node-config/node-config/compare/v4.4.1...v4.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.4.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes for some method signature declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.4.0...v4.4.1\"\u003ehttps://github.com/node-config/node-config/compare/v4.4.0...v4.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTypescript types added to project by \u003ca href=\"https://github.com/mdkitzman\"\u003e\u003ccode\u003e@​mdkitzman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewithModuleDefaults()\u003c/code\u003e function added to support separate module defaults for multiple versions\u003c/li\u003e\n\u003cli\u003eRework raw.js to function like the new defer mechanism.\u003c/li\u003e\n\u003cli\u003e./raw.js is also now deprecated, and will be removed in 5.0\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/mdkitzman\"\u003e\u003ccode\u003e@​mdkitzman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/877\"\u003enode-config/node-config#877\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.3.0...v4.4.0\"\u003ehttps://github.com/node-config/node-config/compare/v4.3.0...v4.4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enew callback mechanism for handling deferred and async configuration evaluation\u003c/li\u003e\n\u003cli\u003e./async.js and ./defer.js are now deprecated\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Async and Deferred mechanism\u003c/h3\u003e\n\u003cp\u003eInstead of using async.js and defer.js, your executable config files can return a synchronous or asynchronous function. Note that if you use async deferred functions through the new mechanism, \u003cstrong\u003eyou need to call Util.resolveAsyncConfig()\u003c/strong\u003e instead of the old version.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eUtil.resolveAsyncConfig()\u003c/code\u003e also fixes an issue where using defer in an array did not function properly \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/876\"\u003e#876\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe old implementations have been marked as deprecated and will issue warnings to console.error to indicate use of the old pathways. The old functions are incompatible with ESM loading conventions and will be removed at the beginning of the 5.0 cycle to facilitate conversion of the library to ESM.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.2.1...v4.3.0\"\u003ehttps://github.com/node-config/node-config/compare/v4.2.1...v4.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore config.util.getEnv() by \u003ca href=\"https://github.com/jdmarshall\"\u003e\u003ccode\u003e@​jdmarshall\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/874\"\u003enode-config/node-config#874\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.2.0...v4.2.1\"\u003ehttps://github.com/node-config/node-config/compare/v4.2.0...v4.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\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/node-config/node-config/commit/24306540f0742d2ed51cb560cea424841af85ea7\"\u003e\u003ccode\u003e2430654\u003c/code\u003e\u003c/a\u003e 4.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/1537469260b2d02a08e783d35af89d62d29c150b\"\u003e\u003ccode\u003e1537469\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/916\"\u003e#916\u003c/a\u003e from jdmarshall/tomlFix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/07483cd6bdb0a47584581a7d2ffcfa85cb497021\"\u003e\u003ccode\u003e07483cd\u003c/code\u003e\u003c/a\u003e Workflow config change.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/aa818e6a4a45a607854d7f767d5dcb88159d03ed\"\u003e\u003ccode\u003eaa818e6\u003c/code\u003e\u003c/a\u003e Guard against odd object prototypes triggered by changes in TOML 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/890084d1d36796d289b38805c7e5166c32278f66\"\u003e\u003ccode\u003e890084d\u003c/code\u003e\u003c/a\u003e 4.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/878648c638abb25dcfa9673defff3068802fa383\"\u003e\u003ccode\u003e878648c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/892\"\u003e#892\u003c/a\u003e from jdmarshall/typefixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/506149bfce3b4101e2d323433d8da57a51cc7f33\"\u003e\u003ccode\u003e506149b\u003c/code\u003e\u003c/a\u003e Fix some type declarations, including those for \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/890\"\u003e#890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/228c4ad3c62769dbb0ea336d25c182c8fb547195\"\u003e\u003ccode\u003e228c4ad\u003c/code\u003e\u003c/a\u003e 4.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/407f80c51d8532bb00cb01fa12c7d662645af27d\"\u003e\u003ccode\u003e407f80c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/888\"\u003e#888\u003c/a\u003e from jdmarshall/getRegression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/d71db3c92f0d8d1c20ca6f6574f0c30d1e05c819\"\u003e\u003ccode\u003ed71db3c\u003c/code\u003e\u003c/a\u003e Update baseline and add 4.3 to the test matrix.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/node-config/node-config/compare/v3.3.12...v4.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/~jdmarshall\"\u003ejdmarshall\u003c/a\u003e, a new releaser for config since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express` from 4.22.2 to 5.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/express/releases\"\u003eexpress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\u003cbr /\u003e\nThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003eRelease: 5.2.1 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6933\"\u003eexpressjs/express#6933\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/express/compare/v5.2.0...v5.2.1\"\u003ehttps://github.com/expressjs/express/compare/v5.2.0...v5.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.2.0\u003c/h2\u003e\n\u003ch2\u003eImportant: Security\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.11 to 3.28.13 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/expressjs/express/pull/6429\"\u003eexpressjs/express#6429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: simplify \u003ccode\u003eacceptsLanguages\u003c/code\u003e implementation using spread operator by \u003ca href=\"https://github.com/Ayoub-Mabrouk\"\u003e\u003ccode\u003e@​Ayoub-Mabrouk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6137\"\u003eexpressjs/express#6137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eincreased code coverage of utils.js file by \u003ca href=\"https://github.com/ashish3011\"\u003e\u003ccode\u003e@​ashish3011\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6386\"\u003eexpressjs/express#6386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove duplicate word by \u003ca href=\"https://github.com/dufucun\"\u003e\u003ccode\u003e@​dufucun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6456\"\u003eexpressjs/express#6456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.13 to 3.28.16 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/expressjs/express/pull/6498\"\u003eexpressjs/express#6498\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 4.3.0 to 4.4.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/expressjs/express/pull/6497\"\u003eexpressjs/express#6497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 4.2.1 to 4.3.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/expressjs/express/pull/6496\"\u003eexpressjs/express#6496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add node.js 24 to test matrix by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6504\"\u003eexpressjs/express#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update codeql config by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6488\"\u003eexpressjs/express#6488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: wider range for query test skip by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6512\"\u003eexpressjs/express#6512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typos in test by \u003ca href=\"https://github.com/noritaka1166\"\u003e\u003ccode\u003e@​noritaka1166\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6535\"\u003eexpressjs/express#6535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: disable credential persistence for checkout actions by \u003ca href=\"https://github.com/mertssmnoglu\"\u003e\u003ccode\u003e@​mertssmnoglu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6522\"\u003eexpressjs/express#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: allow manual triggering of workflow by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6515\"\u003eexpressjs/express#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: add coverage for app.listen() variants by \u003ca href=\"https://github.com/kgarg1\"\u003e\u003ccode\u003e@​kgarg1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6476\"\u003eexpressjs/express#6476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: move documentation and charters to the discussions and .github … by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6427\"\u003eexpressjs/express#6427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.16 to 3.28.18 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/expressjs/express/pull/6549\"\u003eexpressjs/express#6549\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.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/expressjs/express/pull/6548\"\u003eexpressjs/express#6548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: enforce explicit \u003ccode\u003eBuffer\u003c/code\u003e import and add lint rule by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6525\"\u003eexpressjs/express#6525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: use node protocol for querystring by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6520\"\u003eexpressjs/express#6520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typo by \u003ca href=\"https://github.com/mountdisk\"\u003e\u003ccode\u003e@​mountdisk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6609\"\u003eexpressjs/express#6609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.18 to 3.29.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/expressjs/express/pull/6618\"\u003eexpressjs/express#6618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deprecation warnings for redirect arguments undefined by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6405\"\u003eexpressjs/express#6405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run CI when the markdown changes by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6632\"\u003eexpressjs/express#6632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: fix CONTRIBUTING link by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6653\"\u003eexpressjs/express#6653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update contributing guidelines and code of conduct links by \u003ca href=\"https://github.com/ShubhamOulkar\"\u003e\u003ccode\u003e@​ShubhamOulkar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6601\"\u003eexpressjs/express#6601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump morgan from 1.10.0 to 1.10.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/expressjs/express/pull/6679\"\u003eexpressjs/express#6679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump cookie-session from 2.1.0 to 2.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/expressjs/express/pull/6678\"\u003eexpressjs/express#6678\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elint: add --fix flag to automatic fix linting issue by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6644\"\u003eexpressjs/express#6644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: ignore yarn.lock file and update example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6588\"\u003eexpressjs/express#6588\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elib: use req.socket over deprecated req.connection by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6705\"\u003eexpressjs/express#6705\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update express app example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6718\"\u003eexpressjs/express#6718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.2 to 3.29.5 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/expressjs/express/pull/6675\"\u003eexpressjs/express#6675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove history.md from being packaged on publish by \u003ca href=\"https://github.com/sheplu\"\u003e\u003ccode\u003e@​sheplu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6780\"\u003eexpressjs/express#6780\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/expressjs/express/blob/master/History.md\"\u003eexpress's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.2.1 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRevert security fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.2.0 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eA deprecation warning was added when using \u003ccode\u003eres.redirect\u003c/code\u003e with undefined arguments, Express now emits a warning to help detect calls that pass undefined as the status or URL and make them easier to fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.1.0 / 2025-03-31\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eUint8Array\u003c/code\u003e in \u003ccode\u003eres.send()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for ETag option in \u003ccode\u003eres.sendFile()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for multiple links with the same rel in \u003ccode\u003eres.links()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd funding field to package.json\u003c/li\u003e\n\u003cli\u003eperf: use loop for acceptParams\u003c/li\u003e\n\u003cli\u003erefactor: prefix built-in node module imports\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esetprototypeof\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esafe-buffer\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003eutils-merge\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003emethods\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003edepd\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003edebug@^4.4.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003erouter@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003econtent-type@^1.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003efinalhandler@^2.1.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eqs@^6.14.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eserver-static@2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003etype-is@2.0.1\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.1 / 2024-10-08\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecookie\u003c/code\u003e semver lock to address \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2024-47764\"\u003eCVE-2024-47764\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.0 / 2024-09-10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eremove:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epath-is-absolute\u003c/code\u003e dependency - use \u003ccode\u003epath.isAbsolute\u003c/code\u003e instead\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ebreaking:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eres.status()\u003c/code\u003e accepts only integers, and input must be greater than 99 and less than 1000\n\u003cul\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eRangeError: Invalid status code: ${code}. Status code must be greater than 99 and less than 1000.\u003c/code\u003e for inputs outside this range\u003c/li\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eTypeError: Invalid status code: ${code}. Status code must be an integer.\u003c/code\u003e for non integer inputs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003edeps: send@1.0.0\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/expressjs/express/commit/dbac741a49a5a64336b70c06e85c2e2706e36336\"\u003e\u003ccode\u003edbac741\u003c/code\u003e\u003c/a\u003e 5.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/697547cde621d8b0a47b4fff6e98b29337f8c980\"\u003e\u003ccode\u003e697547c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;sec: security patch for CVE-2024-51999\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/4007ad103ba29f6426b2ec9eccfb1ceb792682a8\"\u003e\u003ccode\u003e4007ad1\u003c/code\u003e\u003c/a\u003e Release: 5.2.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6920\"\u003e#6920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/2f64f68c37c64ae333e41ff38032d21860f22255\"\u003e\u003ccode\u003e2f64f68\u003c/code\u003e\u003c/a\u003e sec: security patch for CVE-2024-51999\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/ed0ba3f1dc905d6b62eabf23bd383abcae4901ba\"\u003e\u003ccode\u003eed0ba3f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6928\"\u003e#6928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/8eace4603cb2547608578a4fbb259dc984216f71\"\u003e\u003ccode\u003e8eace46\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 4.31.2 to 4.31.6 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6929\"\u003e#6929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/30bae810279b2ea162bed5b14ce6c35a110a87f5\"\u003e\u003ccode\u003e30bae81\u003c/code\u003e\u003c/a\u003e build(deps): bump coverallsapp/github-action from 2.3.6 to 2.3.7 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6930\"\u003e#6930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/758d4355d45322b4c8cd347ebcefbf3b154c7e7f\"\u003e\u003ccode\u003e758d435\u003c/code\u003e\u003c/a\u003e deps: body-parser@^2.2.1 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6922\"\u003e#6922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/77bcd5274a87047e5b3fe2f17f6c342db3909c53\"\u003e\u003ccode\u003e77bcd52\u003c/code\u003e\u003c/a\u003e docs: update emeritus triagers (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6890\"\u003e#6890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/f33caf1f89a028f0ea98ff5a156a68e65a2eabdd\"\u003e\u003ccode\u003ef33caf1\u003c/code\u003e\u003c/a\u003e Nominate to \u003ca href=\"https://github.com/efekrskl\"\u003e\u003ccode\u003e@​efekrskl\u003c/code\u003e\u003c/a\u003e for triage team (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6888\"\u003e#6888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/expressjs/express/compare/v4.22.2...v5.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-jwt` from 0.1.3 to 8.5.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/auth0/express-jwt/blob/master/CHANGELOG.md\"\u003eexpress-jwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file starting from version \u003cstrong\u003ev4.0.0\u003c/strong\u003e.\nThis project adheres to \u003ca href=\"http://semver.org/\"\u003eSemantic Versioning\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e8.3.0 - 2023-01-04\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003erequestProperty support for nested properties (\u003ca href=\"https://github.com/auth0/express-jwt/commit/bbd3606ce68da2602733d6e4ac32564570753ca1\"\u003ebbd3606ce68da2602733d6e4ac32564570753ca1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Typescript instructions in Readme.MD (\u003ca href=\"https://github.com/auth0/express-jwt/commit/3c1d5cf8a08a6afbcfc78640b8cdb26fac8002ca\"\u003e3c1d5cf8a08a6afbcfc78640b8cdb26fac8002ca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.1 - 2022-12-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd secret rotation example in readme. close \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/310\"\u003e#310\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/0000a44ed58aac97798007af19b0324f28acc436\"\u003e0000a44ed58aac97798007af19b0324f28acc436\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/310\"\u003e#310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003e@​types/jsonwebtoken\u003c/code\u003e and fix deps in package-lock (\u003ca href=\"https://github.com/auth0/express-jwt/commit/2322a9b67a5b5c716f953a53a0bb4bbc696d0a11\"\u003e2322a9b67a5b5c716f953a53a0bb4bbc696d0a11\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.0 - 2022-12-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd an optional handler for expired tokens. closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/6048\"\u003e#6048\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/ca6c90ccbb4b61b91f417a5dfa56f0b931b81528\"\u003eca6c90ccbb4b61b91f417a5dfa56f0b931b81528\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/6048\"\u003e#6048\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.1.0 - 2022-12-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdate type to match jwks-rsa (\u003ca href=\"https://github.com/auth0/express-jwt/commit/bcad8af9cad82b3777cc38d1c05864a35f82bc53\"\u003ebcad8af9cad82b3777cc38d1c05864a35f82bc53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: export middleware options type. closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/308\"\u003e#308\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/25a30f0d50c02cc75ab17b09f3592e76e09f9666\"\u003e25a30f0d50c02cc75ab17b09f3592e76e09f9666\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/308\"\u003e#308\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.0 - 2022-12-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade jsonwebtoken to v9. \u003ca href=\"https://github.com/advisories/GHSA-27h2-hvpr-p74q\"\u003ehttps://github.com/advisories/GHSA-27h2-hvpr-p74q\u003c/a\u003e .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.3 - 2022-05-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix tsc build error for express-unless (\u003ca href=\"https://github.com/auth0/express-jwt/commit/e1fe1d264bc5363e008d23fea9d8c5d2ac0d8198\"\u003ee1fe1d264bc5363e008d23fea9d8c5d2ac0d8198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove esModuleInterop and fix assert import in tests (\u003ca href=\"https://github.com/auth0/express-jwt/commit/9ccf0cfd6aaa4cc61fce2f8ccdb961c4b0358201\"\u003e9ccf0cfd6aaa4cc61fce2f8ccdb961c4b0358201\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.2 - 2022-05-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix instaceof comparison for UnauthorizedError. closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/292\"\u003e#292\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/6c87fe401ecba868feda1ffa530082c7c539321a\"\u003e6c87fe401ecba868feda1ffa530082c7c539321a\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/292\"\u003e#292\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate changelog (\u003ca href=\"https://github.com/auth0/express-jwt/commit/b1344fa7f6f9dd3d27115a9107b3ef4323733895\"\u003eb1344fa7f6f9dd3d27115a9107b3ef4323733895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.1 - 2022-05-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix readme and package-lock (\u003ca href=\"https://github.com/auth0/express-jwt/commit/7a02ca76c5d7842cfa8b256dcc89dcef1ffbcdc1\"\u003e7a02ca76c5d7842cfa8b256dcc89dcef1ffbcdc1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): required runtime types (\u003ca href=\"https://github.com/auth0/express-jwt/commit/f3f5af5c214241b4f92b91c49db8586ec20e4526\"\u003ef3f5af5c214241b4f92b91c49db8586ec20e4526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: fix tiny typo (\u003ca href=\"https://github.com/auth0/express-jwt/commit/07e771857489b6344a8dc457069d040a76e84230\"\u003e07e771857489b6344a8dc457069d040a76e84230\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.0 - 2022-05-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edeprecate ExpressJwtRequest in favor of Request with optional auth, closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/284\"\u003e#284\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/de169def56f98f4237741aa6755d0c5e248bd561\"\u003ede169def56f98f4237741aa6755d0c5e248bd561\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/284\"\u003e#284\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.6.2 - 2022-05-02\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/auth0/express-jwt/commit/0dfe63b9a702b0755ec60d171152747942210be6\"\u003e\u003ccode\u003e0dfe63b\u003c/code\u003e\u003c/a\u003e 8.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/105ef5ec66fa32aa5861a09d3290545253adcbbb\"\u003e\u003ccode\u003e105ef5e\u003c/code\u003e\u003c/a\u003e add readme to package.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/c028e7098ea3dbdd4684f6e4960564e38fccdb96\"\u003e\u003ccode\u003ec028e70\u003c/code\u003e\u003c/a\u003e 8.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/75203815ab759f65aa114f4eb01faa58bc0e1e0c\"\u003e\u003ccode\u003e7520381\u003c/code\u003e\u003c/a\u003e fix: signature of middleware returned\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/ecd42788a7a24641ec78c8b21767c5f8aca5600a\"\u003e\u003ccode\u003eecd4278\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/f42a0e99422fe85fadd0a209b8497b64995e94cf\"\u003e\u003ccode\u003ef42a0e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/339\"\u003e#339\u003c/a\u003e from auth0/integrate-semgrep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/dacb316f8d485a9c335434f2812561ca9c282ecb\"\u003e\u003ccode\u003edacb316\u003c/code\u003e\u003c/a\u003e Create semgrep.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/00763facd650da5aa378ed876f4a1e863957642b\"\u003e\u003ccode\u003e00763fa\u003c/code\u003e\u003c/a\u003e Modify tests to actually exercise wrong signature case by removing base64 pad...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/d15b92c3424ecb1713df106f615c2a770ddbc0b8\"\u003e\u003ccode\u003ed15b92c\u003c/code\u003e\u003c/a\u003e 8.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/d1e88c73ed81b67d8f43eb748f8f33aa5c5b4aaf\"\u003e\u003ccode\u003ed1e88c7\u003c/code\u003e\u003c/a\u003e Merge branch 'glensc-patch-1'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/auth0/express-jwt/compare/v0.1.3...v8.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-rate-limit` from 7.5.1 to 8.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/releases\"\u003eexpress-rate-limit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.6.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.5.2\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.5.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.5.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.4.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.4.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.3.2\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.3.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.3.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.2.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.2.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.1.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.0.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\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/express-rate-limit/express-rate-limit/commit/fffb3c4d6e614e79fcb5a6617c06cc57fd587ef0\"\u003e\u003ccode\u003efffb3c4\u003c/code\u003e\u003c/a\u003e 8.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/f366b2d3602abace7e053cfb5a7e80d1f664f094\"\u003e\u003ccode\u003ef366b2d\u003c/code\u003e\u003c/a\u003e docs: debugging guide, time constants, \u0026amp; v8.6.0 changelog (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/652\"\u003e#652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/593ddd2f4fdf9111034ff81aef404d89cb07ad09\"\u003e\u003ccode\u003e593ddd2\u003c/code\u003e\u003c/a\u003e fix: make debug output easier to read (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/ef8c1295ff7f500717c9c0ceb099bbd873f8e9c2\"\u003e\u003ccode\u003eef8c129\u003c/code\u003e\u003c/a\u003e fix: Pin safe version of \u003ccode\u003e@​asyncapi/specs\u003c/code\u003e dev dep (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/659\"\u003e#659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/7b05e0dbd8b838075498af4fee7eccff4bd6c8a5\"\u003e\u003ccode\u003e7b05e0d\u003c/code\u003e\u003c/a\u003e feat: add time constants to support more readable values for windowMs (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/863e730c2f61e97e45315a7db8be42fc088d5234\"\u003e\u003ccode\u003e863e730\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the development-dependencies group with 3 updates (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/657\"\u003e#657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/e0e711e4c05b98d136203147cb811129fba79f81\"\u003e\u003ccode\u003ee0e711e\u003c/code\u003e\u003c/a\u003e fix: correct wording in usage documentation for express-rate-limit (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/fcd3aa7d5eef9d78a3609142491e9dbb4ba7d338\"\u003e\u003ccode\u003efcd3aa7\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the development-dependencies group with 3 updates (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/651\"\u003e#651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/99d4298bda0d9cd11ba4a1d518cabc22ec74d241\"\u003e\u003ccode\u003e99d4298\u003c/code\u003e\u003c/a\u003e feat: use \u003ccode\u003edebug\u003c/code\u003e for debug logging (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/641\"\u003e#641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/23e4ddef557f300a3a6d759ab7af7de44f21ab4f\"\u003e\u003ccode\u003e23e4dde\u003c/code\u003e\u003c/a\u003e feat: Run validations once each (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/compare/v7.5.1...v8.6.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 express-rate-limit since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-robots-txt` from 0.5.0 to 1.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modosc/express-robots-txt/blob/main/HISTORY.md\"\u003eexpress-robots-txt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.0.0] - {2021-08-20}\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite as es6, add separate commonjs + esm exports\u003c/li\u003e\n\u003cli\u003eUpdate deps\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/modosc/express-robots-txt/commit/2791589d8c96fc4d2190cc217d262d70cc569a93\"\u003e\u003ccode\u003e2791589\u003c/code\u003e\u003c/a\u003e es6 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/55\"\u003e#55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/0eb20919053c95e94b5d439a9fd48a98147d35bd\"\u003e\u003ccode\u003e0eb2091\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/940a03c2ebc9b8b8798df855ac92535e4240b060\"\u003e\u003ccode\u003e940a03c\u003c/code\u003e\u003c/a\u003e Bump supertest from 6.1.3 to 6.1.5 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/52\"\u003e#52\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/6c933f1f9936c1470b0ad405310b5979294ccdff\"\u003e\u003ccode\u003e6c933f1\u003c/code\u003e\u003c/a\u003e Bump jest from 27.0.4 to 27.0.6 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/50\"\u003e#50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/308c9057a4baf7365d515cae1920f57653229711\"\u003e\u003ccode\u003e308c905\u003c/code\u003e\u003c/a\u003e Bump path-parse from 1.0.6 to 1.0.7 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/0bdaaa00b7781540b145fe18abdca11c7a924aee\"\u003e\u003ccode\u003e0bdaaa0\u003c/code\u003e\u003c/a\u003e Bump jest from 26.6.3 to 27.0.4 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/48\"\u003e#48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/974a926e5dfbfcca2d99742032e4750ca478c22d\"\u003e\u003ccode\u003e974a926\u003c/code\u003e\u003c/a\u003e Bump ws from 7.4.3 to 7.4.6 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/46\"\u003e#46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/c12444cfcf67cde0d249495d11bbc9b4a7e3f686\"\u003e\u003ccode\u003ec12444c\u003c/code\u003e\u003c/a\u003e Bump hosted-git-info from 2.8.8 to 2.8.9 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/43\"\u003e#43\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/72f7ca8ab5f45592e9d9a49df94e73e03814c793\"\u003e\u003ccode\u003e72f7ca8\u003c/code\u003e\u003c/a\u003e Bump lodash from 4.17.20 to 4.17.21 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/44\"\u003e#44\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/6c35250df606de1bd355cd93850514cea82bb037\"\u003e\u003ccode\u003e6c35250\u003c/code\u003e\u003c/a\u003e Bump chai from 4.3.3 to 4.3.4 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/42\"\u003e#42\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modosc/express-robots-txt/compare/v0.5.0...v1.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `file-type` from 16.5.4 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/file-type/releases\"\u003efile-type's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev22.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Work around esbuild resolving Node-only imports  ce4262f\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/compare/v22.0.0...v22.0.1\"\u003ehttps://github.com/sindresorhus/file-type/compare/v22.0.0...v22.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRequires Node.js 22\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped Node.js \u003ccode\u003estream.Readable\u003c/code\u003e support from \u003ccode\u003efileTypeFromStream()\u003c/code\u003e and \u003ccode\u003efileTypeStream()\u003c/code\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThese now only accept a web \u003ccode\u003eReadableStream\u003c/code\u003e. Migrate with \u003ca href=\"https://nodejs.org/api/stream.html#streamreadabletowebstreamreadable-options\"\u003e\u003ccode\u003eReadable.toWeb()\u003c/code\u003e\u003c/a\u003e:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003e// Before\r\nimport fs from 'node:fs';\r\nfileTypeFromStream(fs.createReadStream('file.mp4'));\r\n\u003cp\u003e// After\u003cbr /\u003e\nimport fs from 'node:fs';\u003cbr /\u003e\nimport {Readable} from 'node:stream';\u003cbr /\u003e\nfileTypeFromStream(Readable.toWeb(fs.createReadStream('file.mp4')));\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSub-exports (e.g. \u003ccode\u003efile-type/core\u003c/code\u003e) have been removed. Import everything from \u003ccode\u003efile-type\u003c/code\u003e directly.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eReadableStreamWithFileType\u003c/code\u003e type has been removed. Use \u003ccode\u003eAnyWebReadableByteStreamWithFileType\u003c/code\u003e instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSeveral MIME types have been corrected or normalized:\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eOld MIME\u003c/th\u003e\n\u003cth\u003eNew MIME\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003elz\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-lzip\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/lzip\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003elnk\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x.ms.shortcut\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ms-shortcut\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eApple Alias\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x.apple.alias\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ft-apple.alias\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efbx\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x.autodesk.fbx\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ft-fbx\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDraco\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/vnd.google.draco\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ft-draco\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003eMIME subtypes prefixed with \u003ccode\u003ex-ft-\u003c/code\u003e are custom types defined by this package (not IANA-registered).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded detection for Apple iWork files: \u003ccode\u003e.key\u003c/code\u003e (Keynote), \u003ccode\u003e.pages\u003c/code\u003e (Pages), \u003ccode\u003e.numbers\u003c/code\u003e (Numbers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed LibreOffice OOXML files being incorrectly detected as ZIP when reading from streams\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/compare/v21.3.4...v22.0.0\"\u003ehttps://github.com/sindresorhus/file-type/compare/v21.3.4...v22.0.0\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/3c4b7e049171753c2f733c09afaf3f7ec9e09b13\"\u003e\u003ccode\u003e3c4b7e0\u003c/code\u003e\u003c/a\u003e 22.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/ce4262f69e2ed1d048162914a845fcb89cd80b01\"\u003e\u003ccode\u003ece4262f\u003c/code\u003e\u003c/a\u003e Fix: Work around esbuild resolving Node-only imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/2c54d066efdf7511e42fa9f5e4cd160b67fb51e9\"\u003e\u003ccode\u003e2c54d06\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/0ba6e0b2b76382f9b61e7b9e8610bbf7ca0e5273\"\u003e\u003ccode\u003e0ba6e0b\u003c/code\u003e\u003c/a\u003e Tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/0e679c74a9cab31c7b2aa65f9ba8e241fbc205f1\"\u003e\u003ccode\u003e0e679c7\u003c/code\u003e\u003c/a\u003e Remove sub-exports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/7079af7357c8d0a3651d6aa2015ba3cbe0121b48\"\u003e\u003ccode\u003e7079af7\u003c/code\u003e\u003c/a\u003e Tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/ec77458ce49d89bdf8de808569c2c87b43e8ca73\"\u003e\u003ccode\u003eec77458\u003c/code\u003e\u003c/a\u003e Add support for iWork files (.key, .pages, .numbers)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/d4a975c316429d8ec0bccc6e92483e625be0f6b1\"\u003e\u003ccode\u003ed4a975c\u003c/code\u003e\u003c/a\u003e Fix LibreOffice OOXML files detected as ZIP in streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/5de64e26f81ad14b1f07cb5c5108de6e303f3b60\"\u003e\u003ccode\u003e5de64e2\u003c/code\u003e\u003c/a\u003e Normalize MIME types we invented with \u003ccode\u003ex-ft-\u003c/code\u003e prefix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/7a60fa9dc0b7dad71ad6d3146a28ab92eb079983\"\u003e\u003ccode\u003e7a60fa9\u003c/code\u003e\u003c/a\u003e Require Node.js 22\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sindresorhus/file-type/compare/v16.5.4...v22.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fs-extra` from 9.1.0 to 11.3.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jprichardson/node-fs-extra/blob/master/CHANGELOG.md\"\u003efs-extra's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e11.3.6 / 2026-06-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of symlinked destination ancestors in copy/move methods (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/issues/1071\"\u003e#1071\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1073\"\u003e#1073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs typo fixed (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1074\"\u003e#1074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3.5 / 2026-05-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eensureLink*\u003c/code\u003e/\u003ccode\u003eensureSymlink*\u003c/code\u003e identical file detection on Windows (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1068\"\u003e#1068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix error handling in timestamp preservation code (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1065\"\u003e#1065\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1069\"\u003e#1069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix potential file descriptor leak on error in synchronous timestamp preservation code (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1066\"\u003e#1066\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3.4 / 2026-03-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where calling \u003ccode\u003eensureSymlink\u003c/code\u003e/\u003ccode\u003eensureSymlinkSync\u003c/code\u003e with a relative \u003ccode\u003esrcPath\u003c/code\u003e would fail if the symlink already existed (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/issues/1038\"\u003e#1038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node...\n\n_Description has been truncated_","html_url":"https://github.com/wfs-joe/juice-shop/pull/65","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wfs-joe%2Fjuice-shop/issues/65","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/65/packages"},{"uuid":"4885365632","node_id":"PR_kwDOA0_dEc7xqSCm","number":1156,"state":"open","title":"Bump sinon from 9.2.4 to 22.0.0","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-07-14T17:09:23.000Z","updated_at":"2026-07-17T00:22:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"sinon","old_version":"9.2.4","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"}],"path":null,"ecosystem":"npm"},"body":"Bumps [sinon](https://github.com/sinonjs/sinon) from 9.2.4 to 22.0.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/CHANGES.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v9.2.4...v22.0.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/~fatso83\"\u003efatso83\u003c/a\u003e, a new releaser for sinon since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/dropbox/dropbox-sdk-js/pull/1156","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dropbox%2Fdropbox-sdk-js/issues/1156","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1156/packages"},{"uuid":"4797630224","node_id":"PR_kwDOARR1Z87tSU1o","number":2646,"state":"open","title":"chore(deps-dev): bump the dev-sinon group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["pkg:web-api","dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-07-02T19:33:07.000Z","updated_at":"2026-07-02T19:33:31.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"dev-sinon","update_count":2,"packages":[{"name":"@types/sinon","old_version":"21.0.1","new_version":"22.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-sinon group with 2 updates in the /packages/web-api directory: [@types/sinon](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon) and [sinon](https://github.com/sinonjs/sinon).\n\nUpdates `@types/sinon` from 21.0.1 to 22.0.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/sinon\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/CHANGES.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.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/slackapi/node-slack-sdk/pull/2646","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/slackapi%2Fnode-slack-sdk/issues/2646","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2646/packages"},{"uuid":"4612393802","node_id":"PR_kwDOSRFYos7j4Fx2","number":37,"state":"closed","title":"deps(deps): bump the major group with 56 updates","user":"dependabot[bot]","labels":["invalid","dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-06-08T11:16:00.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T11:15:43.000Z","updated_at":"2026-06-08T11:16:09.000Z","time_to_close":17,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"major","update_count":56,"packages":[{"name":"body-parser","old_version":"1.20.5","new_version":"2.2.2","repository_url":"https://github.com/expressjs/body-parser"},{"name":"check-dependencies","old_version":"1.1.1","new_version":"2.0.0","repository_url":"https://github.com/mgol/check-dependencies"},{"name":"config","old_version":"3.3.12","new_version":"4.4.1","repository_url":"https://github.com/node-config/node-config"},{"name":"express","old_version":"4.22.2","new_version":"5.2.1","repository_url":"https://github.com/expressjs/express"},{"name":"express-jwt","old_version":"0.1.3","new_version":"8.5.1","repository_url":"https://github.com/auth0/express-jwt"},{"name":"express-rate-limit","old_version":"7.5.1","new_version":"8.5.2","repository_url":"https://github.com/express-rate-limit/express-rate-limit"},{"name":"express-robots-txt","old_version":"0.5.0","new_version":"1.0.0","repository_url":"https://github.com/modosc/express-robots-txt"},{"name":"file-type","old_version":"16.5.4","new_version":"22.0.1","repository_url":"https://github.com/sindresorhus/file-type"},{"name":"fs-extra","old_version":"9.1.0","new_version":"11.3.5","repository_url":"https://github.com/jprichardson/node-fs-extra"},{"name":"fuzzball","old_version":"1.4.0","new_version":"2.2.6","repository_url":"https://github.com/nol13/fuzzball.js"},{"name":"glob","old_version":"10.5.0","new_version":"13.0.6","repository_url":"https://github.com/isaacs/node-glob"},{"name":"grunt-contrib-compress","old_version":"1.6.0","new_version":"2.0.0","repository_url":"https://github.com/gruntjs/grunt-contrib-compress"},{"name":"helmet","old_version":"4.6.0","new_version":"8.2.0","repository_url":"https://github.com/helmetjs/helmet"},{"name":"html-entities","old_version":"1.4.0","new_version":"2.6.0","repository_url":"https://github.com/mdevils/html-entities"},{"name":"js-yaml","old_version":"3.14.2","new_version":"4.2.0","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"jsonwebtoken","old_version":"0.4.0","new_version":"9.0.3","repository_url":"https://github.com/auth0/node-jsonwebtoken"},{"name":"multer","old_version":"1.4.5-lts.2","new_version":"2.1.1","repository_url":"https://github.com/expressjs/multer"},{"name":"otplib","old_version":"12.0.1","new_version":"13.4.1","repository_url":"https://github.com/yeojz/otplib"},{"name":"prom-client","old_version":"14.2.0","new_version":"15.1.3","repository_url":"https://github.com/siimon/prom-client"},{"name":"sanitize-html","old_version":"1.4.2","new_version":"2.17.4","repository_url":"https://github.com/apostrophecms/apostrophe"},{"name":"socket.io","old_version":"3.1.2","new_version":"4.8.3","repository_url":"https://github.com/socketio/socket.io"},{"name":"sqlite3","old_version":"5.1.7","new_version":"6.0.1","repository_url":"https://github.com/TryGhost/node-sqlite3"},{"name":"ts-node-dev","old_version":"1.1.8","new_version":"2.0.0","repository_url":"https://github.com/whitecolor/ts-node-dev"},{"name":"@types/chai","old_version":"4.3.20","new_version":"5.2.3","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/config","old_version":"3.3.5","new_version":"4.4.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/diff","old_version":"7.0.2","new_version":"8.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/express","old_version":"4.17.25","new_version":"5.0.6","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/express-jwt","old_version":"6.0.4","new_version":"7.4.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/fs-extra","old_version":"9.0.13","new_version":"11.0.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/glob","old_version":"7.2.0","new_version":"9.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/jest","old_version":"26.0.24","new_version":"30.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/js-yaml","old_version":"3.12.10","new_version":"4.0.9","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/jsonwebtoken","old_version":"8.5.9","new_version":"9.0.10","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/mocha","old_version":"8.2.3","new_version":"10.0.10","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/multer","old_version":"1.4.13","new_version":"2.1.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/node","old_version":"20.19.42","new_version":"25.9.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sanitize-html","old_version":"1.27.2","new_version":"2.16.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sequelize","old_version":"4.28.20","new_version":"6.12.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sinon","old_version":"10.0.20","new_version":"21.0.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sinon-chai","old_version":"3.2.12","new_version":"4.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/socket.io","old_version":"2.1.13","new_version":"3.0.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/socket.io-client","old_version":"1.4.36","new_version":"3.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"6.18.1","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"6.18.1","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"chai","old_version":"4.5.0","new_version":"6.2.2","repository_url":"https://github.com/chaijs/chai"},{"name":"concurrently","old_version":"5.3.0","new_version":"10.0.3","repository_url":"https://github.com/open-cli-tools/concurrently"},{"name":"cypress","old_version":"13.17.0","new_version":"15.16.0","repository_url":"https://github.com/cypress-io/cypress"},{"name":"eslint","old_version":"8.57.1","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-promise","old_version":"6.6.0","new_version":"7.3.0","repository_url":"https://github.com/eslint-community/eslint-plugin-promise"},{"name":"jest","old_version":"29.7.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"mocha","old_version":"8.4.0","new_version":"11.7.6","repository_url":"https://github.com/mochajs/mocha"},{"name":"nyc","old_version":"15.1.0","new_version":"18.0.0","repository_url":"https://github.com/istanbuljs/nyc"},{"name":"sinon","old_version":"11.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"sinon-chai","old_version":"3.7.0","new_version":"4.0.1","repository_url":"https://github.com/chaijs/sinon-chai"},{"name":"socket.io-client","old_version":"3.1.3","new_version":"4.8.3","repository_url":"https://github.com/socketio/socket.io"},{"name":"typescript","old_version":"5.3.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the major group with 56 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [body-parser](https://github.com/expressjs/body-parser) | `1.20.5` | `2.2.2` |\n| [check-dependencies](https://github.com/mgol/check-dependencies) | `1.1.1` | `2.0.0` |\n| [config](https://github.com/node-config/node-config) | `3.3.12` | `4.4.1` |\n| [express](https://github.com/expressjs/express) | `4.22.2` | `5.2.1` |\n| [express-jwt](https://github.com/auth0/express-jwt) | `0.1.3` | `8.5.1` |\n| [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit) | `7.5.1` | `8.5.2` |\n| [express-robots-txt](https://github.com/modosc/express-robots-txt) | `0.5.0` | `1.0.0` |\n| [file-type](https://github.com/sindresorhus/file-type) | `16.5.4` | `22.0.1` |\n| [fs-extra](https://github.com/jprichardson/node-fs-extra) | `9.1.0` | `11.3.5` |\n| [fuzzball](https://github.com/nol13/fuzzball.js) | `1.4.0` | `2.2.6` |\n| [glob](https://github.com/isaacs/node-glob) | `10.5.0` | `13.0.6` |\n| [grunt-contrib-compress](https://github.com/gruntjs/grunt-contrib-compress) | `1.6.0` | `2.0.0` |\n| [helmet](https://github.com/helmetjs/helmet) | `4.6.0` | `8.2.0` |\n| [html-entities](https://github.com/mdevils/html-entities) | `1.4.0` | `2.6.0` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `3.14.2` | `4.2.0` |\n| [jsonwebtoken](https://github.com/auth0/node-jsonwebtoken) | `0.4.0` | `9.0.3` |\n| [multer](https://github.com/expressjs/multer) | `1.4.5-lts.2` | `2.1.1` |\n| [otplib](https://github.com/yeojz/otplib/tree/HEAD/packages/otplib) | `12.0.1` | `13.4.1` |\n| [prom-client](https://github.com/siimon/prom-client) | `14.2.0` | `15.1.3` |\n| [sanitize-html](https://github.com/apostrophecms/apostrophe/tree/HEAD/packages/sanitize-html) | `1.4.2` | `2.17.4` |\n| [socket.io](https://github.com/socketio/socket.io) | `3.1.2` | `4.8.3` |\n| [sqlite3](https://github.com/TryGhost/node-sqlite3) | `5.1.7` | `6.0.1` |\n| [ts-node-dev](https://github.com/whitecolor/ts-node-dev) | `1.1.8` | `2.0.0` |\n| [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai) | `4.3.20` | `5.2.3` |\n| [@types/config](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/config) | `3.3.5` | `4.4.0` |\n| [@types/diff](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/diff) | `7.0.2` | `8.0.0` |\n| [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express) | `4.17.25` | `5.0.6` |\n| [@types/express-jwt](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express-jwt) | `6.0.4` | `7.4.4` |\n| [@types/fs-extra](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/fs-extra) | `9.0.13` | `11.0.4` |\n| [@types/glob](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/glob) | `7.2.0` | `9.0.0` |\n| [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) | `26.0.24` | `30.0.0` |\n| [@types/js-yaml](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/js-yaml) | `3.12.10` | `4.0.9` |\n| [@types/jsonwebtoken](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsonwebtoken) | `8.5.9` | `9.0.10` |\n| [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) | `8.2.3` | `10.0.10` |\n| [@types/multer](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/multer) | `1.4.13` | `2.1.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `20.19.42` | `25.9.2` |\n| [@types/sanitize-html](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sanitize-html) | `1.27.2` | `2.16.1` |\n| [@types/sequelize](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sequelize) | `4.28.20` | `6.12.0` |\n| [@types/sinon](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon) | `10.0.20` | `21.0.1` |\n| [@types/sinon-chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon-chai) | `3.2.12` | `4.0.0` |\n| [@types/socket.io](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/socket.io) | `2.1.13` | `3.0.2` |\n| [@types/socket.io-client](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/socket.io-client) | `1.4.36` | `3.0.0` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `6.18.1` | `8.60.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `6.18.1` | `8.60.1` |\n| [chai](https://github.com/chaijs/chai) | `4.5.0` | `6.2.2` |\n| [concurrently](https://github.com/open-cli-tools/concurrently) | `5.3.0` | `10.0.3` |\n| [cypress](https://github.com/cypress-io/cypress) | `13.17.0` | `15.16.0` |\n| [eslint](https://github.com/eslint/eslint) | `8.57.1` | `10.4.1` |\n| [eslint-plugin-promise](https://github.com/eslint-community/eslint-plugin-promise) | `6.6.0` | `7.3.0` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.4.2` |\n| [mocha](https://github.com/mochajs/mocha) | `8.4.0` | `11.7.6` |\n| [nyc](https://github.com/istanbuljs/nyc) | `15.1.0` | `18.0.0` |\n| [sinon](https://github.com/sinonjs/sinon) | `11.1.2` | `22.0.0` |\n| [sinon-chai](https://github.com/chaijs/sinon-chai) | `3.7.0` | `4.0.1` |\n| [socket.io-client](https://github.com/socketio/socket.io) | `3.1.3` | `4.8.3` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.3.3` | `6.0.3` |\n\nUpdates `body-parser` from 1.20.5 to 2.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/body-parser/releases\"\u003ebody-parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update README links by \u003ca href=\"https://github.com/efekrskl\"\u003e\u003ccode\u003e@​efekrskl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/673\"\u003eexpressjs/body-parser#673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: release notes for the v1.20.4 release by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/674\"\u003eexpressjs/body-parser#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update URL-encoded parser description to include ISO-8859-1 encoding support by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/679\"\u003eexpressjs/body-parser#679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: use standard jsdoc tags everywhere by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/677\"\u003eexpressjs/body-parser#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: qs@^6.14.1 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/689\"\u003eexpressjs/body-parser#689\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(json): simplify strict mode error string construction by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/693\"\u003eexpressjs/body-parser#693\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: 2.2.2 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/691\"\u003eexpressjs/body-parser#691\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/efekrskl\"\u003e\u003ccode\u003e@​efekrskl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/673\"\u003eexpressjs/body-parser#673\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/body-parser/compare/v2.2.1...v2.2.2\"\u003ehttps://github.com/expressjs/body-parser/compare/v2.2.1...v2.2.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.1\u003c/h2\u003e\n\u003ch2\u003eImportant: Security\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2025-13466\"\u003eCVE-2025-13466\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/body-parser/security/advisories/GHSA-wqch-xfxh-vrr4\"\u003eGHSA-wqch-xfxh-vrr4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: add dependabot by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/593\"\u003eexpressjs/body-parser#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: use full SHAs for github action versions by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/594\"\u003eexpressjs/body-parser#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: type-is@^2.0.1 by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/599\"\u003eexpressjs/body-parser#599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 4.3.0 to 4.4.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/expressjs/body-parser/pull/609\"\u003eexpressjs/body-parser#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.13 to 3.28.15 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/610\"\u003eexpressjs/body-parser#610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump eslint-plugin-promise from 6.1.1 to 6.6.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/expressjs/body-parser/pull/611\"\u003eexpressjs/body-parser#611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump eslint-plugin-import from 2.27.5 to 2.31.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/expressjs/body-parser/pull/613\"\u003eexpressjs/body-parser#613\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump eslint-plugin-markdown from 3.0.0 to 3.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/expressjs/body-parser/pull/612\"\u003eexpressjs/body-parser#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add codeql github workflows scanning by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/614\"\u003eexpressjs/body-parser#614\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update CodeQL config to ignore the test directory by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/615\"\u003eexpressjs/body-parser#615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 4.2.1 to 4.3.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/expressjs/body-parser/pull/620\"\u003eexpressjs/body-parser#620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.15 to 3.28.16 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/expressjs/body-parser/pull/619\"\u003eexpressjs/body-parser#619\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): unpin devDependencies by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/616\"\u003eexpressjs/body-parser#616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add node.js 24 to test matrix by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/621\"\u003eexpressjs/body-parser#621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.16 to 3.28.18 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/expressjs/body-parser/pull/623\"\u003eexpressjs/body-parser#623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.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/expressjs/body-parser/pull/624\"\u003eexpressjs/body-parser#624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: add funding to package.json by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/617\"\u003eexpressjs/body-parser#617\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.18 to 3.29.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/expressjs/body-parser/pull/625\"\u003eexpressjs/body-parser#625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.2 to 3.29.5 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/expressjs/body-parser/pull/630\"\u003eexpressjs/body-parser#630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: move common request validation to read function by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/600\"\u003eexpressjs/body-parser#600\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump iconv-lite by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/631\"\u003eexpressjs/body-parser#631\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: pull beta changelog forward into 2.0.0 by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/629\"\u003eexpressjs/body-parser#629\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: optimize raw and text parsers with shared passthrough function by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/634\"\u003eexpressjs/body-parser#634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 4.2.2 to 5.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/expressjs/body-parser/pull/640\"\u003eexpressjs/body-parser#640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump ossf/scorecard-action from 2.4.2 to 2.4.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/639\"\u003eexpressjs/body-parser#639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 4.4.0 to 5.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/expressjs/body-parser/pull/636\"\u003eexpressjs/body-parser#636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 4.3.0 to 5.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/expressjs/body-parser/pull/637\"\u003eexpressjs/body-parser#637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.7 to 3.30.5 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/expressjs/body-parser/pull/638\"\u003eexpressjs/body-parser#638\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: raw-body@^3.0.1 by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/641\"\u003eexpressjs/body-parser#641\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/expressjs/body-parser/blob/master/HISTORY.md\"\u003ebody-parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.2.2 / 2026-01-07\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003edeps: qs@^6.14.1\u003c/li\u003e\n\u003cli\u003erefactor(json): simplify strict mode error string construction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.1 / 2025-11-24\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://github.com/expressjs/body-parser/security/advisories/GHSA-wqch-xfxh-vrr4\"\u003eGHSA-wqch-xfxh-vrr4\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003etype-is@^2.0.1\u003c/li\u003e\n\u003cli\u003eiconv-lite@^0.7.0\n\u003cul\u003e\n\u003cli\u003eHandle split surrogate pairs when encoding UTF-8\u003c/li\u003e\n\u003cli\u003eAvoid false positives in \u003ccode\u003eencodingExists\u003c/code\u003e by using prototype-less objects\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eraw-body@^3.0.1\u003c/li\u003e\n\u003cli\u003edebug@^4.4.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.0 / 2025-03-27\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: normalize common options for all parsers\u003c/li\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003eiconv-lite@^0.6.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.1.0 / 2025-02-10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003etype-is@^2.0.0\u003c/li\u003e\n\u003cli\u003edebug@^4.4.0\u003c/li\u003e\n\u003cli\u003eRemoved destroy\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003erefactor: prefix built-in node module imports\u003c/li\u003e\n\u003cli\u003euse the node require cache instead of custom caching\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.0.2 / 2024-10-31\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eremove \u003ccode\u003eunpipe\u003c/code\u003e package and use native \u003ccode\u003eunpipe()\u003c/code\u003e method\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.0.1 / 2024-09-10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRestore expected behavior \u003ccode\u003eextended\u003c/code\u003e to \u003ccode\u003efalse\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.0.0 / 2024-09-10\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js 18 is the minimum supported version\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/expressjs/body-parser/commit/3d248660b2e8b66732b232d7c758517fbf2420a6\"\u003e\u003ccode\u003e3d24866\u003c/code\u003e\u003c/a\u003e 2.2.2 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/8474a984c3ba36a1b4328ce019833b99caa0f08f\"\u003e\u003ccode\u003e8474a98\u003c/code\u003e\u003c/a\u003e refactor(json): simplify strict mode error string construction (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/03f17c2538552a57e6be537afca8c7587bd40aaa\"\u003e\u003ccode\u003e03f17c2\u003c/code\u003e\u003c/a\u003e deps: qs@^6.14.1 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/689\"\u003e#689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/ea1f25e503c1b2f7ba6f8562724ae0fcd247fb75\"\u003e\u003ccode\u003eea1f25e\u003c/code\u003e\u003c/a\u003e docs: use standard jsdoc tags everywhere (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/677\"\u003e#677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/d7deef8ec61307fa28c22bc443cf8ed2f267945a\"\u003e\u003ccode\u003ed7deef8\u003c/code\u003e\u003c/a\u003e docs: update URL-encoded parser description to include ISO-8859-1 encoding su...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/b6f52aabc65137c5227c8a462bddb761daeb96e7\"\u003e\u003ccode\u003eb6f52aa\u003c/code\u003e\u003c/a\u003e docs: release notes for the v1.20.4 release (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/674\"\u003e#674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/2965ca4af4883109cb2f651f4ce12da310902a0c\"\u003e\u003ccode\u003e2965ca4\u003c/code\u003e\u003c/a\u003e docs: update links (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/d96b63da8d7445de317736471633bac83ec76cbb\"\u003e\u003ccode\u003ed96b63d\u003c/code\u003e\u003c/a\u003e 2.2.1 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/659\"\u003e#659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/b204886a6744b0b6d297cd0e849d75de836f3b63\"\u003e\u003ccode\u003eb204886\u003c/code\u003e\u003c/a\u003e sec: security patch for CVE-2025-13466\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/e20e3512e085c1162e8ffe36ac65c705a8017251\"\u003e\u003ccode\u003ee20e351\u003c/code\u003e\u003c/a\u003e feat: remove \u003ccode\u003ehistory.md\u003c/code\u003e from being packaged on publish (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/660\"\u003e#660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/expressjs/body-parser/compare/1.20.5...v2.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `check-dependencies` from 1.1.1 to 2.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mgol/check-dependencies/releases\"\u003echeck-dependencies's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.0\u003c/h2\u003e\n\u003cp\u003eNotable non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport npm package aliases (\u003ca href=\"https://redirect.github.com/mgol/check-dependencies/issues/50\"\u003e#50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereduced a number of external dependencies\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enpm prune\u003c/code\u003e is no longer called as\u003ccode\u003enpm install\u003c/code\u003e already prunes\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edropped the callback interface - use promises instead\u003c/li\u003e\n\u003cli\u003edropped the \u003ccode\u003echeckCustomPackageNames\u003c/code\u003e option\u003c/li\u003e\n\u003cli\u003eCLI argument parsing is more strict now; camelCase parameter versions like \u003ccode\u003e--packageDir\u003c/code\u003e are no longer supported; use their kebab-case versions like \u003ccode\u003e--package-dir\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003edropped Bower support\u003c/li\u003e\n\u003cli\u003edropped support for Node.js \u003ccode\u003e\u0026lt;18.3\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/mgol/check-dependencies/commit/03c88471d9b99857bcc78171fc5dd89a4a402a16\"\u003e\u003ccode\u003e03c8847\u003c/code\u003e\u003c/a\u003e Tag 2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/65d9ef555c2e986b849e7abeac0474bfee663b0e\"\u003e\u003ccode\u003e65d9ef5\u003c/code\u003e\u003c/a\u003e Set Node.js requirement in package.json engines to \u0026gt;=18.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/4917ab0b9362530a95cc2bef028c2a6dcedf2ab7\"\u003e\u003ccode\u003e4917ab0\u003c/code\u003e\u003c/a\u003e Simplify the spawn logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/fc04cc87fe4284c083702e36a9a4055034d9fcc9\"\u003e\u003ccode\u003efc04cc8\u003c/code\u003e\u003c/a\u003e Drop support for the callback interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/28257dd04168aab66793fd0fe8ed0f46d52abec9\"\u003e\u003ccode\u003e28257dd\u003c/code\u003e\u003c/a\u003e Tweak ESLint settings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/dc16e8ac809502cf7509ef2de7429895b806535e\"\u003e\u003ccode\u003edc16e8a\u003c/code\u003e\u003c/a\u003e Drop the bluebird devDependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/412337ae3691296cbe7c2d69f0c51201894afc07\"\u003e\u003ccode\u003e412337a\u003c/code\u003e\u003c/a\u003e Drop fs-extra \u0026amp; graceful-fs devDependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/091279a22472c299cbdba0ab6e3e8a2dfbba11b5\"\u003e\u003ccode\u003e091279a\u003c/code\u003e\u003c/a\u003e Drop the findup-sync dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/10ac9c5b2ed92cdad11ce0f390551072e7509f18\"\u003e\u003ccode\u003e10ac9c5\u003c/code\u003e\u003c/a\u003e Drop lodash.camelcase \u0026amp; minimist dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/35dce52450b99241942c24d18a572c55fecc44d9\"\u003e\u003ccode\u003e35dce52\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mgol/check-dependencies/compare/1.1.1...2.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `config` from 3.3.12 to 4.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/node-config/node-config/releases\"\u003econfig's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.4.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes for some method signature declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.4.0...v4.4.1\"\u003ehttps://github.com/node-config/node-config/compare/v4.4.0...v4.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTypescript types added to project by \u003ca href=\"https://github.com/mdkitzman\"\u003e\u003ccode\u003e@​mdkitzman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewithModuleDefaults()\u003c/code\u003e function added to support separate module defaults for multiple versions\u003c/li\u003e\n\u003cli\u003eRework raw.js to function like the new defer mechanism.\u003c/li\u003e\n\u003cli\u003e./raw.js is also now deprecated, and will be removed in 5.0\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/mdkitzman\"\u003e\u003ccode\u003e@​mdkitzman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/877\"\u003enode-config/node-config#877\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.3.0...v4.4.0\"\u003ehttps://github.com/node-config/node-config/compare/v4.3.0...v4.4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enew callback mechanism for handling deferred and async configuration evaluation\u003c/li\u003e\n\u003cli\u003e./async.js and ./defer.js are now deprecated\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Async and Deferred mechanism\u003c/h3\u003e\n\u003cp\u003eInstead of using async.js and defer.js, your executable config files can return a synchronous or asynchronous function. Note that if you use async deferred functions through the new mechanism, \u003cstrong\u003eyou need to call Util.resolveAsyncConfig()\u003c/strong\u003e instead of the old version.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eUtil.resolveAsyncConfig()\u003c/code\u003e also fixes an issue where using defer in an array did not function properly \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/876\"\u003e#876\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe old implementations have been marked as deprecated and will issue warnings to console.error to indicate use of the old pathways. The old functions are incompatible with ESM loading conventions and will be removed at the beginning of the 5.0 cycle to facilitate conversion of the library to ESM.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.2.1...v4.3.0\"\u003ehttps://github.com/node-config/node-config/compare/v4.2.1...v4.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore config.util.getEnv() by \u003ca href=\"https://github.com/jdmarshall\"\u003e\u003ccode\u003e@​jdmarshall\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/874\"\u003enode-config/node-config#874\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.2.0...v4.2.1\"\u003ehttps://github.com/node-config/node-config/compare/v4.2.0...v4.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDelete deprecated functions in Config.util, and associated tests. by \u003ca href=\"https://github.com/jdmarshall\"\u003e\u003ccode\u003e@​jdmarshall\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/845\"\u003enode-config/node-config#845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDefault to yaml over js-yaml by \u003ca href=\"https://github.com/jdmarshall\"\u003e\u003ccode\u003e@​jdmarshall\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/859\"\u003enode-config/node-config#859\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAll deprecated functions in config.util have been removed. Please use lib/util for similar functionality\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/node-config/node-config/commit/878648c638abb25dcfa9673defff3068802fa383\"\u003e\u003ccode\u003e878648c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/892\"\u003e#892\u003c/a\u003e from jdmarshall/typefixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/506149bfce3b4101e2d323433d8da57a51cc7f33\"\u003e\u003ccode\u003e506149b\u003c/code\u003e\u003c/a\u003e Fix some type declarations, including those for \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/890\"\u003e#890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/228c4ad3c62769dbb0ea336d25c182c8fb547195\"\u003e\u003ccode\u003e228c4ad\u003c/code\u003e\u003c/a\u003e 4.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/407f80c51d8532bb00cb01fa12c7d662645af27d\"\u003e\u003ccode\u003e407f80c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/888\"\u003e#888\u003c/a\u003e from jdmarshall/getRegression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/d71db3c92f0d8d1c20ca6f6574f0c30d1e05c819\"\u003e\u003ccode\u003ed71db3c\u003c/code\u003e\u003c/a\u003e Update baseline and add 4.3 to the test matrix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/10b0c8e6d60e4524b5a7c1c8636ed7a1c279325a\"\u003e\u003ccode\u003e10b0c8e\u003c/code\u003e\u003c/a\u003e Fix perf regression in Config.get()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/2d3e179877fc0c51ca180f17f3cde0919b5b1bf9\"\u003e\u003ccode\u003e2d3e179\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/887\"\u003e#887\u003c/a\u003e from jdmarshall/benchmarks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/a35a7cd400feebbaf6a67d51e16a76e16af699e7\"\u003e\u003ccode\u003ea35a7cd\u003c/code\u003e\u003c/a\u003e Matrix builds and separate benchmarks from ci run.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/1156350d94230466fa325103169e14618038d5ca\"\u003e\u003ccode\u003e1156350\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/883\"\u003e#883\u003c/a\u003e from jdmarshall/readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/f9d2818455b20404814c668c6472c37dd1b4e227\"\u003e\u003ccode\u003ef9d2818\u003c/code\u003e\u003c/a\u003e Fix badges and Release Notes link.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/node-config/node-config/compare/v3.3.12...v4.4.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/~jdmarshall\"\u003ejdmarshall\u003c/a\u003e, a new releaser for config since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express` from 4.22.2 to 5.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/express/releases\"\u003eexpress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\u003cbr /\u003e\nThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003eRelease: 5.2.1 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6933\"\u003eexpressjs/express#6933\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/express/compare/v5.2.0...v5.2.1\"\u003ehttps://github.com/expressjs/express/compare/v5.2.0...v5.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.2.0\u003c/h2\u003e\n\u003ch2\u003eImportant: Security\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.11 to 3.28.13 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/expressjs/express/pull/6429\"\u003eexpressjs/express#6429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: simplify \u003ccode\u003eacceptsLanguages\u003c/code\u003e implementation using spread operator by \u003ca href=\"https://github.com/Ayoub-Mabrouk\"\u003e\u003ccode\u003e@​Ayoub-Mabrouk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6137\"\u003eexpressjs/express#6137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eincreased code coverage of utils.js file by \u003ca href=\"https://github.com/ashish3011\"\u003e\u003ccode\u003e@​ashish3011\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6386\"\u003eexpressjs/express#6386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove duplicate word by \u003ca href=\"https://github.com/dufucun\"\u003e\u003ccode\u003e@​dufucun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6456\"\u003eexpressjs/express#6456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.13 to 3.28.16 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/expressjs/express/pull/6498\"\u003eexpressjs/express#6498\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 4.3.0 to 4.4.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/expressjs/express/pull/6497\"\u003eexpressjs/express#6497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 4.2.1 to 4.3.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/expressjs/express/pull/6496\"\u003eexpressjs/express#6496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add node.js 24 to test matrix by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6504\"\u003eexpressjs/express#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update codeql config by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6488\"\u003eexpressjs/express#6488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: wider range for query test skip by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6512\"\u003eexpressjs/express#6512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typos in test by \u003ca href=\"https://github.com/noritaka1166\"\u003e\u003ccode\u003e@​noritaka1166\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6535\"\u003eexpressjs/express#6535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: disable credential persistence for checkout actions by \u003ca href=\"https://github.com/mertssmnoglu\"\u003e\u003ccode\u003e@​mertssmnoglu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6522\"\u003eexpressjs/express#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: allow manual triggering of workflow by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6515\"\u003eexpressjs/express#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: add coverage for app.listen() variants by \u003ca href=\"https://github.com/kgarg1\"\u003e\u003ccode\u003e@​kgarg1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6476\"\u003eexpressjs/express#6476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: move documentation and charters to the discussions and .github … by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6427\"\u003eexpressjs/express#6427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.16 to 3.28.18 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/expressjs/express/pull/6549\"\u003eexpressjs/express#6549\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.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/expressjs/express/pull/6548\"\u003eexpressjs/express#6548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: enforce explicit \u003ccode\u003eBuffer\u003c/code\u003e import and add lint rule by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6525\"\u003eexpressjs/express#6525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: use node protocol for querystring by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6520\"\u003eexpressjs/express#6520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typo by \u003ca href=\"https://github.com/mountdisk\"\u003e\u003ccode\u003e@​mountdisk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6609\"\u003eexpressjs/express#6609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.18 to 3.29.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/expressjs/express/pull/6618\"\u003eexpressjs/express#6618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deprecation warnings for redirect arguments undefined by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6405\"\u003eexpressjs/express#6405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run CI when the markdown changes by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6632\"\u003eexpressjs/express#6632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: fix CONTRIBUTING link by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6653\"\u003eexpressjs/express#6653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update contributing guidelines and code of conduct links by \u003ca href=\"https://github.com/ShubhamOulkar\"\u003e\u003ccode\u003e@​ShubhamOulkar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6601\"\u003eexpressjs/express#6601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump morgan from 1.10.0 to 1.10.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/expressjs/express/pull/6679\"\u003eexpressjs/express#6679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump cookie-session from 2.1.0 to 2.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/expressjs/express/pull/6678\"\u003eexpressjs/express#6678\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elint: add --fix flag to automatic fix linting issue by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6644\"\u003eexpressjs/express#6644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: ignore yarn.lock file and update example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6588\"\u003eexpressjs/express#6588\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elib: use req.socket over deprecated req.connection by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6705\"\u003eexpressjs/express#6705\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update express app example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6718\"\u003eexpressjs/express#6718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.2 to 3.29.5 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/expressjs/express/pull/6675\"\u003eexpressjs/express#6675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove history.md from being packaged on publish by \u003ca href=\"https://github.com/sheplu\"\u003e\u003ccode\u003e@​sheplu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6780\"\u003eexpressjs/express#6780\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/expressjs/express/blob/master/History.md\"\u003eexpress's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.2.1 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRevert security fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.2.0 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eA deprecation warning was added when using \u003ccode\u003eres.redirect\u003c/code\u003e with undefined arguments, Express now emits a warning to help detect calls that pass undefined as the status or URL and make them easier to fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.1.0 / 2025-03-31\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eUint8Array\u003c/code\u003e in \u003ccode\u003eres.send()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for ETag option in \u003ccode\u003eres.sendFile()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for multiple links with the same rel in \u003ccode\u003eres.links()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd funding field to package.json\u003c/li\u003e\n\u003cli\u003eperf: use loop for acceptParams\u003c/li\u003e\n\u003cli\u003erefactor: prefix built-in node module imports\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esetprototypeof\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esafe-buffer\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003eutils-merge\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003emethods\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003edepd\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003edebug@^4.4.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003erouter@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003econtent-type@^1.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003efinalhandler@^2.1.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eqs@^6.14.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eserver-static@2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003etype-is@2.0.1\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.1 / 2024-10-08\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecookie\u003c/code\u003e semver lock to address \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2024-47764\"\u003eCVE-2024-47764\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.0 / 2024-09-10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eremove:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epath-is-absolute\u003c/code\u003e dependency - use \u003ccode\u003epath.isAbsolute\u003c/code\u003e instead\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ebreaking:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eres.status()\u003c/code\u003e accepts only integers, and input must be greater than 99 and less than 1000\n\u003cul\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eRangeError: Invalid status code: ${code}. Status code must be greater than 99 and less than 1000.\u003c/code\u003e for inputs outside this range\u003c/li\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eTypeError: Invalid status code: ${code}. Status code must be an integer.\u003c/code\u003e for non integer inputs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003edeps: send@1.0.0\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/expressjs/express/commit/dbac741a49a5a64336b70c06e85c2e2706e36336\"\u003e\u003ccode\u003edbac741\u003c/code\u003e\u003c/a\u003e 5.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/697547cde621d8b0a47b4fff6e98b29337f8c980\"\u003e\u003ccode\u003e697547c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;sec: security patch for CVE-2024-51999\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/4007ad103ba29f6426b2ec9eccfb1ceb792682a8\"\u003e\u003ccode\u003e4007ad1\u003c/code\u003e\u003c/a\u003e Release: 5.2.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6920\"\u003e#6920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/2f64f68c37c64ae333e41ff38032d21860f22255\"\u003e\u003ccode\u003e2f64f68\u003c/code\u003e\u003c/a\u003e sec: security patch for CVE-2024-51999\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/ed0ba3f1dc905d6b62eabf23bd383abcae4901ba\"\u003e\u003ccode\u003eed0ba3f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6928\"\u003e#6928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/8eace4603cb2547608578a4fbb259dc984216f71\"\u003e\u003ccode\u003e8eace46\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 4.31.2 to 4.31.6 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6929\"\u003e#6929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/30bae810279b2ea162bed5b14ce6c35a110a87f5\"\u003e\u003ccode\u003e30bae81\u003c/code\u003e\u003c/a\u003e build(deps): bump coverallsapp/github-action from 2.3.6 to 2.3.7 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6930\"\u003e#6930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/758d4355d45322b4c8cd347ebcefbf3b154c7e7f\"\u003e\u003ccode\u003e758d435\u003c/code\u003e\u003c/a\u003e deps: body-parser@^2.2.1 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6922\"\u003e#6922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/77bcd5274a87047e5b3fe2f17f6c342db3909c53\"\u003e\u003ccode\u003e77bcd52\u003c/code\u003e\u003c/a\u003e docs: update emeritus triagers (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6890\"\u003e#6890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/f33caf1f89a028f0ea98ff5a156a68e65a2eabdd\"\u003e\u003ccode\u003ef33caf1\u003c/code\u003e\u003c/a\u003e Nominate to \u003ca href=\"https://github.com/efekrskl\"\u003e\u003ccode\u003e@​efekrskl\u003c/code\u003e\u003c/a\u003e for triage team (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6888\"\u003e#6888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/expressjs/express/compare/v4.22.2...v5.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-jwt` from 0.1.3 to 8.5.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/auth0/express-jwt/blob/master/CHANGELOG.md\"\u003eexpress-jwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file starting from version \u003cstrong\u003ev4.0.0\u003c/strong\u003e.\nThis project adheres to \u003ca href=\"http://semver.org/\"\u003eSemantic Versioning\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e8.3.0 - 2023-01-04\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003erequestProperty support for nested properties (\u003ca href=\"https://github.com/auth0/express-jwt/commit/bbd3606ce68da2602733d6e4ac32564570753ca1\"\u003ebbd3606ce68da2602733d6e4ac32564570753ca1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Typescript instructions in Readme.MD (\u003ca href=\"https://github.com/auth0/express-jwt/commit/3c1d5cf8a08a6afbcfc78640b8cdb26fac8002ca\"\u003e3c1d5cf8a08a6afbcfc78640b8cdb26fac8002ca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.1 - 2022-12-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd secret rotation example in readme. close \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/310\"\u003e#310\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/0000a44ed58aac97798007af19b0324f28acc436\"\u003e0000a44ed58aac97798007af19b0324f28acc436\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/310\"\u003e#310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003e@​types/jsonwebtoken\u003c/code\u003e and fix deps in package-lock (\u003ca href=\"https://github.com/auth0/express-jwt/commit/2322a9b67a5b5c716f953a53a0bb4bbc696d0a11\"\u003e2322a9b67a5b5c716f953a53a0bb4bbc696d0a11\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.0 - 2022-12-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd an optional handler for expired tokens. closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/6048\"\u003e#6048\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/ca6c90ccbb4b61b91f417a5dfa56f0b931b81528\"\u003eca6c90ccbb4b61b91f417a5dfa56f0b931b81528\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/6048\"\u003e#6048\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.1.0 - 2022-12-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdate type to match jwks-rsa (\u003ca href=\"https://github.com/auth0/express-jwt/commit/bcad8af9cad82b3777cc38d1c05864a35f82bc53\"\u003ebcad8af9cad82b3777cc38d1c05864a35f82bc53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: export middleware options type. closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/308\"\u003e#308\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/25a30f0d50c02cc75ab17b09f3592e76e09f9666\"\u003e25a30f0d50c02cc75ab17b09f3592e76e09f9666\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/308\"\u003e#308\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.0 - 2022-12-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade jsonwebtoken to v9. \u003ca href=\"https://github.com/advisories/GHSA-27h2-hvpr-p74q\"\u003ehttps://github.com/advisories/GHSA-27h2-hvpr-p74q\u003c/a\u003e .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.3 - 2022-05-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix tsc build error for express-unless (\u003ca href=\"https://github.com/auth0/express-jwt/commit/e1fe1d264bc5363e008d23fea9d8c5d2ac0d8198\"\u003ee1fe1d264bc5363e008d23fea9d8c5d2ac0d8198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove esModuleInterop and fix assert import in tests (\u003ca href=\"https://github.com/auth0/express-jwt/commit/9ccf0cfd6aaa4cc61fce2f8ccdb961c4b0358201\"\u003e9ccf0cfd6aaa4cc61fce2f8ccdb961c4b0358201\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.2 - 2022-05-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix instaceof comparison for UnauthorizedError. closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/292\"\u003e#292\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/6c87fe401ecba868feda1ffa530082c7c539321a\"\u003e6c87fe401ecba868feda1ffa530082c7c539321a\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/292\"\u003e#292\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate changelog (\u003ca href=\"https://github.com/auth0/express-jwt/commit/b1344fa7f6f9dd3d27115a9107b3ef4323733895\"\u003eb1344fa7f6f9dd3d27115a9107b3ef4323733895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.1 - 2022-05-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix readme and package-lock (\u003ca href=\"https://github.com/auth0/express-jwt/commit/7a02ca76c5d7842cfa8b256dcc89dcef1ffbcdc1\"\u003e7a02ca76c5d7842cfa8b256dcc89dcef1ffbcdc1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): required runtime types (\u003ca href=\"https://github.com/auth0/express-jwt/commit/f3f5af5c214241b4f92b91c49db8586ec20e4526\"\u003ef3f5af5c214241b4f92b91c49db8586ec20e4526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: fix tiny typo (\u003ca href=\"https://github.com/auth0/express-jwt/commit/07e771857489b6344a8dc457069d040a76e84230\"\u003e07e771857489b6344a8dc457069d040a76e84230\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.0 - 2022-05-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edeprecate ExpressJwtRequest in favor of Request with optional auth, closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/284\"\u003e#284\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/de169def56f98f4237741aa6755d0c5e248bd561\"\u003ede169def56f98f4237741aa6755d0c5e248bd561\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/284\"\u003e#284\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.6.2 - 2022-05-02\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/auth0/express-jwt/commit/0dfe63b9a702b0755ec60d171152747942210be6\"\u003e\u003ccode\u003e0dfe63b\u003c/code\u003e\u003c/a\u003e 8.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/105ef5ec66fa32aa5861a09d3290545253adcbbb\"\u003e\u003ccode\u003e105ef5e\u003c/code\u003e\u003c/a\u003e add readme to package.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/c028e7098ea3dbdd4684f6e4960564e38fccdb96\"\u003e\u003ccode\u003ec028e70\u003c/code\u003e\u003c/a\u003e 8.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/75203815ab759f65aa114f4eb01faa58bc0e1e0c\"\u003e\u003ccode\u003e7520381\u003c/code\u003e\u003c/a\u003e fix: signature of middleware returned\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/ecd42788a7a24641ec78c8b21767c5f8aca5600a\"\u003e\u003ccode\u003eecd4278\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/f42a0e99422fe85fadd0a209b8497b64995e94cf\"\u003e\u003ccode\u003ef42a0e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/339\"\u003e#339\u003c/a\u003e from auth0/integrate-semgrep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/dacb316f8d485a9c335434f2812561ca9c282ecb\"\u003e\u003ccode\u003edacb316\u003c/code\u003e\u003c/a\u003e Create semgrep.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/00763facd650da5aa378ed876f4a1e863957642b\"\u003e\u003ccode\u003e00763fa\u003c/code\u003e\u003c/a\u003e Modify tests to actually exercise wrong signature case by removing base64 pad...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/d15b92c3424ecb1713df106f615c2a770ddbc0b8\"\u003e\u003ccode\u003ed15b92c\u003c/code\u003e\u003c/a\u003e 8.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/d1e88c73ed81b67d8f43eb748f8f33aa5c5b4aaf\"\u003e\u003ccode\u003ed1e88c7\u003c/code\u003e\u003c/a\u003e Merge branch 'glensc-patch-1'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/auth0/express-jwt/compare/v0.1.3...v8.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-rate-limit` from 7.5.1 to 8.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/releases\"\u003eexpress-rate-limit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.5.2\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.5.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.5.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.4.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.4.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.3.2\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.3.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.3.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.2.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.2.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.1.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.0.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\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/express-rate-limit/express-rate-limit/commit/97746932253e6c734569140e71357b2633eb1912\"\u003e\u003ccode\u003e9774693\u003c/code\u003e\u003c/a\u003e 8.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/0e94cc0176ca0e4960bd6992f1d105766fb9532c\"\u003e\u003ccode\u003e0e94cc0\u003c/code\u003e\u003c/a\u003e v8.5.2 changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/9a583c566aa5aaeb8b94312e9e9dbf711f89e7b3\"\u003e\u003ccode\u003e9a583c5\u003c/code\u003e\u003c/a\u003e feat: simplify IPv6 key generation (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/4f4b3fb78f96ac841a26122be1d82123271d7654\"\u003e\u003ccode\u003e4f4b3fb\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump lint-staged from 16.4.0 to 17.0.4 (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/632\"\u003e#632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/3c1d6c57bddc0d7c9923611fd1ac1e17399a4865\"\u003e\u003ccode\u003e3c1d6c5\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the development-dependencies group with 7 updates (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/631\"\u003e#631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/18884b671441b14dd0e9328a5ebedf51278a16c1\"\u003e\u003ccode\u003e18884b6\u003c/code\u003e\u003c/a\u003e chore(deps): bump basic-ftp from 5.2.0 to 5.3.1 (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/630\"\u003e#630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/dacc9800e640b14c61cd8791ef59d75d0ac037a7\"\u003e\u003ccode\u003edacc980\u003c/code\u003e\u003c/a\u003e chore(deps): bump handlebars from 4.7.8 to 4.7.9 (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/629\"\u003e#629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/486d0c608a95f344863302bb213fb09ea9ddf5de\"\u003e\u003ccode\u003e486d0c6\u003c/code\u003e\u003c/a\u003e chore(deps): bump follow-redirects from 1.15.11 to 1.16.0 (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/627\"\u003e#627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/50cc3f6345f603ac2fe4eb646edd7338b9a31fbb\"\u003e\u003ccode\u003e50cc3f6\u003c/code\u003e\u003c/a\u003e 8.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/92c8e3efd87b9b9f89092b1f9c8c17ac134c1293\"\u003e\u003ccode\u003e92c8e3e\u003c/code\u003e\u003c/a\u003e chore: bump ip-address library to latest (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/626\"\u003e#626\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/compare/v7.5.1...v8.5.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 express-rate-limit since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-robots-txt` from 0.5.0 to 1.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modosc/express-robots-txt/blob/main/HISTORY.md\"\u003eexpress-robots-txt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.0.0] - {2021-08-20}\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite as es6, add separate commonjs + esm exports\u003c/li\u003e\n\u003cli\u003eUpdate deps\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/modosc/express-robots-txt/commit/2791589d8c96fc4d2190cc217d262d70cc569a93\"\u003e\u003ccode\u003e2791589\u003c/code\u003e\u003c/a\u003e es6 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/55\"\u003e#55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/0eb20919053c95e94b5d439a9fd48a98147d35bd\"\u003e\u003ccode\u003e0eb2091\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/940a03c2ebc9b8b8798df855ac92535e4240b060\"\u003e\u003ccode\u003e940a03c\u003c/code\u003e\u003c/a\u003e Bump supertest from 6.1.3 to 6.1.5 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/52\"\u003e#52\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/6c933f1f9936c1470b0ad405310b5979294ccdff\"\u003e\u003ccode\u003e6c933f1\u003c/code\u003e\u003c/a\u003e Bump jest from 27.0.4 to 27.0.6 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/50\"\u003e#50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/308c9057a4baf7365d515cae1920f57653229711\"\u003e\u003ccode\u003e308c905\u003c/code\u003e\u003c/a\u003e Bump path-parse from 1.0.6 to 1.0.7 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/0bdaaa00b7781540b145fe18abdca11c7a924aee\"\u003e\u003ccode\u003e0bdaaa0\u003c/code\u003e\u003c/a\u003e Bump jest from 26.6.3 to 27.0.4 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/48\"\u003e#48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/974a926e5dfbfcca2d99742032e4750ca478c22d\"\u003e\u003ccode\u003e974a926\u003c/code\u003e\u003c/a\u003e Bump ws from 7.4.3 to 7.4.6 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/46\"\u003e#46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/c12444cfcf67cde0d249495d11bbc9b4a7e3f686\"\u003e\u003ccode\u003ec12444c\u003c/code\u003e\u003c/a\u003e Bump hosted-git-info from 2.8.8 to 2.8.9 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/43\"\u003e#43\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/72f7ca8ab5f45592e9d9a49df94e73e03814c793\"\u003e\u003ccode\u003e72f7ca8\u003c/code\u003e\u003c/a\u003e Bump lodash from 4.17.20 to 4.17.21 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/44\"\u003e#44\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/6c35250df606de1bd355cd93850514cea82bb037\"\u003e\u003ccode\u003e6c35250\u003c/code\u003e\u003c/a\u003e Bump chai from 4.3.3 to 4.3.4 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/42\"\u003e#42\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modosc/express-robots-txt/compare/v0.5.0...v1.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `file-type` from 16.5.4 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/file-type/releases\"\u003efile-type's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev22.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Work around esbuild resolving Node-only imports  ce4262f\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/compare/v22.0.0...v22.0.1\"\u003ehttps://github.com/sindresorhus/file-type/compare/v22.0.0...v22.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRequires Node.js 22\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped Node.js \u003ccode\u003estream.Readable\u003c/code\u003e support from \u003ccode\u003efileTypeFromStream()\u003c/code\u003e and \u003ccode\u003efileTypeStream()\u003c/code\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThese now only accept a web \u003ccode\u003eReadableStream\u003c/code\u003e. Migrate with \u003ca href=\"https://nodejs.org/api/stream.html#streamreadabletowebstreamreadable-options\"\u003e\u003ccode\u003eReadable.toWeb()\u003c/code\u003e\u003c/a\u003e:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003e// Before\r\nimport fs from 'node:fs';\r\nfileTypeFromStream(fs.createReadStream('file.mp4'));\r\n\u003cp\u003e// After\u003cbr /\u003e\nimport fs from 'node:fs';\u003cbr /\u003e\nimport {Readable} from 'node:stream';\u003cbr /\u003e\nfileTypeFromStream(Readable.toWeb(fs.createReadStream('file.mp4')));\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSub-exports (e.g. \u003ccode\u003efile-type/core\u003c/code\u003e) have been removed. Import everything from \u003ccode\u003efile-type\u003c/code\u003e directly.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eReadableStreamWithFileType\u003c/code\u003e type has been removed. Use \u003ccode\u003eAnyWebReadableByteStreamWithFileType\u003c/code\u003e instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSeveral MIME types have been corrected or normalized:\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eOld MIME\u003c/th\u003e\n\u003cth\u003eNew MIME\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003elz\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-lzip\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/lzip\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003elnk\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x.ms.shortcut\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ms-shortcut\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eApple Alias\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x.apple.alias\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ft-apple.alias\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efbx\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x.autodesk.fbx\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ft-fbx\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDraco\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/vnd.google.draco\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ft-draco\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003eMIME subtypes prefixed with \u003ccode\u003ex-ft-\u003c/code\u003e are custom types defined by this package (not IANA-registered).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded detection for Apple iWork files: \u003ccode\u003e.key\u003c/code\u003e (Keynote), \u003ccode\u003e.pages\u003c/code\u003e (Pages), \u003ccode\u003e.numbers\u003c/code\u003e (Numbers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed LibreOffice OOXML files being incorrectly detected as ZIP when reading from streams\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/compare/v21.3.4...v22.0.0\"\u003ehttps://github.com/sindresorhus/file-type/compare/v21.3.4...v22.0.0\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/3c4b7e049171753c2f733c09afaf3f7ec9e09b13\"\u003e\u003ccode\u003e3c4b7e0\u003c/code\u003e\u003c/a\u003e 22.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/ce4262f69e2ed1d048162914a845fcb89cd80b01\"\u003e\u003ccode\u003ece4262f\u003c/code\u003e\u003c/a\u003e Fix: Work around esbuild resolving Node-only imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/2c54d066efdf7511e42fa9f5e4cd160b67fb51e9\"\u003e\u003ccode\u003e2c54d06\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/0ba6e0b2b76382f9b61e7b9e8610bbf7ca0e5273\"\u003e\u003ccode\u003e0ba6e0b\u003c/code\u003e\u003c/a\u003e Tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/0e679c74a9cab31c7b2aa65f9ba8e241fbc205f1\"\u003e\u003ccode\u003e0e679c7\u003c/code\u003e\u003c/a\u003e Remove sub-exports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/7079af7357c8d0a3651d6aa2015ba3cbe0121b48\"\u003e\u003ccode\u003e7079af7\u003c/code\u003e\u003c/a\u003e Tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/ec77458ce49d89bdf8de808569c2c87b43e8ca73\"\u003e\u003ccode\u003eec77458\u003c/code\u003e\u003c/a\u003e Add support for iWork files (.key, .pages, .numbers)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/d4a975c316429d8ec0bccc6e92483e625be0f6b1\"\u003e\u003ccode\u003ed4a975c\u003c/code\u003e\u003c/a\u003e Fix LibreOffice OOXML files detected as ZIP in streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/5de64e26f81ad14b1f07cb5c5108de6e303f3b60\"\u003e\u003ccode\u003e5de64e2\u003c/code\u003e\u003c/a\u003e Normalize MIME types we invented with \u003ccode\u003ex-ft-\u003c/code\u003e prefix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/7a60fa9dc0b7dad71ad6d3146a28ab92eb079983\"\u003e\u003ccode\u003e7a60fa9\u003c/code\u003e\u003c/a\u003e Require Node.js 22\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sindresorhus/file-type/compare/v16.5.4...v22.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fs-extra` from 9.1.0 to 11.3.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jprichardson/node-fs-extra/blob/master/CHANGELOG.md\"\u003efs-extra's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e11.3.5 / 2026-05-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eensureLink*\u003c/code\u003e/\u003ccode\u003eensureSymlink*\u003c/code\u003e identical file detection on Windows (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1068\"\u003e#1068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix error handling in timestamp preservation code (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1065\"\u003e#1065\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1069\"\u003e#1069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix potential file descriptor leak on error in synchronous timestamp preservation code (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1066\"\u003e#1066\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3.4 / 2026-03-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where calling \u003ccode\u003eensureSymlink\u003c/code\u003e/\u003ccode\u003eensureSymlinkSync\u003c/code\u003e with a relative \u003ccode\u003esrcPath\u003c/code\u003e would fail if the symlink already existed (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/issues/1038\"\u003e#1038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1064\"\u003e#1064\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3.3 / 2025-12-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix copying symlink when destination is a symlink to the same target (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/issues/1019\"\u003e#1019\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1060\"\u003e#1060\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3.2 / 2025-09-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix spurrious \u003ccode\u003eUnhandledPromiseRejectionWarning\u003c/code\u003e that could occur when calling \u003ccode\u003e.copy()\u003c/code\u003e in some cases (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/issues/1056\"\u003e#1056\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3.1 / 2025-08-05\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix case where \u003ccode\u003emove\u003c/code\u003e/\u003ccode\u003emoveSync\u003c/code\u003e could incorrectly think files are identical on Windows (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1050\"\u003e#1050\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3.0 / 2025-01-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd promise support for newer \u003ccode\u003efs\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/issues/1044\"\u003e#1044\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1045\"\u003e#1045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efs.opendir\u003c/code\u003e in \u003ccode\u003ecopy()\u003c/code\u003e/\u003ccode\u003ecopySync()\u003c/code\u003e for better perf/scalability (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/issues/972\"\u003e#972\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1028\"\u003e#1028\u003c/a\u003e)...\n\n_Description has been truncated_","html_url":"https://github.com/mo0om/juice-shop/pull/37","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mo0om%2Fjuice-shop/issues/37","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/37/packages"},{"uuid":"4611407419","node_id":"PR_kwDOQYgjZM7j0zFU","number":28,"state":"closed","title":"Bump the all group across 1 directory with 48 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-15T08:52:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T08:57:25.000Z","updated_at":"2026-06-15T08:52:48.000Z","time_to_close":604521,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all","update_count":48,"packages":[{"name":"@anthropic-ai/claude-code","old_version":"2.1.81","new_version":"2.1.168","repository_url":"https://github.com/anthropics/claude-code"},{"name":"@anthropic-ai/sdk","old_version":"0.80.0","new_version":"0.102.0","repository_url":"https://github.com/anthropics/anthropic-sdk-typescript"},{"name":"@github/copilot","old_version":"1.0.10","new_version":"1.0.60","repository_url":"https://github.com/github/copilot-cli"},{"name":"@google/genai","old_version":"1.46.0","new_version":"2.8.0","repository_url":"https://github.com/googleapis/js-genai"},{"name":"@vscode/copilot-api","old_version":"0.2.18","new_version":"0.4.4","repository_url":"https://github.com/Microsoft/vscode-extension-telemetry"},{"name":"@vscode/extension-telemetry","old_version":"1.5.1","new_version":"1.5.2","repository_url":"https://github.com/Microsoft/vscode-extension-telemetry"},{"name":"ajv","old_version":"8.18.0","new_version":"8.20.0","repository_url":"https://github.com/ajv-validator/ajv"},{"name":"diff","old_version":"8.0.3","new_version":"9.0.0","repository_url":"https://github.com/kpdecker/jsdiff"},{"name":"dompurify","old_version":"3.3.3","new_version":"3.4.8","repository_url":"https://github.com/cure53/DOMPurify"},{"name":"lru-cache","old_version":"11.2.7","new_version":"11.5.1","repository_url":"https://github.com/isaacs/node-lru-cache"},{"name":"markdown-it","old_version":"14.1.1","new_version":"14.2.0","repository_url":"https://github.com/markdown-it/markdown-it"},{"name":"minimatch","old_version":"10.2.4","new_version":"10.2.5","repository_url":"https://github.com/isaacs/minimatch"},{"name":"undici","old_version":"7.24.5","new_version":"8.4.0","repository_url":"https://github.com/nodejs/undici"},{"name":"vscode-tas-client","old_version":"0.1.86","new_version":"0.2.1"},{"name":"@azure/keyvault-secrets","old_version":"4.10.0","new_version":"4.11.2","repository_url":"https://github.com/Azure/azure-sdk-for-js"},{"name":"@azure/msal-node","old_version":"5.1.1","new_version":"5.2.3","repository_url":"https://github.com/AzureAD/microsoft-authentication-library-for-js"},{"name":"@fluentui/react-components","old_version":"9.73.4","new_version":"9.74.1","repository_url":"https://github.com/microsoft/fluentui"},{"name":"@fluentui/react-icons","old_version":"2.0.321","new_version":"2.0.328","repository_url":"https://github.com/microsoft/fluentui-system-icons"},{"name":"@types/node","old_version":"22.19.15","new_version":"22.19.20","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.57.1","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.57.1","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/typescript-estree","old_version":"8.57.1","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/coverage-v8","old_version":"4.1.0","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vscode/vsce","old_version":"3.7.1","new_version":"3.9.2","repository_url":"https://github.com/Microsoft/vsce"},{"name":"dotenv","old_version":"17.3.1","new_version":"17.4.2","repository_url":"https://github.com/motdotla/dotenv"},{"name":"electron","old_version":"41.0.3","new_version":"42.3.3","repository_url":"https://github.com/electron/electron"},{"name":"esbuild","old_version":"0.27.4","new_version":"0.28.0","repository_url":"https://github.com/evanw/esbuild"},{"name":"eslint-import-resolver-typescript","old_version":"4.4.4","new_version":"4.4.5","repository_url":"https://github.com/import-js/eslint-import-resolver-typescript"},{"name":"eslint-plugin-jsdoc","old_version":"62.8.0","new_version":"63.0.2","repository_url":"https://github.com/gajus/eslint-plugin-jsdoc"},{"name":"eslint-plugin-no-only-tests","old_version":"3.3.0","new_version":"3.4.0","repository_url":"https://github.com/levibuzolic/eslint-plugin-no-only-tests"},{"name":"js-yaml","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"mobx","old_version":"6.15.0","new_version":"6.16.0","repository_url":"https://github.com/mobxjs/mobx"},{"name":"mocha","old_version":"11.7.5","new_version":"11.7.6","repository_url":"https://github.com/mochajs/mocha"},{"name":"openai","old_version":"6.32.0","new_version":"6.42.0","repository_url":"https://github.com/openai/openai-node"},{"name":"picomatch","old_version":"4.0.3","new_version":"4.0.4","repository_url":"https://github.com/micromatch/picomatch"},{"name":"@types/picomatch","old_version":"4.0.2","new_version":"4.0.3","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"playwright","old_version":"1.58.2","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"shiki","old_version":"4.0.2","new_version":"4.2.0","repository_url":"https://github.com/shikijs/shiki"},{"name":"sinon","old_version":"21.0.3","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"tar","old_version":"7.5.12","new_version":"7.5.16","repository_url":"https://github.com/isaacs/node-tar"},{"name":"tsx","old_version":"4.21.0","new_version":"4.22.4","repository_url":"https://github.com/privatenumber/tsx"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"typescript-eslint","old_version":"8.57.1","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"vscode-languageserver-protocol","old_version":"3.17.5","new_version":"3.18.0","repository_url":"https://github.com/Microsoft/vscode-languageserver-node"},{"name":"yaml","old_version":"2.8.3","new_version":"2.9.0","repository_url":"https://github.com/eemeli/yaml"}],"path":null,"ecosystem":"npm"},"body":"Bumps the all group with 46 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@anthropic-ai/claude-code](https://github.com/anthropics/claude-code) | `2.1.81` | `2.1.168` |\n| [@anthropic-ai/sdk](https://github.com/anthropics/anthropic-sdk-typescript) | `0.80.0` | `0.102.0` |\n| [@github/copilot](https://github.com/github/copilot-cli) | `1.0.10` | `1.0.60` |\n| [@google/genai](https://github.com/googleapis/js-genai) | `1.46.0` | `2.8.0` |\n| [@vscode/copilot-api](https://github.com/Microsoft/vscode-extension-telemetry) | `0.2.18` | `0.4.4` |\n| [@vscode/extension-telemetry](https://github.com/Microsoft/vscode-extension-telemetry) | `1.5.1` | `1.5.2` |\n| [ajv](https://github.com/ajv-validator/ajv) | `8.18.0` | `8.20.0` |\n| [diff](https://github.com/kpdecker/jsdiff) | `8.0.3` | `9.0.0` |\n| [dompurify](https://github.com/cure53/DOMPurify) | `3.3.3` | `3.4.8` |\n| [lru-cache](https://github.com/isaacs/node-lru-cache) | `11.2.7` | `11.5.1` |\n| [markdown-it](https://github.com/markdown-it/markdown-it) | `14.1.1` | `14.2.0` |\n| [minimatch](https://github.com/isaacs/minimatch) | `10.2.4` | `10.2.5` |\n| [undici](https://github.com/nodejs/undici) | `7.24.5` | `8.4.0` |\n| vscode-tas-client | `0.1.86` | `0.2.1` |\n| [@azure/keyvault-secrets](https://github.com/Azure/azure-sdk-for-js/tree/HEAD/sdk/keyvault/keyvault-secrets) | `4.10.0` | `4.11.2` |\n| [@azure/msal-node](https://github.com/AzureAD/microsoft-authentication-library-for-js) | `5.1.1` | `5.2.3` |\n| [@fluentui/react-components](https://github.com/microsoft/fluentui) | `9.73.4` | `9.74.1` |\n| [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) | `2.0.321` | `2.0.328` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.19.15` | `22.19.20` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.57.1` | `8.60.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.57.1` | `8.60.1` |\n| [@typescript-eslint/typescript-estree](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-estree) | `8.57.1` | `8.60.1` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.0` | `4.1.8` |\n| [@vscode/vsce](https://github.com/Microsoft/vsce) | `3.7.1` | `3.9.2` |\n| [dotenv](https://github.com/motdotla/dotenv) | `17.3.1` | `17.4.2` |\n| [electron](https://github.com/electron/electron) | `41.0.3` | `42.3.3` |\n| [esbuild](https://github.com/evanw/esbuild) | `0.27.4` | `0.28.0` |\n| [eslint-import-resolver-typescript](https://github.com/import-js/eslint-import-resolver-typescript) | `4.4.4` | `4.4.5` |\n| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | `62.8.0` | `63.0.2` |\n| [eslint-plugin-no-only-tests](https://github.com/levibuzolic/eslint-plugin-no-only-tests) | `3.3.0` | `3.4.0` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `4.1.1` | `4.2.0` |\n| [mobx](https://github.com/mobxjs/mobx) | `6.15.0` | `6.16.0` |\n| [mocha](https://github.com/mochajs/mocha) | `11.7.5` | `11.7.6` |\n| [openai](https://github.com/openai/openai-node) | `6.32.0` | `6.42.0` |\n| [picomatch](https://github.com/micromatch/picomatch) | `4.0.3` | `4.0.4` |\n| [@types/picomatch](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/picomatch) | `4.0.2` | `4.0.3` |\n| [playwright](https://github.com/microsoft/playwright) | `1.58.2` | `1.60.0` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [shiki](https://github.com/shikijs/shiki/tree/HEAD/packages/shiki) | `4.0.2` | `4.2.0` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.0.3` | `22.0.0` |\n| [tar](https://github.com/isaacs/node-tar) | `7.5.12` | `7.5.16` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.22.4` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.57.1` | `8.60.1` |\n| [vscode-languageserver-protocol](https://github.com/Microsoft/vscode-languageserver-node/tree/HEAD/protocol) | `3.17.5` | `3.18.0` |\n| [yaml](https://github.com/eemeli/yaml) | `2.8.3` | `2.9.0` |\n\n\nUpdates `@anthropic-ai/claude-code` from 2.1.81 to 2.1.168\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/claude-code/releases\"\u003e@​anthropic-ai/claude-code's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.168\u003c/h2\u003e\n\u003ch2\u003eWhat's changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and reliability improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.167\u003c/h2\u003e\n\u003ch2\u003eWhat's changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and reliability improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.166\u003c/h2\u003e\n\u003ch2\u003eWhat's changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003efallbackModel\u003c/code\u003e setting to configure up to three fallback models tried in order when the primary model is overloaded or unavailable; \u003ccode\u003e--fallback-model\u003c/code\u003e now also applies to interactive sessions\u003c/li\u003e\n\u003cli\u003eAdded glob pattern support in deny rule tool-name position (\u003ccode\u003e\u0026quot;*\u0026quot;\u003c/code\u003e denies all tools); allow rules reject non-MCP globs, and unknown tool names in deny rules warn at startup\u003c/li\u003e\n\u003cli\u003eHardened cross-session messaging: messages relayed via \u003ccode\u003eSendMessage\u003c/code\u003e from other Claude sessions no longer carry user authority — receivers refuse relayed permission requests, and auto mode blocks them\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMAX_THINKING_TOKENS=0\u003c/code\u003e, \u003ccode\u003e--thinking disabled\u003c/code\u003e, and the per-model thinking toggle now disable thinking on models that think by default via the Claude API (3P providers unchanged)\u003c/li\u003e\n\u003cli\u003eClaude Code now retries a turn once on the fallback model when the API rejects an unexpected non-retryable error; auth, rate-limit, request-size, and transport errors still surface immediately\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eclaude update\u003c/code\u003e now announces the target version before downloading instead of going silent\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eclaude agents\u003c/code\u003e: typing a URL into the list now filters to the session whose first prompt contained it\u003c/li\u003e\n\u003cli\u003eFixed a recurring \u0026quot;image could not be processed\u0026quot; error and extra token usage when an unprocessable image was sent in a session\u003c/li\u003e\n\u003cli\u003eFixed remote sessions becoming permanently stuck when a brief backend disruption occurred during worker registration at startup\u003c/li\u003e\n\u003cli\u003eFixed flickering in JetBrains IDE terminals (IntelliJ, PyCharm, WebStorm, etc.) on 2026.1+ by enabling synchronized output\u003c/li\u003e\n\u003cli\u003eFixed Shift+non-ASCII characters (e.g. Shift+ä → Ä) being dropped in terminals using the Kitty keyboard protocol (WezTerm, Ghostty, kitty)\u003c/li\u003e\n\u003cli\u003eFixed PowerShell command validation occasionally hanging far past its time budget on Windows when a killed process's children held its output pipes\u003c/li\u003e\n\u003cli\u003eFixed orphaned \u003ccode\u003eclaude --bg-pty-host\u003c/code\u003e processes spinning at 100% CPU after the daemon dies while connected on macOS\u003c/li\u003e\n\u003cli\u003eFixed voice mode requiring \u003ccode\u003e/login\u003c/code\u003e to clear a stale auth check after toggling \u003ccode\u003e/voice\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed managed settings with an invalid entry silently disabling enforcement of their remaining valid policies\u003c/li\u003e\n\u003cli\u003eFixed managed-settings \u003ccode\u003eallowedMcpServers\u003c/code\u003e/\u003ccode\u003edeniedMcpServers\u003c/code\u003e predicates not matching when they use \u003ccode\u003e${VAR}\u003c/code\u003e references\u003c/li\u003e\n\u003cli\u003eFixed background agent sessions that entered a git worktree crash-looping with \u0026quot;No conversation found\u0026quot; when reopened from \u003ccode\u003eclaude agents\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed duplicated thinking text in the Ctrl+O transcript view while streaming\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e/doctor\u003c/code\u003e showing a contradictory failed \u0026quot;Not inside a remote session\u0026quot; check when run inside a remote session\u003c/li\u003e\n\u003cli\u003eFixed the cursor sticking at the end of the first line when typing a multiline prompt in the \u003ccode\u003eclaude agents\u003c/code\u003e dispatch and reply inputs\u003c/li\u003e\n\u003cli\u003eFixed blank lines appearing between background agent rows in the task list on terminals without Unicode support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.165\u003c/h2\u003e\n\u003ch2\u003eWhat's changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and reliability improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.163\u003c/h2\u003e\n\u003ch2\u003eWhat's changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003erequiredMinimumVersion\u003c/code\u003e and \u003ccode\u003erequiredMaximumVersion\u003c/code\u003e managed settings — Claude Code refuses to start if its version is outside the allowed range and directs the user to an approved version\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e/plugin list\u003c/code\u003e command to list installed plugins, with \u003ccode\u003e--enabled\u003c/code\u003e/\u003ccode\u003e--disabled\u003c/code\u003e filters\u003c/li\u003e\n\u003cli\u003eAdded a \u0026quot;c to copy\u0026quot; shortcut to \u003ccode\u003e/btw\u003c/code\u003e that copies the raw markdown answer to the clipboard, preserving formatting when pasted elsewhere\u003c/li\u003e\n\u003cli\u003eHooks: Stop and SubagentStop hooks can now return \u003ccode\u003ehookSpecificOutput.additionalContext\u003c/code\u003e to give Claude feedback and keep the turn going without being labeled a hook error\u003c/li\u003e\n\u003cli\u003eSkills: added \u003ccode\u003e\\$\u003c/code\u003e escape syntax to include a literal \u003ccode\u003e$\u003c/code\u003e before a digit in command bodies\u003c/li\u003e\n\u003cli\u003estdio MCP servers now receive the same \u003ccode\u003eCLAUDE_CODE_SESSION_ID\u003c/code\u003e as hooks/Bash on \u003ccode\u003e--resume\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eclaude -p\u003c/code\u003e hanging forever after its final result when a backgrounded command never exits — background shells are now stopped ~5s after the result once stdin closes\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/anthropics/claude-code/blob/main/CHANGELOG.md\"\u003e@​anthropic-ai/claude-code's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.168\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and reliability improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.167\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and reliability improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.166\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003efallbackModel\u003c/code\u003e setting to configure up to three fallback models tried in order when the primary model is overloaded or unavailable; \u003ccode\u003e--fallback-model\u003c/code\u003e now also applies to interactive sessions\u003c/li\u003e\n\u003cli\u003eAdded glob pattern support in deny rule tool-name position (\u003ccode\u003e\u0026quot;*\u0026quot;\u003c/code\u003e denies all tools); allow rules reject non-MCP globs, and unknown tool names in deny rules warn at startup\u003c/li\u003e\n\u003cli\u003eHardened cross-session messaging: messages relayed via \u003ccode\u003eSendMessage\u003c/code\u003e from other Claude sessions no longer carry user authority — receivers refuse relayed permission requests, and auto mode blocks them\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMAX_THINKING_TOKENS=0\u003c/code\u003e, \u003ccode\u003e--thinking disabled\u003c/code\u003e, and the per-model thinking toggle now disable thinking on models that think by default via the Claude API (3P providers unchanged)\u003c/li\u003e\n\u003cli\u003eClaude Code now retries a turn once on the fallback model when the API rejects an unexpected non-retryable error; auth, rate-limit, request-size, and transport errors still surface immediately\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eclaude update\u003c/code\u003e now announces the target version before downloading instead of going silent\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eclaude agents\u003c/code\u003e: typing a URL into the list now filters to the session whose first prompt contained it\u003c/li\u003e\n\u003cli\u003eFixed a recurring \u0026quot;image could not be processed\u0026quot; error and extra token usage when an unprocessable image was sent in a session\u003c/li\u003e\n\u003cli\u003eFixed remote sessions becoming permanently stuck when a brief backend disruption occurred during worker registration at startup\u003c/li\u003e\n\u003cli\u003eFixed flickering in JetBrains IDE terminals (IntelliJ, PyCharm, WebStorm, etc.) on 2026.1+ by enabling synchronized output\u003c/li\u003e\n\u003cli\u003eFixed Shift+non-ASCII characters (e.g. Shift+ä → Ä) being dropped in terminals using the Kitty keyboard protocol (WezTerm, Ghostty, kitty)\u003c/li\u003e\n\u003cli\u003eFixed PowerShell command validation occasionally hanging far past its time budget on Windows when a killed process's children held its output pipes\u003c/li\u003e\n\u003cli\u003eFixed orphaned \u003ccode\u003eclaude --bg-pty-host\u003c/code\u003e processes spinning at 100% CPU after the daemon dies while connected on macOS\u003c/li\u003e\n\u003cli\u003eFixed voice mode requiring \u003ccode\u003e/login\u003c/code\u003e to clear a stale auth check after toggling \u003ccode\u003e/voice\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed managed settings with an invalid entry silently disabling enforcement of their remaining valid policies\u003c/li\u003e\n\u003cli\u003eFixed managed-settings \u003ccode\u003eallowedMcpServers\u003c/code\u003e/\u003ccode\u003edeniedMcpServers\u003c/code\u003e predicates not matching when they use \u003ccode\u003e${VAR}\u003c/code\u003e references\u003c/li\u003e\n\u003cli\u003eFixed background agent sessions that entered a git worktree crash-looping with \u0026quot;No conversation found\u0026quot; when reopened from \u003ccode\u003eclaude agents\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed duplicated thinking text in the Ctrl+O transcript view while streaming\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e/doctor\u003c/code\u003e showing a contradictory failed \u0026quot;Not inside a remote session\u0026quot; check when run inside a remote session\u003c/li\u003e\n\u003cli\u003eFixed the cursor sticking at the end of the first line when typing a multiline prompt in the \u003ccode\u003eclaude agents\u003c/code\u003e dispatch and reply inputs\u003c/li\u003e\n\u003cli\u003eFixed blank lines appearing between background agent rows in the task list on terminals without Unicode support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.165\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and reliability improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.163\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003erequiredMinimumVersion\u003c/code\u003e and \u003ccode\u003erequiredMaximumVersion\u003c/code\u003e managed settings — Claude Code refuses to start if its version is outside the allowed range and directs the user to an approved version\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e/plugin list\u003c/code\u003e command to list installed plugins, with \u003ccode\u003e--enabled\u003c/code\u003e/\u003ccode\u003e--disabled\u003c/code\u003e filters\u003c/li\u003e\n\u003cli\u003eAdded a \u0026quot;c to copy\u0026quot; shortcut to \u003ccode\u003e/btw\u003c/code\u003e that copies the raw markdown answer to the clipboard, preserving formatting when pasted elsewhere\u003c/li\u003e\n\u003cli\u003eHooks: Stop and SubagentStop hooks can now return \u003ccode\u003ehookSpecificOutput.additionalContext\u003c/code\u003e to give Claude feedback and keep the turn going without being labeled a hook error\u003c/li\u003e\n\u003cli\u003eSkills: added \u003ccode\u003e\\$\u003c/code\u003e escape syntax to include a literal \u003ccode\u003e$\u003c/code\u003e before a digit in command bodies\u003c/li\u003e\n\u003cli\u003estdio MCP servers now receive the same \u003ccode\u003eCLAUDE_CODE_SESSION_ID\u003c/code\u003e as hooks/Bash on \u003ccode\u003e--resume\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eclaude -p\u003c/code\u003e hanging forever after its final result when a backgrounded command never exits — background shells are now stopped ~5s after the result once stdin closes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eclaude -p\u003c/code\u003e failing with \u0026quot;ANTHROPIC_API_KEY required\u0026quot; on Bedrock/Vertex/Foundry when \u003ccode\u003eCI=true\u003c/code\u003e and no Anthropic API key is set\u003c/li\u003e\n\u003cli\u003eFixed bash commands failing under bazel and EDR-protected Go workflows: \u003ccode\u003e$TMPDIR\u003c/code\u003e was overridden to \u003ccode\u003e/tmp/claude-{uid}\u003c/code\u003e for all commands instead of only sandboxed ones (regression in 2.1.154)\u003c/li\u003e\n\u003cli\u003eFixed Bash commands failing on Windows with \u0026quot;EEXIST: file already exists\u0026quot; on the session-env directory when it has the read-only attribute or is inside OneDrive\u003c/li\u003e\n\u003cli\u003eFixed org-managed permission rules not applying for the entire session when the managed settings fetch completed during startup on a fresh config directory\u003c/li\u003e\n\u003cli\u003eFixed background sessions in \u003ccode\u003eclaude agents\u003c/code\u003e losing their running background tasks when reattached after a Claude Code update\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/anthropics/claude-code/commit/72281753c2af394d35d6950af5980832cbebd322\"\u003e\u003ccode\u003e7228175\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-code/commit/c1b75cba5e990e643ed62db6769a9f9807bdb053\"\u003e\u003ccode\u003ec1b75cb\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-code/commit/6988846f0f7bd570788b2551aeec7854b3c6b11e\"\u003e\u003ccode\u003e6988846\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-code/commit/feabcc3c2b9abf057a3721cf5427f8f50d75618f\"\u003e\u003ccode\u003efeabcc3\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-code/commit/d1e174252d0af47174bd9fbdec6abb092b49226a\"\u003e\u003ccode\u003ed1e1742\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-code/commit/b67fa4fa2c4f42e9b88a31f31906f3142bc165c5\"\u003e\u003ccode\u003eb67fa4f\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-code/commit/625c04c3350378c3d74662505aae3e9dcf3fa1b4\"\u003e\u003ccode\u003e625c04c\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-code/commit/bdb04fc52421537f63bbcb9685e1c0905689f8f7\"\u003e\u003ccode\u003ebdb04fc\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-code/commit/8bae02d5319c619f84f51476188e5b28b2e5816b\"\u003e\u003ccode\u003e8bae02d\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-code/commit/295dee881d0e1c1d0cd22fe171e4c1d07118fb04\"\u003e\u003ccode\u003e295dee8\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/anthropics/claude-code/compare/v2.1.81...v2.1.168\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003epostinstall\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@anthropic-ai/sdk` from 0.80.0 to 0.102.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/releases\"\u003e@​anthropic-ai/sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esdk: v0.102.0\u003c/h2\u003e\n\u003ch2\u003e0.102.0 (2026-06-06)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.101.0...sdk-v0.102.0\"\u003esdk-v0.101.0...sdk-v0.102.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e small updates to Managed Agents types (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/8ba4f92df32eb434503b8c69bc7328adc5edcbec\"\u003e8ba4f92\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e run middleware before request signing (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/45\"\u003e#45\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/95f1a4a406c95aa31855fa1178fedfcb19978e16\"\u003e95f1a4a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esdk: v0.101.0\u003c/h2\u003e\n\u003ch2\u003e0.101.0 (2026-06-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.100.1...sdk-v0.101.0\"\u003esdk-v0.100.1...sdk-v0.101.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add support for middleware (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/9b011207965540211cefb19d44d758b7942aedab\"\u003e9b01120\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eapply request timeout to inner fetch only, not middleware chain (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/40\"\u003e#40\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/25c13f6183391f006396f16a9bd9a2c2f710d52c\"\u003e25c13f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e carry stop_details through beta message_delta accumulation (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/ed3fec7ace406fe4b0ca3494439061695dabf475\"\u003eed3fec7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e correctly parse json numbers with scientific notation (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/9\"\u003e#9\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/7d5e6422dc5b58bc991c1587c4f1a0e8e753f2a5\"\u003e7d5e642\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e fix artifact url (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/925ec276fa97baf63d3643f24430bd2a8302c5dc\"\u003e925ec27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e fix branch names (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/fa3cf2c491f0ed274dc7839779f7fd91c15b5dbf\"\u003efa3cf2c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update private repo name (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/a8ac213b8ce0955bd66f0b2f5bcecc2976867fb2\"\u003ea8ac213\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epoint security reports to Anthropic's HackerOne program (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/16\"\u003e#16\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/5c7912c36e0210c6cbc773a32a7ba983aaf611df\"\u003e5c7912c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esdk: v0.100.1\u003c/h2\u003e\n\u003ch2\u003e0.100.1 (2026-05-29)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.100.0...sdk-v0.100.1\"\u003esdk-v0.100.0...sdk-v0.100.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e carry encrypted_content on beta compaction blocks (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1025\"\u003e#1025\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/eccddf3ed28645bceed2f3b6eb7826466377f1e8\"\u003eeccddf3\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/anthropics/anthropic-sdk-typescript/blob/main/CHANGELOG.md\"\u003e@​anthropic-ai/sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.102.0 (2026-06-06)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.101.0...sdk-v0.102.0\"\u003esdk-v0.101.0...sdk-v0.102.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e small updates to Managed Agents types (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/8ba4f92df32eb434503b8c69bc7328adc5edcbec\"\u003e8ba4f92\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e run middleware before request signing (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/45\"\u003e#45\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/95f1a4a406c95aa31855fa1178fedfcb19978e16\"\u003e95f1a4a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.101.0 (2026-06-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.100.1...sdk-v0.101.0\"\u003esdk-v0.100.1...sdk-v0.101.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add support for middleware (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/9b011207965540211cefb19d44d758b7942aedab\"\u003e9b01120\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eapply request timeout to inner fetch only, not middleware chain (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/40\"\u003e#40\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/25c13f6183391f006396f16a9bd9a2c2f710d52c\"\u003e25c13f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e carry stop_details through beta message_delta accumulation (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/ed3fec7ace406fe4b0ca3494439061695dabf475\"\u003eed3fec7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e correctly parse json numbers with scientific notation (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/9\"\u003e#9\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/7d5e6422dc5b58bc991c1587c4f1a0e8e753f2a5\"\u003e7d5e642\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e fix artifact url (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/925ec276fa97baf63d3643f24430bd2a8302c5dc\"\u003e925ec27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e fix branch names (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/fa3cf2c491f0ed274dc7839779f7fd91c15b5dbf\"\u003efa3cf2c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update private repo name (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/a8ac213b8ce0955bd66f0b2f5bcecc2976867fb2\"\u003ea8ac213\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epoint security reports to Anthropic's HackerOne program (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/16\"\u003e#16\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/5c7912c36e0210c6cbc773a32a7ba983aaf611df\"\u003e5c7912c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.100.1 (2026-05-29)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.100.0...sdk-v0.100.1\"\u003esdk-v0.100.0...sdk-v0.100.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e carry encrypted_content on beta compaction blocks (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1025\"\u003e#1025\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/eccddf3ed28645bceed2f3b6eb7826466377f1e8\"\u003eeccddf3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\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/anthropics/anthropic-sdk-typescript/commit/f7dfb972f614b80a03377df4c549fc94d83a0f5d\"\u003e\u003ccode\u003ef7dfb97\u003c/code\u003e\u003c/a\u003e chore: release main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/a3f3c9725855d065914aaf9e9be67bb513c9d2d9\"\u003e\u003ccode\u003ea3f3c97\u003c/code\u003e\u003c/a\u003e feat(api): small updates to Managed Agents types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/a5c98d117a1b9365769c4055c23794f288b350f7\"\u003e\u003ccode\u003ea5c98d1\u003c/code\u003e\u003c/a\u003e fix(client): run middleware before request signing (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/45\"\u003e#45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/185ec061cfe8cccd1af6fd118142ebd72e350379\"\u003e\u003ccode\u003e185ec06\u003c/code\u003e\u003c/a\u003e chore: release main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/fab891069a2d78e31f92098b0b9c8f81f925998f\"\u003e\u003ccode\u003efab8910\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/7ff4036756df6cf3b3ff69b6fee95c7d0dff8b9d\"\u003e\u003ccode\u003e7ff4036\u003c/code\u003e\u003c/a\u003e fix: apply request timeout to inner fetch only, not middleware chain (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/40\"\u003e#40\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/257bc1f56bb391c03bc30c4e16f61e22a3eba762\"\u003e\u003ccode\u003e257bc1f\u003c/code\u003e\u003c/a\u003e feat(client): add support for middleware\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/5b3ace5ec52d91780e78e0b64a199c57c5fdcfea\"\u003e\u003ccode\u003e5b3ace5\u003c/code\u003e\u003c/a\u003e chore(internal): fix artifact url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/70966be8fc07edbe6129eadc011c7b5ee8dbe131\"\u003e\u003ccode\u003e70966be\u003c/code\u003e\u003c/a\u003e fix(streaming): correctly parse json numbers with scientific notation (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/9\"\u003e#9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/7e22f205524aeb63324b9f1c6f433a82392c520a\"\u003e\u003ccode\u003e7e22f20\u003c/code\u003e\u003c/a\u003e docs: point security reports to Anthropic's HackerOne program (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/16\"\u003e#16\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.80.0...sdk-v0.102.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@​anthropic-ai/sdk\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@github/copilot` from 1.0.10 to 1.0.60\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/github/copilot-cli/releases\"\u003e@​github/copilot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.0.60\u003c/h2\u003e\n\u003cp\u003e2026-06-05\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTab completes \u003ccode\u003e..\u003c/code\u003e parent traversal in slash-command path arguments instead of switching tabs\u003c/li\u003e\n\u003cli\u003eAdd the max reasoning effort level for Anthropic models and make all effort levels available on every plan\u003c/li\u003e\n\u003cli\u003eScreen no longer stays blank after waking from sleep inside a terminal multiplexer\u003c/li\u003e\n\u003cli\u003eInput fields render background color correctly inside highlighted frames\u003c/li\u003e\n\u003cli\u003eCursor renders in the correct position in plan approval and review feedback prompts\u003c/li\u003e\n\u003cli\u003eWorktree directory uses a flat name when PR branch contains slashes (e.g. \u003ccode\u003ecli/foo\u003c/code\u003e → \u003ccode\u003e.worktrees/cli-foo\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eQueue hint correctly shows ctrl+enter instead of ctrl+q when kitty keyboard protocol is active\u003c/li\u003e\n\u003cli\u003eStatus line progressively stacks across rows at narrow terminal widths instead of truncating elements beyond recognition\u003c/li\u003e\n\u003cli\u003eClipboard operations on X11 no longer corrupt the terminal display\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ebuiltInAgents.rubberDuckAutoInvoke\u003c/code\u003e setting to control automatic rubber duck agent invocation (disabled by default)\u003c/li\u003e\n\u003cli\u003eOn Windows, executables are no longer discovered in the working directory when invoking by bare name (e.g. \u003ccode\u003egit\u003c/code\u003e). Add the working directory to \u003ccode\u003ePATH\u003c/code\u003e to enable discovery.\u003c/li\u003e\n\u003cli\u003eInteractive shell commands no longer hang when producing large amounts of output\u003c/li\u003e\n\u003cli\u003eMCP tools glyph in /context legend displays at the correct size\u003c/li\u003e\n\u003cli\u003eSkill and slash command picker rows correctly display multi-line descriptions as a single line\u003c/li\u003e\n\u003cli\u003eIDE picker now hides entries whose editor connection has gone away, so selecting one no longer fails with a connection error, and appends a process id to entries that share the same editor and folder so git worktrees of the same repo can be told apart\u003c/li\u003e\n\u003cli\u003eModel picker fits within small terminal windows and mouse scroll works in the picker\u003c/li\u003e\n\u003cli\u003eShow cache write tokens alongside cache read tokens in /usage display\u003c/li\u003e\n\u003cli\u003eRepurpose ctrl+s to stash and pop the current prompt (Claude Code parity); the slash-command picker is still available by typing /\u003c/li\u003e\n\u003cli\u003e/context separates Custom Instructions from the system prompt and cross-references per-server MCP tool token costs with /mcp\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ebilling\u003c/code\u003e help topic with an overview of AI credit usage features\u003c/li\u003e\n\u003cli\u003eAdd vim-style navigation keys (g, G, Ctrl+D, Ctrl+U) to the /diff view\u003c/li\u003e\n\u003cli\u003eShow the Mission Control sharing status of synced sessions in the /session info view\u003c/li\u003e\n\u003cli\u003eAdd -r as a shorthand for --resume\u003c/li\u003e\n\u003cli\u003eLSP server config accepts \u003ccode\u003ebash\u003c/code\u003e, \u003ccode\u003epowershell\u003c/code\u003e, and \u003ccode\u003ecwd\u003c/code\u003e keys; command launch default cwd stays project-root unless \u003ccode\u003ecwd\u003c/code\u003e is set, and \u003ccode\u003ecwd\u003c/code\u003e expansion now supports plugin vars like \u003ccode\u003ePLUGIN_ROOT\u003c/code\u003e while shell launches keep hook-matching cwd/env behavior\u003c/li\u003e\n\u003cli\u003eRewind picker shows working-tree diff stats (+added −removed) at each checkpoint\u003c/li\u003e\n\u003cli\u003eCreate a git worktree for a pull request directly from the pull requests screen\u003c/li\u003e\n\u003cli\u003eRemaining requests percentage no longer shows a negative value for over-limit users\u003c/li\u003e\n\u003cli\u003eExtension permission prompts respect --yolo and pre-approved locations on startup\u003c/li\u003e\n\u003cli\u003eCustom agent instructions are no longer duplicated each turn, reducing context window usage\u003c/li\u003e\n\u003cli\u003eLinux sandbox no longer fails when allowedHosts or blockedHosts are configured\u003c/li\u003e\n\u003cli\u003eSession completion signal (terminal beep, autopilot continuation) now waits for background shell commands to finish\u003c/li\u003e\n\u003cli\u003eCmd+Backspace deletes the line before the cursor on macOS prompt input\u003c/li\u003e\n\u003cli\u003eweb_fetch blocks loopback, private, and cloud metadata addresses and no longer silently follows redirects\u003c/li\u003e\n\u003cli\u003eTrusted folders and other config keys are no longer dropped when experiment assignments are cached concurrently\u003c/li\u003e\n\u003cli\u003eRewind no longer deletes ignored files when rolling back to a previous snapshot\u003c/li\u003e\n\u003cli\u003eACP allow_all config option correctly applies unrestricted permissions for tools, paths, and URLs\u003c/li\u003e\n\u003cli\u003e--available-tools, --excluded-tools, and --reasoning-effort flags apply correctly in ACP mode\u003c/li\u003e\n\u003cli\u003eLSP workspace/configuration response returns the correct number of entries, preventing strict servers like ty from panicking\u003c/li\u003e\n\u003cli\u003eExtensions linked via directory symlinks are now discovered and loaded correctly\u003c/li\u003e\n\u003cli\u003eTyping \u0026quot;help\u0026quot; at the prompt opens the quick-help overlay instead of sending it as a chat message\u003c/li\u003e\n\u003cli\u003eWide characters (e.g. CJK) render correctly in the terminal diff view without visual corruption\u003c/li\u003e\n\u003cli\u003eFolder trust persists across git worktrees without re-prompting\u003c/li\u003e\n\u003cli\u003eForce-removing a marketplace no longer causes its plugins to reinstall on next launch\u003c/li\u003e\n\u003cli\u003eMCP OAuth re-authentication no longer fails with an address-in-use error when a login is already in progress\u003c/li\u003e\n\u003cli\u003eRepository plugin overrides no longer change globally enabled plugin settings\u003c/li\u003e\n\u003cli\u003eMCP allowlist now matches npm scoped servers whose registry entry drops the leading @ from the package identifier\u003c/li\u003e\n\u003cli\u003eMCP servers registered via Azure API Center are no longer incorrectly blocked by the allowlist\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/github/copilot-cli/blob/main/changelog.md\"\u003e@​github/copilot's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.0.60 - 2026-06-05\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTab completes \u003ccode\u003e..\u003c/code\u003e parent traversal in slash-command path arguments instead of switching tabs\u003c/li\u003e\n\u003cli\u003eAdd the max reasoning effort level for Anthropic models and make all effort levels available on every plan\u003c/li\u003e\n\u003cli\u003eScreen no longer stays blank after waking from sleep inside a terminal multiplexer\u003c/li\u003e\n\u003cli\u003eInput fields render background color correctly inside highlighted frames\u003c/li\u003e\n\u003cli\u003eCursor renders in the correct position in plan approval and review feedback prompts\u003c/li\u003e\n\u003cli\u003eWorktree directory uses a flat name when PR branch contains slashes (e.g. \u003ccode\u003ecli/foo\u003c/code\u003e → \u003ccode\u003e.worktrees/cli-foo\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eQueue hint correctly shows ctrl+enter instead of ctrl+q when kitty keyboard protocol is active\u003c/li\u003e\n\u003cli\u003eStatus line progressively stacks across rows at narrow terminal widths instead of truncating elements beyond recognition\u003c/li\u003e\n\u003cli\u003eClipboard operations on X11 no longer corrupt the terminal display\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ebuiltInAgents.rubberDuckAutoInvoke\u003c/code\u003e setting to control automatic rubber duck agent invocation (disabled by default)\u003c/li\u003e\n\u003cli\u003eOn Windows, executables are no longer discovered in the working directory when invoking by bare name (e.g. \u003ccode\u003egit\u003c/code\u003e). Add the working directory to \u003ccode\u003ePATH\u003c/code\u003e to enable discovery.\u003c/li\u003e\n\u003cli\u003eInteractive shell commands no longer hang when producing large amounts of output\u003c/li\u003e\n\u003cli\u003eMCP tools glyph in /context legend displays at the correct size\u003c/li\u003e\n\u003cli\u003eSkill and slash command picker rows correctly display multi-line descriptions as a single line\u003c/li\u003e\n\u003cli\u003eIDE picker now hides entries whose editor connection has gone away, so selecting one no longer fails with a connection error, and appends a process id to entries that share the same editor and folder so git worktrees of the same repo can be told apart\u003c/li\u003e\n\u003cli\u003eModel picker fits within small terminal windows and mouse scroll works in the picker\u003c/li\u003e\n\u003cli\u003eShow cache write tokens alongside cache read tokens in /usage display\u003c/li\u003e\n\u003cli\u003eRepurpose ctrl+s to stash and pop the current prompt (Claude Code parity); the slash-command picker is still available by typing /\u003c/li\u003e\n\u003cli\u003e/context separates Custom Instructions from the system prompt and cross-references per-server MCP tool token costs with /mcp\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ebilling\u003c/code\u003e help topic with an overview of AI credit usage features\u003c/li\u003e\n\u003cli\u003eAdd vim-style navigation keys (g, G, Ctrl+D, Ctrl+U) to the /diff view\u003c/li\u003e\n\u003cli\u003eShow the Mission Control sharing status of synced sessions in the /session info view\u003c/li\u003e\n\u003cli\u003eAdd -r as a shorthand for --resume\u003c/li\u003e\n\u003cli\u003eLSP server config accepts \u003ccode\u003ebash\u003c/code\u003e, \u003ccode\u003epowershell\u003c/code\u003e, and \u003ccode\u003ecwd\u003c/code\u003e keys; command launch default cwd stays project-root unless \u003ccode\u003ecwd\u003c/code\u003e is set, and \u003ccode\u003ecwd\u003c/code\u003e expansion now supports plugin vars like \u003ccode\u003ePLUGIN_ROOT\u003c/code\u003e while shell launches keep hook-matching cwd/env behavior\u003c/li\u003e\n\u003cli\u003eRewind picker shows working-tree diff stats (+added −removed) at each checkpoint\u003c/li\u003e\n\u003cli\u003eCreate a git worktree for a pull request directly from the pull requests screen\u003c/li\u003e\n\u003cli\u003eRemaining requests percentage no longer shows a negative value for over-limit users\u003c/li\u003e\n\u003cli\u003eExtension permission prompts respect --yolo and pre-approved locations on startup\u003c/li\u003e\n\u003cli\u003eCustom agent instructions are no longer duplicated each turn, reducing context window usage\u003c/li\u003e\n\u003cli\u003eLinux sandbox no longer fails when allowedHosts or blockedHosts are configured\u003c/li\u003e\n\u003cli\u003eSession completion signal (terminal beep, autopilot continuation) now waits for background shell commands to finish\u003c/li\u003e\n\u003cli\u003eCmd+Backspace deletes the line before the cursor on macOS prompt input\u003c/li\u003e\n\u003cli\u003eweb_fetch blocks loopback, private, and cloud metadata addresses and no longer silently follows redirects\u003c/li\u003e\n\u003cli\u003eTrusted folders and other config keys are no longer dropped when experiment assignments are cached concurrently\u003c/li\u003e\n\u003cli\u003eRewind no longer deletes ignored files when rolling back to a previous snapshot\u003c/li\u003e\n\u003cli\u003eACP allow_all config option correctly applies unrestricted permissions for tools, paths, and URLs\u003c/li\u003e\n\u003cli\u003e--available-tools, --excluded-tools, and --reasoning-effort flags apply correctly in ACP mode\u003c/li\u003e\n\u003cli\u003eLSP workspace/configuration response returns the correct number of entries, preventing strict servers like ty from panicking\u003c/li\u003e\n\u003cli\u003eExtensions linked via directory symlinks are now discovered and loaded correctly\u003c/li\u003e\n\u003cli\u003eTyping \u0026quot;help\u0026quot; at the prompt opens the quick-help overlay instead of sending it as a chat message\u003c/li\u003e\n\u003cli\u003eWide characters (e.g. CJK) render correctly in the terminal diff view without visual corruption\u003c/li\u003e\n\u003cli\u003eFolder trust persists across git worktrees without re-prompting\u003c/li\u003e\n\u003cli\u003eForce-removing a marketplace no longer causes its plugins to reinstall on next launch\u003c/li\u003e\n\u003cli\u003eMCP OAuth re-authentication no longer fails with an address-in-use error when a login is already in progress\u003c/li\u003e\n\u003cli\u003eRepository plugin overrides no longer change globally enabled plugin settings\u003c/li\u003e\n\u003cli\u003eMCP allowlist now matches npm scoped servers whose registry entry drops the leading @ from the package identifier\u003c/li\u003e\n\u003cli\u003eMCP servers registered via Azure API Center are no longer incorrectly blocked by the allowlist\u003c/li\u003e\n\u003cli\u003eLocal MCP servers sharing a serialized token broker (e.g. M365) reliably start instead of intermittently failing\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/github/copilot-cli/commit/3e316bbd750d398b56b20f346cb6a9c4bf429441\"\u003e\u003ccode\u003e3e316bb\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.59\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github/copilot-cli/commit/fbdc9da367bfbeac14f93c7cbd66465fcec95749\"\u003e\u003ccode\u003efbdc9da\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.58\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github/copilot-cli/commit/eaa1eabdd156d13b60c120e6b7acb9877253c5a6\"\u003e\u003ccode\u003eeaa1eab\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.57\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github/copilot-cli/commit/5e5b150c44e8671d6883a5b6549acc8a7e7b6285\"\u003e\u003ccode\u003e5e5b150\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.56\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github/copilot-cli/commit/3085447a4e539fe7d29d16ddaa8644340fd9e9db\"\u003e\u003ccode\u003e3085447\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.55\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github/copilot-cli/commit/d88b67d99e3116d467b39ff998e5af78b1984f82\"\u003e\u003ccode\u003ed88b67d\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.54\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github/copilot-cli/commit/58e05a59bb63efd3df3f716b8db033fb6ae9ffe0\"\u003e\u003ccode\u003e58e05a5\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.53\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github/copilot-cli/commit/fad7701e371209542bd8613d88f5d20f43a70a47\"\u003e\u003ccode\u003efad7701\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.52\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github/copilot-cli/commit/71e5b791df6643edb28e575a15e889d5f938e29f\"\u003e\u003ccode\u003e71e5b79\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.51\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github/copilot-cli/commit/d0b5734b307e9ba4a34d4eee28aa38bf44b98754\"\u003e\u003ccode\u003ed0b5734\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.49\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/github/copilot-cli/compare/v1.0.10...v1.0.60\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@google/genai` from 1.46.0 to 2.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/js-genai/releases\"\u003e@​google/genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.8.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.7.0...v2.8.0\"\u003e2.8.0\u003c/a\u003e (2026-06-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Agent Platform MCP support to async generate_content (\u003ca href=\"https://github.com/googleapis/js-genai/commit/baeaeaa5ae89f9f0a987a8cac5ef61703593fbc4\"\u003ebaeaeaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd transcription language code. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/d2981d6c94e10f4b65d225e637e605b533c9a9d7\"\u003ed2981d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd TranslationConfig for live translation. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/8c44240f961708cfde6f2201af2175a0239ef490\"\u003e8c44240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport ReinforcementTuning in GenAI SDK including ValidateReward API method. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/36f0bfb710ba954983de1fd786c89ed8fe887ce9\"\u003e36f0bfb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.7.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.6.0...v2.7.0\"\u003e2.7.0\u003c/a\u003e (2026-05-27)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Skill Registry ListSkills and DeleteSkill to SDK (\u003ca href=\"https://github.com/googleapis/js-genai/commit/d75582ad9bd04b071c4eea003df80b417070fd87\"\u003ed75582a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadditional computer_use field support for vertex. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/54a692b372fe6d5ab1340cd3ae4ea02a3a59e85c\"\u003e54a692b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einteraction-api:\u003c/strong\u003e Allow \u0026quot;text/csv\u0026quot; as a supported document mime type for Interaction API. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/3cc830e592d9c3185f0b9c15ed36de7581e0a5d5\"\u003e3cc830e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einteraction-api:\u003c/strong\u003e Enable BigQuery tool in Deep Research config. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/58c8c7e57b8454469e0f33a873432b892ef3ffc1\"\u003e58c8c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Reinforcement Tuning in GenAI SDK (\u003ca href=\"https://github.com/googleapis/js-genai/commit/418cc35c62af073dc41169df09884bfdcd25b4b8\"\u003e418cc35\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.5.0...v2.6.0\"\u003e2.6.0\u003c/a\u003e (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eenable_prompt_injection_detection\u003c/code\u003e for Computer Use feature for the Gemini API. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/f780f3c6dcbf311b8712a8d2bda2b1cee38d3067\"\u003ef780f3c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd budget_exceeded status (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1e97bd0ab7791f6140b24d3a4457c097dd2d48a0\"\u003e1e97bd0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd gemini-3.5-flash (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1e97bd0ab7791f6140b24d3a4457c097dd2d48a0\"\u003e1e97bd0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd new fields (\u003ca href=\"https://github.com/googleapis/js-genai/commit/b78eeee55607797a1bb14d41e648dacab863a7d2\"\u003eb78eeee\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.4.0...v2.5.0\"\u003e2.5.0\u003c/a\u003e (2026-05-20)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Gemini 3.5 Flash model to options (\u003ca href=\"https://github.com/googleapis/js-genai/commit/fcf26e386d4c8586047b64ecb0f01705d7a0a43e\"\u003efcf26e3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.3.0...v2.4.0\"\u003e2.4.0\u003c/a\u003e (2026-05-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Agent and Environment APIs. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/b0d9d2b84b3f94ba710b30b8a993cb7d23a10d35\"\u003eb0d9d2b\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/googleapis/js-genai/blob/main/CHANGELOG.md\"\u003e@​google/genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.7.0...v2.8.0\"\u003e2.8.0\u003c/a\u003e (2026-06-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Agent Platform MCP support to async generate_content (\u003ca href=\"https://github.com/googleapis/js-genai/commit/baeaeaa5ae89f9f0a987a8cac5ef61703593fbc4\"\u003ebaeaeaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd transcription language code. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/d2981d6c94e10f4b65d225e637e605b533c9a9d7\"\u003ed2981d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd TranslationConfig for live translation. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/8c44240f961708cfde6f2201af2175a0239ef490\"\u003e8c44240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport ReinforcementTuning in GenAI SDK including ValidateReward API method. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/36f0bfb710ba954983de1fd786c89ed8fe887ce9\"\u003e36f0bfb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.6.0...v2.7.0\"\u003e2.7.0\u003c/a\u003e (2026-05-27)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Skill Registry ListSkills and DeleteSkill to SDK (\u003ca href=\"https://github.com/googleapis/js-genai/commit/d75582ad9bd04b071c4eea003df80b417070fd87\"\u003ed75582a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadditional computer_use field support for vertex. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/54a692b372fe6d5ab1340cd3ae4ea02a3a59e85c\"\u003e54a692b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einteraction-api:\u003c/strong\u003e Allow \u0026quot;text/csv\u0026quot; as a supported document mime type for Interaction API. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/3cc830e592d9c3185f0b9c15ed36de7581e0a5d5\"\u003e3cc830e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einteraction-api:\u003c/strong\u003e Enable BigQuery tool in Deep Research config. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/58c8c7e57b8454469e0f33a873432b892ef3ffc1\"\u003e58c8c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Reinforcement Tuning in GenAI SDK (\u003ca href=\"https://github.com/googleapis/js-genai/commit/418cc35c62af073dc41169df09884bfdcd25b4b8\"\u003e418cc35\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.5.0...v2.6.0\"\u003e2.6.0\u003c/a\u003e (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eenable_prompt_injection_detection\u003c/code\u003e for Computer Use feature for the Gemini API. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/f780f3c6dcbf311b8712a8d2bda2b1cee38d3067\"\u003ef780f3c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd budget_exceeded status (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1e97bd0ab7791f6140b24d3a4457c097dd2d48a0\"\u003e1e97bd0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd gemini-3.5-flash (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1e97bd0ab7791f6140b24d3a4457c097dd2d48a0\"\u003e1e97bd0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd new fields (\u003ca href=\"https://github.com/googleapis/js-genai/commit/b78eeee55607797a1bb14d41e648dacab863a7d2\"\u003eb78eeee\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.4.0...v2.5.0\"\u003e2.5.0\u003c/a\u003e (2026-05-20)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Gemini 3.5 Flash model to options (\u003ca href=\"https://github.com/googleapis/js-genai/commit/fcf26e386d4c8586047b64ecb0f01705d7a0a43e\"\u003efcf26e3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.3.0...v2.4.0\"\u003e2.4.0\u003c/a\u003e (2026-05-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Agent and Environment APIs. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/b0d9d2b84b3f94ba710b30b8a993cb7d23a10d35\"\u003eb0d9d2b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eoutput_text for turns that don't end with text. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1a3d94f81574256e2f9e72af6bd5273f44d9fe2f\"\u003e1a3d94f\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/googleapis/js-genai/commit/ea0dd6004dcfdbb69895193efff2ee0af9b3ed80\"\u003e\u003ccode\u003eea0dd60\u003c/code\u003e\u003c/a\u003e chore(main): release 2.8.0 (\u003ca href=\"https://redirect.github.com/googleapis/js-genai/issues/1646\"\u003e#1646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/36f0bfb710ba954983de1fd786c89ed8fe887ce9\"\u003e\u003ccode\u003e36f0bfb\u003c/code\u003e\u003c/a\u003e feat: Support ReinforcementTuning in GenAI SDK including ValidateReward API m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/d2981d6c94e10f4b65d225e637e605b533c9a9d7\"\u003e\u003ccode\u003ed2981d6\u003c/code\u003e\u003c/a\u003e feat: Add transcription language code.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/98ac90d0c4578d82754535d0df451b29c3ffb1c9\"\u003e\u003ccode\u003e98ac90d\u003c/code\u003e\u003c/a\u003e chore: deprecate Google Maps grounding widget API fields\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/8c44240f961708cfde6f2201af2175a0239ef490\"\u003e\u003ccode\u003e8c44240\u003c/code\u003e\u003c/a\u003e feat: Add TranslationConfig for live translation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/baeaeaa5ae89f9f0a987a8cac5ef61703593fbc4\"\u003e\u003ccode\u003ebaeaeaa\u003c/code\u003e\u003c/a\u003e feat: Add Agent Platform MCP support to async generate_content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/c1d3cb7bd100804437ca5c1c8d4d56dce881ef2d\"\u003e\u003ccode\u003ec1d3cb7\u003c/code\u003e\u003c/a\u003e chore: Internal cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/bd78ed331caeb1bd9d7322327f61a7dad9872e50\"\u003e\u003ccode\u003ebd78ed3\u003c/code\u003e\u003c/a\u003e chore: Fix relative import path in pagers.ts.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/2821346c85468d5fc18f95a5824583868548c6d8\"\u003e\u003ccode\u003e2821346\u003c/code\u003e\u003c/a\u003e chore(main): release 2.7.0 (\u003ca href=\"https://redirect.github.com/googleapis/js-genai/issues/1630\"\u003e#1630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/54a692b372fe6d5ab1340cd3ae4ea02a3a59e85c\"\u003e\u003ccode\u003e54a692b\u003c/code\u003e\u003c/a\u003e feat: additional computer_use field support for vertex.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/js-genai/compare/v1.46.0...v2.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003epreinstall\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vscode/copilot-api` from 0.2.18 to 0.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Microsoft/vscode-extension-telemetry/releases\"\u003e@​vscode/copilot-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eSmall perf improvements + new common property\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved an inefficient cleaning regex. Definitely recommend updating as this can cause unnecessarily high CPU usage.\u003c/li\u003e\n\u003cli\u003eAdded new common property \u003ccode\u003ecommon.nodeArch\u003c/code\u003e thanks to \u003ca href=\"https://github.com/radeksimko\"\u003e\u003ccode\u003e@​radeksimko\u003c/code\u003e\u003c/a\u003e. This will collect the system architecture to provide more insights into arm vs x86 system usage\u003c/li\u003e\n\u003cli\u003eUpdated build machine to Node LTS from Node 14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdd telemetry caching\u003c/h2\u003e\n\u003cp\u003eWith the recent addition of lazy-loading it was possible to get into a state where logged telemetry wouldn't be sent due to the client not being ready. This releases adds caching which stores logged events created before the client is ready and then sends them once it is. Additionally, a larger refactor was done internally to reduce duplicated appender code.\u003c/p\u003e\n\u003ch2\u003eFix compatibility with old versions of VS Code\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix old version of VS Code not respecting telemetry setting\u003c/li\u003e\n\u003cli\u003eFix old version of VS Code throw with \u003ccode\u003eisNewAppInstall\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLazy loading\u003c/h2\u003e\n\u003cp\u003eAdds dynamic imports to the app insights modules so that when telemetry is off they don't load at all. Minor performance improvements might be seen when telemetry is off due to not loading these additional modules.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e This version bumped our target from ES6 to ES2020 due to these dynamic imports\u003c/p\u003e\n\u003ch2\u003e0.4\u003c/h2\u003e\n\u003cp\u003eremove peer dependency on vscode to allow using this module for extensions bundled inside vscode.\u003c/p\u003e\n\u003ch2\u003eSupport new telemetry settings\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVS Code has introduced \u003ccode\u003etelemetry.telemetryLevel\u003c/code\u003e for more granularity between turning off all telemetry and still allowing error telemetry. This update now supports and respects that setting.\u003c/li\u003e\n\u003cli\u003eAdd new common property \u003ccode\u003ecommon.product\u003c/code\u003e which says where VS Code is running, i.e. desktop, codespaces, github.dev\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBetter typings + More cleaning!\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd JS Doc comments to \u003ccode\u003e.d.ts\u003c/code\u003e file for intellisense\u003c/li\u003e\n\u003cli\u003eBetter cleaning of possibly leaked user data by looking for keywords such as key \u0026amp; token\u003c/li\u003e\n\u003cli\u003eLower target to Node 12 to support older extensions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFix Bad CI\u003c/h2\u003e\n\u003cp\u003eBad CI caused package to get published without any source files. This fixes that and publishes a fixed package\u003c/p\u003e\n\u003ch2\u003e0.3\u003c/h2\u003e\n\u003cp\u003eCritical fix for \u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/1\"\u003e#1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eDisable endpoint ping when telemetry is disabled\u003c/h2\u003e\n\u003cp\u003eThis release introduces some minor improvements to the package\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRedact \u003ccode\u003epasswd\u003c/code\u003e as well rather than just \u003ccode\u003epassword\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDon't ping the endpoint in web to test for adblock if telemetry is disabled as this may look like we're sending telemetry when we're not\u003c/li\u003e\n\u003cli\u003eAdded GitHub action + cleaned up build script to allow for automated release when a GitHub release is created\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Microsoft/vscode-extension-telemetry/commits/v0.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vscode/extension-telemetry` from 1.5.1 to 1.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Microsoft/vscode-extension-telemetry/releases\"\u003e@​vscode/extension-telemetry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.5.2\u003c/h2\u003e\n\u003ch2\u003eChanges:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/245\"\u003e#245\u003c/a\u003e: Update and explicitly list direct dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/243\"\u003e#243\u003c/a\u003e: npm update brace-expansion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/242\"\u003e#242\u003c/a\u003e: Bump flatted from 3.4.1 to 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/241\"\u003e#241\u003c/a\u003e: chore: migrate to ESLint 9 with flat config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/240\"\u003e#240\u003c/a\u003e: Bump minimatch from 3.1.2 to 3.1.5\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis list of changes was \u003ca href=\"https://dev.azure.com/monacotools/Monaco/_build/results?buildId=437454\u0026amp;view=logs\"\u003eauto generated\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/microsoft/vscode-extension-telemetry/commit/e33243f90eb20c49dd5464a7303414f3d3a181fc\"\u003e\u003ccode\u003ee33243f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/245\"\u003e#245\u003c/a\u003e from microsoft/updateAndAddExplicitDependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-extension-telemetry/commit/5c7de261ab79348fe9d7f29bb4d605347dbd9281\"\u003e\u003ccode\u003e5c7de26\u003c/code\u003e\u003c/a\u003e Update version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-extension-telemetry/commit/2e31d473f83d37e4ff88c1c44d2af70c3c564076\"\u003e\u003ccode\u003e2e31d47\u003c/code\u003e\u003c/a\u003e Update and explicitly list all dependencies.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-extension-telemetry/commit/31e45f23eca676b28a22f46690f0fe7208a5f4a4\"\u003e\u003ccode\u003e31e45f2\u003c/code\u003e\u003c/a\u003e npm update brace-expansion (\u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/243\"\u003e#243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-extension-telemetry/commit/5d142e32db5f2c31a6f971b9835d3676b47b01cd\"\u003e\u003ccode\u003e5d142e3\u003c/code\u003e\u003c/a\u003e Bump flatted from 3.4.1 to 3.4.2 (\u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/242\"\u003e#242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-extension-telemetry/commit/7d1752f8c104ad25af894cbd761b6cce6481f7a5\"\u003e\u003ccode\u003e7d1752f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/241\"\u003e#241\u003c/a\u003e from microsoft/copilot/migrate-to-eslint-9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-extension-telemetry/commit/8131abe1da9fde7989839210368a64fb59c1d061\"\u003e\u003ccode\u003e8131abe\u003c/code\u003e\u003c/a\u003e chore: migrate to ESLint 9 with flat config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-extension-telemetry/commit/71d0bac2f622c16c2e45066ed92dbfee662b0f99\"\u003e\u003ccode\u003e71d0bac\u003c/code\u003e\u003c/a\u003e Initial plan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-extension-telemetry/commit/9e420921554a4b451ce7eb50f556cc56ca634c39\"\u003e\u003ccode\u003e9e42092\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/240\"\u003e#240\u003c/a\u003e from microsoft/dependabot/npm_and_yarn/minimatch-3.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-extension-telemetry/commit/66b07a3112af4de001cdf966981cf0fe880525ca\"\u003e\u003ccode\u003e66b07a3\u003c/code\u003e\u003c/a\u003e Bump minimatch from 3.1.2 to 3.1.5\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Microsoft/vscode-extension-telemetry/compare/v1.5.1...v1.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ajv` from 8.18.0 to 8.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ajv-validator/ajv/releases\"\u003eajv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: add support for node 22/24, drop node 16/21 by \u003ca href=\"https://github.com/jasoniangreen\"\u003e\u003ccode\u003e@​jasoniangreen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ajv-validator/ajv/pull/2580\"\u003eajv-validator/ajv#2580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add ES2022.RegExp for RegExpIndicesArray by \u003ca href=\"https://github.com/SignpostMarv\"\u003e\u003ccode\u003e@​SignpostMarv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ajv-validator/ajv/pull/2604\"\u003eajv-validator/ajv#2604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ajv-validator/ajv/compare/v8.19.0...v8.20.0\"\u003ehttps://github.com/ajv-validator/ajv/compare/v8.19.0...v8.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev8.19.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix prototype pollution via format keyword using $data ref by \u003ca href=\"https://github.com/epoberezkin\"\u003e\u003ccode\u003e@​epoberezkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ajv-validator/ajv/pull/2607\"\u003eajv-validator/ajv#2607\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ajv-validator/ajv/compare/v8.18.0...v8.19.0\"\u003ehttps://github.com/ajv-validator/ajv/compare/v8.18.0...v8.19.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/0fba0b8e649909613cfce0999b149cd08f4a4987\"\u003e\u003ccode\u003e0fba0b8\u003c/code\u003e\u003c/a\u003e 8.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/9caf8d64409b05e2c670b3ff09cf7ca07937342e\"\u003e\u003ccode\u003e9caf8d6\u003c/code\u003e\u003c/a\u003e fix: add ES2022.RegExp for RegExpIndicesArray; fixes \u003ca href=\"https://redirect.github.com/ajv-validator/ajv/issues/2603\"\u003eajv-validator/ajv#2603\u003c/a\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/206535071f776f57737394c8896d4b2dc2bfb9a3\"\u003e\u003ccode\u003e2065350\u003c/code\u003e\u003c/a\u003e fix: add support for node 22/24, drop node 16/21 (\u003ca href=\"https://redirect.github.com/ajv-validator/ajv/issues/2580\"\u003e#2580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/154b58d690c6596e09ca676e12720ab8234ee3d2\"\u003e\u003ccode\u003e154b58d\u003c/code\u003e\u003c/a\u003e 8.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/e8d2bdc501b3ba6f03922db5e595770d4763d9da\"\u003e\u003ccode\u003ee8d2bdc\u003c/code\u003e\u003c/a\u003e test/fix prototype pollution via $data ref with format keyword (\u003ca href=\"https://redirect.github.com/ajv-validator/ajv/issues/2607\"\u003e#2607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ajv-validator/ajv/compare/v8.18.0...v8.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `diff` from 8.0.3 to 9.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kpdecker/jsdiff/blob/master/release-notes.md\"\u003ediff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.0\u003c/h2\u003e\n\u003cp\u003e(All changes part of PR \u003ca href=\"https://redirect.github.com/kpdecker/jsdiff/pull/672\"\u003e#672\u003c/a\u003e.)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eES5 support is dropped\u003c/strong\u003e. \u003ccode\u003eparsePatch\u003c/code\u003e now uses \u003ccode\u003eTextDecoder\u003c/code\u003e and \u003ccode\u003eUint8Array\u003c/code\u003e, which are not available in ES5, and TypeScript is now compiled with the \u0026quot;es6\u0026quot; \u003ccode\u003etarget\u003c/code\u003e. From now on, I intend to freely use any features that are deemed \u0026quot;Widely available\u0026quot; by \u003ca href=\"https://web.dev/baseline\"\u003eBaseline\u003c/a\u003e. Users who need ES5 support should stick to version 8.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eC-style quoted strings in filename headers are now properly supported\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eWhen the name of either the old or new file in a patch contains \u0026quot;special characters\u0026quot;, both GNU \u003ccode\u003ediff\u003c/code\u003e and Git quote the filename in the patch's headers and escape special characters using the same escape sequences that are used in string literals in C, including octal escapes for all non-ASCII characters. Previously, jsdiff had very little support for this; \u003ccode\u003eparsePatch\u003c/code\u003e would remove the quotes, and unescape any escaped backslashes, but would not unescape other escape sequences. \u003ccode\u003eformatPatch\u003c/code\u003e, meanwhile, did not quote or escape special characters at all.\u003c/p\u003e\n\u003cp\u003eNow, \u003ccode\u003eparsePatch\u003c/code\u003e parses all the possible escape sequences that GNU diff (or Git) ever output, and \u003ccode\u003eformatPatch\u003c/code\u003e quotes and escapes filenames containing special characters in the same way GNU diff does.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eformatPatch\u003c/code\u003e now omits file headers when \u003ccode\u003eoldFileName\u003c/code\u003e or \u003ccode\u003enewFileName\u003c/code\u003e in the provided patch object are \u003ccode\u003eundefined\u003c/code\u003e\u003c/strong\u003e, regardless of the \u003ccode\u003eheaderOptions\u003c/code\u003e parameter. (Previously, it would treat the absence of \u003ccode\u003eoldFileName\u003c/code\u003e or \u003ccode\u003enewFileName\u003c/code\u003e as indicating the filename was the word \u0026quot;undefined\u0026quot; and emit headers \u003ccode\u003e--- undefined\u003c/code\u003e / \u003ccode\u003e+++ undefined\u003c/code\u003e.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eformatPatch\u003c/code\u003e no longer outputs trailing tab characters at the end of \u003ccode\u003e---\u003c/code\u003e/\u003ccode\u003e+++\u003c/code\u003e headers.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, if \u003ccode\u003eformatPatch\u003c/code\u003e was passed a patch object to serialize that had empty strings for the \u003ccode\u003eoldHeader\u003c/code\u003e or \u003ccode\u003enewHeader\u003c/code\u003e property, it would include a trailing tab character after the filename in the \u003ccode\u003e---\u003c/code\u003e and/or \u003ccode\u003e+++\u003c/code\u003e file header. Now, this scenario is treated the same as when \u003ccode\u003eoldHeader\u003c/code\u003e/\u003ccode\u003enewHeader\u003c/code\u003e is \u003ccode\u003eundefined\u003c/code\u003e - i.e. the trailing tab is omitted.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eformatPatch\u003c/code\u003e no longer mutates its input\u003c/strong\u003e when serializing a patch containing a hunk where either the old or new content contained zero lines. (Such a hunk occurs only when the hunk has no context lines and represents a pure insertion or pure deletion, which for instance will occur whenever one of the two files being diffed is completely empty.) Previously \u003ccode\u003eformatPatch\u003c/code\u003e would provide the correct output but also mutate the \u003ccode\u003eoldLines\u003c/code\u003e or \u003ccode\u003enewLines\u003c/code\u003e property on the hunk, changing the meaning of the underlying patch.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eGit-style patches are now supported by \u003ccode\u003eparsePatch\u003c/code\u003e, \u003ccode\u003eformatPatch\u003c/code\u003e, and \u003ccode\u003ereversePatch\u003c/code\u003e\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003ePatches output by \u003ccode\u003egit diff\u003c/code\u003e can include some features that are unlike those output by GNU \u003ccode\u003ediff\u003c/code\u003e, and therefore not handled by an ordinary unified diff format parser. An ordinary diff simply describes the differences between the \u003cem\u003econtent\u003c/em\u003e of two files, but Git diffs can also indicate, via \u0026quot;extended headers\u0026quot;, the creation or deletion of (potentially empty) files, indicate that a file was renamed, and contain information about file mode changes. Furthermore, when these changes appear in a diff in the absence of a content change (e.g. when an empty file is created, or a file is renamed without content changes), the patch will contain no associated \u003ccode\u003e---\u003c/code\u003e/\u003ccode\u003e+++\u003c/code\u003e file headers nor any hunks.\u003c/p\u003e\n\u003cp\u003ejsdiff previously did not support parsing Git's extended headers, nor hunkless patches. Now \u003ccode\u003eparsePatch\u003c/code\u003e parses some of the extended headers, parses hunkless Git patches, and can determine filenames (e.g. from the extended headers) when parsing a patch that includes no \u003ccode\u003e---\u003c/code\u003e or \u003ccode\u003e+++\u003c/code\u003e file headers. The additional information conveyed by the extended headers we support is recorded on new fields on the result object returned by \u003ccode\u003eparsePatch\u003c/code\u003e. See \u003ccode\u003eisGit\u003c/code\u003e and subsequent properties in the docs in the README.md file.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eformatPatch\u003c/code\u003e now outputs extended headers based on these new Git-specific properties, and \u003ccode\u003ereversePatch\u003c/code\u003e respects them as far as possible (with one unavoid...\n\n_Description has been truncated_","html_url":"https://github.com/johnohhh1/ollama-code/pull/28","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnohhh1%2Follama-code/issues/28","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/28/packages"},{"uuid":"4609582139","node_id":"PR_kwDOSJqA0s7ju249","number":6,"state":"open","title":"deps: bump the development-dependencies group with 8 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T02:26:06.000Z","updated_at":"2026-06-08T02:26:07.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"development-dependencies","update_count":8,"packages":[{"name":"@types/node","old_version":"25.6.0","new_version":"25.9.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/vscode","old_version":"1.107.0","new_version":"1.120.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vscode/vsce","old_version":"3.9.1","new_version":"3.9.2","repository_url":"https://github.com/Microsoft/vsce"},{"name":"c8","old_version":"10.1.3","new_version":"11.0.0","repository_url":"https://github.com/bcoe/c8"},{"name":"eslint","old_version":"9.39.4","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-config-prettier","old_version":"9.1.2","new_version":"10.1.8","repository_url":"https://github.com/prettier/eslint-config-prettier"},{"name":"mocha","old_version":"11.7.5","new_version":"11.7.6","repository_url":"https://github.com/mochajs/mocha"},{"name":"sinon","old_version":"19.0.5","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.0` | `25.9.2` |\n| [@types/vscode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/vscode) | `1.107.0` | `1.120.0` |\n| [@vscode/vsce](https://github.com/Microsoft/vsce) | `3.9.1` | `3.9.2` |\n| [c8](https://github.com/bcoe/c8) | `10.1.3` | `11.0.0` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.4` | `10.4.1` |\n| [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) | `9.1.2` | `10.1.8` |\n| [mocha](https://github.com/mochajs/mocha) | `11.7.5` | `11.7.6` |\n| [sinon](https://github.com/sinonjs/sinon) | `19.0.5` | `22.0.0` |\n\nUpdates `@types/node` from 25.6.0 to 25.9.2\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 `@types/vscode` from 1.107.0 to 1.120.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/vscode\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vscode/vsce` from 3.9.1 to 3.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Microsoft/vsce/releases\"\u003e@​vscode/vsce's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.9.2\u003c/h2\u003e\n\u003ch2\u003eChanges:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1283\"\u003e#1283\u003c/a\u003e: fix: skip APIScan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1282\"\u003e#1282\u003c/a\u003e: chore: bump CI to Node 22 and fix build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1279\"\u003e#1279\u003c/a\u003e: Bump the \u003ccode\u003euuid\u003c/code\u003e test fixture version to \u003ccode\u003e100.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1278\"\u003e#1278\u003c/a\u003e: Bump tmp from 0.2.4 to 0.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1277\"\u003e#1277\u003c/a\u003e: Bump qs from 6.14.2 to 6.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1276\"\u003e#1276\u003c/a\u003e: Bump uuid and \u003ccode\u003e@​azure/msal-node\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1274\"\u003e#1274\u003c/a\u003e: Run npm audit fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1272\"\u003e#1272\u003c/a\u003e: Bump fast-uri from 3.0.6 to 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1267\"\u003e#1267\u003c/a\u003e: Bump minimatch from 10.2.2 to 10.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1247\"\u003e#1247\u003c/a\u003e: Update minimatch dependency to v10\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis list of changes was \u003ca href=\"https://dev.azure.com/monacotools/Monaco/_build/results?buildId=444641\u0026amp;view=logs\"\u003eauto generated\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev3.9.2-4\u003c/h2\u003e\n\u003ch2\u003eChanges:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1283\"\u003e#1283\u003c/a\u003e: fix: skip APIScan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1282\"\u003e#1282\u003c/a\u003e: chore: bump CI to Node 22 and fix build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1279\"\u003e#1279\u003c/a\u003e: Bump the \u003ccode\u003euuid\u003c/code\u003e test fixture version to \u003ccode\u003e100.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1278\"\u003e#1278\u003c/a\u003e: Bump tmp from 0.2.4 to 0.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1277\"\u003e#1277\u003c/a\u003e: Bump qs from 6.14.2 to 6.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1276\"\u003e#1276\u003c/a\u003e: Bump uuid and \u003ccode\u003e@​azure/msal-node\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis list of changes was \u003ca href=\"https://dev.azure.com/monacotools/Monaco/_build/results?buildId=444633\u0026amp;view=logs\"\u003eauto generated\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev3.9.2-3\u003c/h2\u003e\n\u003ch2\u003eChanges:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1274\"\u003e#1274\u003c/a\u003e: Run npm audit fix\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis list of changes was \u003ca href=\"https://dev.azure.com/monacotools/Monaco/_build/results?buildId=439213\u0026amp;view=logs\"\u003eauto generated\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev3.9.2-2\u003c/h2\u003e\n\u003ch2\u003eChanges:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1272\"\u003e#1272\u003c/a\u003e: Bump fast-uri from 3.0.6 to 3.1.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis list of changes was \u003ca href=\"https://dev.azure.com/monacotools/Monaco/_build/results?buildId=437853\u0026amp;view=logs\"\u003eauto generated\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/f7501f20f101efe79aaf8e3dd2831c17313866d1\"\u003e\u003ccode\u003ef7501f2\u003c/code\u003e\u003c/a\u003e fix: skip APIScan (\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1283\"\u003e#1283\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/7cd3244a20fddd6bc4e27de95bf1a25e31c7e5ac\"\u003e\u003ccode\u003e7cd3244\u003c/code\u003e\u003c/a\u003e chore: bump CI to Node 22 and fix build (\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1282\"\u003e#1282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/df1a68ebee505a6689482194d9e45a3b71bdcc66\"\u003e\u003ccode\u003edf1a68e\u003c/code\u003e\u003c/a\u003e Bump the \u003ccode\u003euuid\u003c/code\u003e test fixture version to \u003ccode\u003e100.0.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/3a5786ecd97f48696705e84b869599278596a1b0\"\u003e\u003ccode\u003e3a5786e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1278\"\u003e#1278\u003c/a\u003e from microsoft/dependabot/npm_and_yarn/tmp-0.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/4954e081efa832d254601bd560a1b8bb65059a77\"\u003e\u003ccode\u003e4954e08\u003c/code\u003e\u003c/a\u003e Bump tmp from 0.2.4 to 0.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/54dce879966ddfa8b4c2d2b7f67d2019f0b02096\"\u003e\u003ccode\u003e54dce87\u003c/code\u003e\u003c/a\u003e Bump qs from 6.14.2 to 6.15.2 (\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1277\"\u003e#1277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/86fc2d6153161663acbe0c7a059dea8291e2ce7c\"\u003e\u003ccode\u003e86fc2d6\u003c/code\u003e\u003c/a\u003e Bump uuid and \u003ccode\u003e@​azure/msal-node\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1276\"\u003e#1276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/4699582ee0950c9c614aa54888811aa108c1ab1a\"\u003e\u003ccode\u003e4699582\u003c/code\u003e\u003c/a\u003e Run npm audit fix and update lockfile (\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1274\"\u003e#1274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/e003a0aec0e116b1b500ab3585535613c8f65a32\"\u003e\u003ccode\u003ee003a0a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1272\"\u003e#1272\u003c/a\u003e from microsoft/dependabot/npm_and_yarn/fast-uri-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/74ab7a9049c9881e74cbc9966c83f90743434cd6\"\u003e\u003ccode\u003e74ab7a9\u003c/code\u003e\u003c/a\u003e Bump fast-uri from 3.0.6 to 3.1.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Microsoft/vsce/compare/v3.9.1...v3.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `c8` from 10.1.3 to 11.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcoe/c8/releases\"\u003ec8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.0.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/bcoe/c8/compare/v10.1.3...v11.0.0\"\u003e11.0.0\u003c/a\u003e (2026-02-22)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e transitive deps require 20 || \u0026gt;=22\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e pull newer minimatch addressing CVE-2026-26996 (\u003ca href=\"https://redirect.github.com/bcoe/c8/issues/576\"\u003e#576\u003c/a\u003e) (\u003ca href=\"https://github.com/bcoe/c8/commit/678eeca3310a5bb260c4cf5d5fe7cec4f7f20726\"\u003e678eeca\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/bcoe/c8/blob/main/CHANGELOG.md\"\u003ec8's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/bcoe/c8/compare/v10.1.3...v11.0.0\"\u003e11.0.0\u003c/a\u003e (2026-02-22)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e transitive deps require 20 || \u0026gt;=22\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e pull newer minimatch addressing CVE-2026-26996 (\u003ca href=\"https://redirect.github.com/bcoe/c8/issues/576\"\u003e#576\u003c/a\u003e) (\u003ca href=\"https://github.com/bcoe/c8/commit/678eeca3310a5bb260c4cf5d5fe7cec4f7f20726\"\u003e678eeca\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/bcoe/c8/commit/ce78df45a7db7d59f7e656e79b03b8323e20e606\"\u003e\u003ccode\u003ece78df4\u003c/code\u003e\u003c/a\u003e chore(main): release 11.0.0 (\u003ca href=\"https://redirect.github.com/bcoe/c8/issues/577\"\u003e#577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcoe/c8/commit/678eeca3310a5bb260c4cf5d5fe7cec4f7f20726\"\u003e\u003ccode\u003e678eeca\u003c/code\u003e\u003c/a\u003e fix(deps)!: pull newer minimatch addressing CVE-2026-26996 (\u003ca href=\"https://redirect.github.com/bcoe/c8/issues/576\"\u003e#576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcoe/c8/commit/ec4c5e4bb172f90f06b7a84ba42d6c89b145a8cc\"\u003e\u003ccode\u003eec4c5e4\u003c/code\u003e\u003c/a\u003e chore: .editorconfig to avoid unintended mods to .snap files (\u003ca href=\"https://redirect.github.com/bcoe/c8/issues/556\"\u003e#556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bcoe/c8/compare/v10.1.3...v11.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 9.39.4 to 10.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e) (Minh Vu)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c5bc78b37e08b9054a11f0cc2d81808bb24acb85\"\u003e\u003ccode\u003ec5bc78b\u003c/code\u003e\u003c/a\u003e fix: false positive for reference in \u003ccode\u003efinally\u003c/code\u003e block (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20655\"\u003e#20655\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/27538c01f5df4e9306f6f4ba867b2dd6307fae59\"\u003e\u003ccode\u003e27538c0\u003c/code\u003e\u003c/a\u003e fix: add missing CodePath and CodePathSegment types (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20853\"\u003e#20853\u003c/a\u003e) (Pixel998)\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/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/305d5b91aeac24d36fde42f75625a8f183d4ce43\"\u003e\u003ccode\u003e305d5b9\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rules from related rules section (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20911\"\u003e#20911\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c\"\u003e\u003ccode\u003e49b0202\u003c/code\u003e\u003c/a\u003e docs: fix \u003ccode\u003edisplay: none\u003c/code\u003e of ad (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20901\"\u003e#20901\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9067f9492ec998afc5b4f057a477ecf6ebd45e44\"\u003e\u003ccode\u003e9067f94\u003c/code\u003e\u003c/a\u003e docs: switch build to Node.js 24 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20893\"\u003e#20893\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c91b0417e3420c76807ce1fa2aea76e2de87ab86\"\u003e\u003ccode\u003ec91b041\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/e349265cb37f3ebc837e178e48a725bb782bd870\"\u003e\u003ccode\u003ee349265\u003c/code\u003e\u003c/a\u003e docs: clarify semver strings in rule deprecation objects (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20885\"\u003e#20885\u003c/a\u003e) (Milos Djermanovic)\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/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20922\"\u003e#20922\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e) (Arpit Jain)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b\"\u003e\u003ccode\u003e64bca24\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20912\"\u003e#20912\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56\"\u003e\u003ccode\u003e6d7c832\u003c/code\u003e\u003c/a\u003e chore: ignore fflate updates in renovate (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20908\"\u003e#20908\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b2c86382164d87c6203b78d52068cd6a2a6ffe30\"\u003e\u003ccode\u003eb2c8638\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.7 to 6.0.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20889\"\u003e#20889\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a9b8d7f74c50211701cfc49710fa541fd91b2aa5\"\u003e\u003ccode\u003ea9b8d7f\u003c/code\u003e\u003c/a\u003e chore: increase maxBuffer for ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20881\"\u003e#20881\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b702ead5e1ed7cb9f28238a454797662efb37396\"\u003e\u003ccode\u003eb702ead\u003c/code\u003e\u003c/a\u003e chore: update ecosystem update PR settings (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20884\"\u003e#20884\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/507f60e9a78c9a902bc8759f066ae17a1ea6cd81\"\u003e\u003ccode\u003e507f60e\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20882\"\u003e#20882\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92f5c5bb6bf3a5d167c8ee53a430833410295c6d\"\u003e\u003ccode\u003e92f5c5b\u003c/code\u003e\u003c/a\u003e test: add unit test for message-count (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20878\"\u003e#20878\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/df321080af5758b1fa25e4b9a40e26135642dd6e\"\u003e\u003ccode\u003edf32108\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003e@​eslint/markdown\u003c/code\u003e and typescript-eslint ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20837\"\u003e#20837\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/327f91d36aa49f2a50ded931d841a16374fd875f\"\u003e\u003ccode\u003e327f91d\u003c/code\u003e\u003c/a\u003e chore: use includeIgnoreFile internally (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20876\"\u003e#20876\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f0dc4bd893fb3a9f44e4ddc3ad7063ffb0beacd3\"\u003e\u003ccode\u003ef0dc4bd\u003c/code\u003e\u003c/a\u003e chore: pin fflate@0.8.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20877\"\u003e#20877\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0f4bd257a67a082b756de746d9e0c4842ab764ca\"\u003e\u003ccode\u003e0f4bd25\u003c/code\u003e\u003c/a\u003e ci: run Discord alert for ecosystem test failures (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20873\"\u003e#20873\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.4.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf\"\u003e\u003ccode\u003e1a45ec5\u003c/code\u003e\u003c/a\u003e feat: check sequence expressions in \u003ccode\u003efor-direction\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20701\"\u003e#20701\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b\"\u003e\u003ccode\u003e450040b\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to \u003ccode\u003eeslint/config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20735\"\u003e#20735\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c\"\u003e\u003ccode\u003e6799431\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-helpers\u003c/code\u003e to ^0.6.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20850\"\u003e#20850\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd\"\u003e\u003ccode\u003ef078fef\u003c/code\u003e\u003c/a\u003e fix: handle non-array deprecated rule replacements (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20825\"\u003e#20825\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f\"\u003e\u003ccode\u003e9cc7387\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5\"\u003e\u003ccode\u003e3d7b548\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb\"\u003e\u003ccode\u003e191ec3c\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/4a3d15a99c452c4db2fd56b577fa7597e98ab0c2\"\u003e\u003ccode\u003e4a3d15a\u003c/code\u003e\u003c/a\u003e 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43e7e2bdc5c6cacc535446b7d23c10f780384ba8\"\u003e\u003ccode\u003e43e7e2b\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20\"\u003e#20\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v9.39.4...v10.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-config-prettier` from 9.1.2 to 10.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/eslint-config-prettier/releases\"\u003eeslint-config-prettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.1.8\u003c/h2\u003e\n\u003cp\u003erepublish latest version\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prettier/eslint-config-prettier/compare/v10.1.5...v10.1.8\"\u003ehttps://github.com/prettier/eslint-config-prettier/compare/v10.1.5...v10.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev10.1.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/332\"\u003e#332\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/60fef02574467d31d10ff47ecb567d378483c9d4\"\u003e\u003ccode\u003e60fef02\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: add \u003ccode\u003efunding\u003c/code\u003e field into \u003ccode\u003epackage.json\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prettier/eslint-config-prettier/compare/v10.1.4...v10.1.5\"\u003ehttps://github.com/prettier/eslint-config-prettier/compare/v10.1.4...v10.1.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev10.1.4\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/328\"\u003e#328\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/94b47999e7eb13b703835729331376cef598b850\"\u003e\u003ccode\u003e94b4799\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/silvenon\"\u003e\u003ccode\u003e@​silvenon\u003c/code\u003e\u003c/a\u003e! - fix(cli): do not crash on no rules configured\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prettier/eslint-config-prettier/compare/v10.1.3...v10.1.4\"\u003ehttps://github.com/prettier/eslint-config-prettier/compare/v10.1.3...v10.1.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev10.1.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/325\"\u003e#325\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/4e95a1d50073f1a24f004239ad6e1a4ffa8476df\"\u003e\u003ccode\u003e4e95a1d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/pilikan\"\u003e\u003ccode\u003e@​pilikan\u003c/code\u003e\u003c/a\u003e! - fix: this package is \u003ccode\u003ecommonjs\u003c/code\u003e, align its types correctly\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pilikan\"\u003e\u003ccode\u003e@​pilikan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/325\"\u003eprettier/eslint-config-prettier#325\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prettier/eslint-config-prettier/compare/v10.1.2...v10.1.3\"\u003ehttps://github.com/prettier/eslint-config-prettier/compare/v10.1.2...v10.1.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev10.1.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/321\"\u003e#321\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/a8768bfe54a91d08f0cef8705f91de2883436bb0\"\u003e\u003ccode\u003ea8768bf\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e! - chore(package): add homepage for some 3rd-party registry - see \u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/321\"\u003e#321\u003c/a\u003e for more details\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.1.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/prettier/eslint-config-prettier/pull/309\"\u003e#309\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/eb56a5e09964e49045bccde3c616275eb0a0902d\"\u003e\u003ccode\u003eeb56a5e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - fix: separate the \u003ccode\u003e/flat\u003c/code\u003e entry for compatibility\u003c/p\u003e\n\u003cp\u003eFor flat config users, the previous \u003ccode\u003e\u0026quot;eslint-config-prettier\u0026quot;\u003c/code\u003e entry still works, but \u003ccode\u003e\u0026quot;eslint-config-prettier/flat\u0026quot;\u003c/code\u003e adds a new \u003ccode\u003ename\u003c/code\u003e property for \u003ca href=\"https://eslint.org/blog/2024/04/eslint-config-inspector/\"\u003econfig-inspector\u003c/a\u003e, we just can't add it for the default entry for compatibility.\u003c/p\u003e\n\u003cp\u003eSee also \u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/issues/308\"\u003eprettier/eslint-config-prettier#308\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003e// before\nimport eslintConfigPrettier from \u0026quot;eslint-config-prettier\u0026quot;;\n\u003cp\u003e// after\u003cbr /\u003e\nimport eslintConfigPrettier from \u0026quot;eslint-config-prettier/flat\u0026quot;;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md\"\u003eeslint-config-prettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eeslint-config-prettier\u003c/h1\u003e\n\u003ch2\u003e10.1.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/332\"\u003e#332\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/60fef02574467d31d10ff47ecb567d378483c9d4\"\u003e\u003ccode\u003e60fef02\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: add \u003ccode\u003efunding\u003c/code\u003e field into \u003ccode\u003epackage.json\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.1.4\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/328\"\u003e#328\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/94b47999e7eb13b703835729331376cef598b850\"\u003e\u003ccode\u003e94b4799\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/silvenon\"\u003e\u003ccode\u003e@​silvenon\u003c/code\u003e\u003c/a\u003e! - fix(cli): do not crash on no rules configured\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.1.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/325\"\u003e#325\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/4e95a1d50073f1a24f004239ad6e1a4ffa8476df\"\u003e\u003ccode\u003e4e95a1d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/pilikan\"\u003e\u003ccode\u003e@​pilikan\u003c/code\u003e\u003c/a\u003e! - fix: this package is \u003ccode\u003ecommonjs\u003c/code\u003e, align its types correctly\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.1.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/321\"\u003e#321\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/a8768bfe54a91d08f0cef8705f91de2883436bb0\"\u003e\u003ccode\u003ea8768bf\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e! - chore(package): add homepage for some 3rd-party registry - see \u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/321\"\u003e#321\u003c/a\u003e for more details\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.1.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/prettier/eslint-config-prettier/pull/309\"\u003e#309\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/eb56a5e09964e49045bccde3c616275eb0a0902d\"\u003e\u003ccode\u003eeb56a5e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - fix: separate the \u003ccode\u003e/flat\u003c/code\u003e entry for compatibility\u003c/p\u003e\n\u003cp\u003eFor flat config users, the previous \u003ccode\u003e\u0026quot;eslint-config-prettier\u0026quot;\u003c/code\u003e entry still works, but \u003ccode\u003e\u0026quot;eslint-config-prettier/flat\u0026quot;\u003c/code\u003e adds a new \u003ccode\u003ename\u003c/code\u003e property for \u003ca href=\"https://eslint.org/blog/2024/04/eslint-config-inspector/\"\u003econfig-inspector\u003c/a\u003e, we just can't add it for the default entry for compatibility.\u003c/p\u003e\n\u003cp\u003eSee also \u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/issues/308\"\u003eprettier/eslint-config-prettier#308\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003e// before\nimport eslintConfigPrettier from \u0026quot;eslint-config-prettier\u0026quot;;\n\u003cp\u003e// after\u003cbr /\u003e\nimport eslintConfigPrettier from \u0026quot;eslint-config-prettier/flat\u0026quot;;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.1.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/306\"\u003e#306\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/56e2e3466391d0fdfc200e42130309c687aaab53\"\u003e\u003ccode\u003e56e2e34\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - feat: migrate to exports field\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/prettier/eslint-config-prettier/commits/v10.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mocha` from 11.7.5 to 11.7.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mochajs/mocha/releases\"\u003emocha's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.7.6\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mochajs/mocha/compare/v11.7.5...v11.7.6\"\u003e11.7.6\u003c/a\u003e (2026-02-14)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emake \u003ccode\u003edescribe().timeout()\u003c/code\u003e work (\u003ca href=\"https://github.com/mochajs/mocha/commit/aafe6fd8c8f0a897c35cfb228aa8ecf43805b697\"\u003eaafe6fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etest:\u003c/strong\u003e replace \u003ccode\u003ewmic\u003c/code\u003e usage with native Windows API (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5694\"\u003e#5694\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/73ebdfadb95198704ca57ec8087d97f7f3a7a37a\"\u003e73ebdfa\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eformat all code (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5629\"\u003e#5629\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/0696784dd2d7f9b11471acd5854603fa57fe6fab\"\u003e0696784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove Netlify (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5630\"\u003e#5630\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/8d01d335becbcb12439328be90ce75351418d787\"\u003e8d01d33\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/mochajs/mocha/blob/v11.7.6/CHANGELOG.md\"\u003emocha's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mochajs/mocha/compare/v11.7.5...v11.7.6\"\u003e11.7.6\u003c/a\u003e (2026-02-14)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emake \u003ccode\u003edescribe().timeout()\u003c/code\u003e work (\u003ca href=\"https://github.com/mochajs/mocha/commit/aafe6fd8c8f0a897c35cfb228aa8ecf43805b697\"\u003eaafe6fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etest:\u003c/strong\u003e replace \u003ccode\u003ewmic\u003c/code\u003e usage with native Windows API (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5694\"\u003e#5694\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/73ebdfadb95198704ca57ec8087d97f7f3a7a37a\"\u003e73ebdfa\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eformat all code (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5629\"\u003e#5629\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/0696784dd2d7f9b11471acd5854603fa57fe6fab\"\u003e0696784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove Netlify (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5630\"\u003e#5630\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/8d01d335becbcb12439328be90ce75351418d787\"\u003e8d01d33\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/mochajs/mocha/commit/3765ba0d9bd9e8918405b681991b982d3f8d4d7e\"\u003e\u003ccode\u003e3765ba0\u003c/code\u003e\u003c/a\u003e chore(v11.x): release 11.7.6 (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5632\"\u003e#5632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mochajs/mocha/commit/73ebdfadb95198704ca57ec8087d97f7f3a7a37a\"\u003e\u003ccode\u003e73ebdfa\u003c/code\u003e\u003c/a\u003e fix(test): replace \u003ccode\u003ewmic\u003c/code\u003e usage with native Windows API (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5694\"\u003e#5694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mochajs/mocha/commit/aafe6fd8c8f0a897c35cfb228aa8ecf43805b697\"\u003e\u003ccode\u003eaafe6fd\u003c/code\u003e\u003c/a\u003e fix: make \u003ccode\u003edescribe().timeout()\u003c/code\u003e work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mochajs/mocha/commit/0696784dd2d7f9b11471acd5854603fa57fe6fab\"\u003e\u003ccode\u003e0696784\u003c/code\u003e\u003c/a\u003e chore: format all code (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5629\"\u003e#5629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mochajs/mocha/commit/8d01d335becbcb12439328be90ce75351418d787\"\u003e\u003ccode\u003e8d01d33\u003c/code\u003e\u003c/a\u003e chore: remove Netlify (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5630\"\u003e#5630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mochajs/mocha/compare/v11.7.5...v11.7.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 19.0.5 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v19.0.5...v22.0.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/GJYNBB/cursor-ime-hud/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/GJYNBB%2Fcursor-ime-hud/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"},{"uuid":"4609472760","node_id":"PR_kwDOPiz4t87jug9Y","number":29,"state":"open","title":"build(deps-dev): bump sinon from 21.0.1 to 22.0.0 in /vscode","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-06-08T01:52:15.000Z","updated_at":"2026-06-08T01:52:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"sinon","old_version":"21.0.1","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"}],"path":"/vscode","ecosystem":"npm"},"body":"Bumps [sinon](https://github.com/sinonjs/sinon) from 21.0.1 to 22.0.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.0.1...v22.0.0\"\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=sinon\u0026package-manager=npm_and_yarn\u0026previous-version=21.0.1\u0026new-version=22.0.0)](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/tabrezahmed51/microsoft_kiota_sdk_opensource_0118/pull/29","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tabrezahmed51%2Fmicrosoft_kiota_sdk_opensource_0118/issues/29","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/29/packages"},{"uuid":"4600787369","node_id":"PR_kwDOSRkiy87jTHkk","number":30,"state":"closed","title":"Bump the dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-12T23:14:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-05T23:15:15.000Z","updated_at":"2026-06-12T23:14:51.000Z","time_to_close":604775,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":12,"packages":[{"name":"@opentelemetry/exporter-prometheus","old_version":"0.215.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"ioredis","old_version":"5.10.1","new_version":"5.11.1","repository_url":"https://github.com/luin/ioredis"},{"name":"js-yaml","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"qs","old_version":"6.15.1","new_version":"6.15.2","repository_url":"https://github.com/ljharb/qs"},{"name":"sql-formatter","old_version":"15.7.3","new_version":"15.8.1","repository_url":"https://github.com/sql-formatter-org/sql-formatter"},{"name":"@bufbuild/buf","old_version":"1.68.4","new_version":"1.70.0","repository_url":"https://github.com/bufbuild/buf"},{"name":"@testcontainers/postgresql","old_version":"11.14.0","new_version":"12.0.1","repository_url":"https://github.com/testcontainers/testcontainers-node"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"tar","old_version":"7.5.13","new_version":"7.5.16","repository_url":"https://github.com/isaacs/node-tar"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 11 updates in the /rest directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@opentelemetry/exporter-prometheus](https://github.com/open-telemetry/opentelemetry-js) | `0.215.0` | `0.218.0` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.1` | `5.11.1` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `4.1.1` | `4.2.0` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [qs](https://github.com/ljharb/qs) | `6.15.1` | `6.15.2` |\n| [sql-formatter](https://github.com/sql-formatter-org/sql-formatter) | `15.7.3` | `15.8.1` |\n| [@bufbuild/buf](https://github.com/bufbuild/buf) | `1.68.4` | `1.70.0` |\n| [@testcontainers/postgresql](https://github.com/testcontainers/testcontainers-node) | `11.14.0` | `12.0.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |\n| [tar](https://github.com/isaacs/node-tar) | `7.5.13` | `7.5.16` |\n\n\nUpdates `@opentelemetry/exporter-prometheus` from 0.215.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/exporter-prometheus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.215.0...experimental/v0.218.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/sdk-metrics` from 2.7.0 to 2.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-metrics's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.7.1\u003c/h2\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(sdk-metrics): reduce loop overhead in sdk hot paths \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6593\"\u003e#6593\u003c/a\u003e \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md\"\u003e@​opentelemetry/sdk-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: test Node.js 26 in CI \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6671\"\u003e#6671\u003c/a\u003e \u003ca href=\"https://github.com/cjihrig\"\u003e\u003ccode\u003e@​cjihrig\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7\"\u003e\u003ccode\u003e2400d83\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6647\"\u003e#6647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f7a9b7cc854232ebf7dea2d3ec0d6adc49128f53\"\u003e\u003ccode\u003ef7a9b7c\u003c/code\u003e\u003c/a\u003e fix(otlp-transformer): pin protobufjs to 8.0.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6646\"\u003e#6646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/cb38d7f833781c336c990757f773ce9c8360434a\"\u003e\u003ccode\u003ecb38d7f\u003c/code\u003e\u003c/a\u003e test(otlp-transformer): add metrics transfrom benchmark (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6628\"\u003e#6628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a28f12fef5fbdfb3b77a1334175b752883ef708a\"\u003e\u003ccode\u003ea28f12f\u003c/code\u003e\u003c/a\u003e fix(opentelemetry-core): defer tracestate vaidation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6459\"\u003e#6459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b27c5146ac21deb3fb1e8fca370d34f1828f3cc6\"\u003e\u003ccode\u003eb27c514\u003c/code\u003e\u003c/a\u003e refactor(opentelemetry-exporter-prometheus): do not call `enforcePrometheusNa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a2a8186e65a04dfdaf442927fbab268076cd4f5a\"\u003e\u003ccode\u003ea2a8186\u003c/code\u003e\u003c/a\u003e perf(sdk-trace-base): optimize TraceIdRatioBasedSampler hex parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6284\"\u003e#6284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/4c0f3f1b911c4740a085b6c66d267bb74826b475\"\u003e\u003ccode\u003e4c0f3f1\u003c/code\u003e\u003c/a\u003e feat(sdk-node): set TracerProvider in startNodeSDK() (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6607\"\u003e#6607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/417f2f17e4234417b34dbf7bdf8e24c330259dd2\"\u003e\u003ccode\u003e417f2f1\u003c/code\u003e\u003c/a\u003e fix(instr-xhr): do not unpatch XHR methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6611\"\u003e#6611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/47ac523b124be222ac89160e4623e8a60c960f35\"\u003e\u003ccode\u003e47ac523\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: allow browser maintainers to approve changelog edits\u0026quot; (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6627\"\u003e#6627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/86c621d5b8344f1ecdc13a9841a90604912d0055\"\u003e\u003ccode\u003e86c621d\u003c/code\u003e\u003c/a\u003e fix(instrumentation-fetch): tolerate non-writable globalThis.fetch and fix pr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/v2.7.0...v2.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ioredis` from 5.10.1 to 5.11.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/luin/ioredis/releases\"\u003eioredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.11.0...v5.11.1\"\u003e5.11.1\u003c/a\u003e (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecluster:\u003c/strong\u003e reconnect to nodes that restart without slot changes (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2096\"\u003e#2096\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/c84b2ee97fd7b25d8f6ef8b509c228a602f47cca\"\u003ec84b2ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse protocol-relative Redis URLs as TCP connections (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2125\"\u003e#2125\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/131ee24173380b986e62ecc428ddde82be12bc40\"\u003e131ee24\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.11.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/blob/main/CHANGELOG.md\"\u003eioredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.11.0...v5.11.1\"\u003e5.11.1\u003c/a\u003e (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecluster:\u003c/strong\u003e reconnect to nodes that restart without slot changes (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2096\"\u003e#2096\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/c84b2ee97fd7b25d8f6ef8b509c228a602f47cca\"\u003ec84b2ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse protocol-relative Redis URLs as TCP connections (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2125\"\u003e#2125\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/131ee24173380b986e62ecc428ddde82be12bc40\"\u003e131ee24\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/commit/fb224a7609b6d25959e06e31fdab2460d1f75691\"\u003e\u003ccode\u003efb224a7\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/131ee24173380b986e62ecc428ddde82be12bc40\"\u003e\u003ccode\u003e131ee24\u003c/code\u003e\u003c/a\u003e fix: parse protocol-relative Redis URLs as TCP connections (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/c84b2ee97fd7b25d8f6ef8b509c228a602f47cca\"\u003e\u003ccode\u003ec84b2ee\u003c/code\u003e\u003c/a\u003e fix(cluster): reconnect to nodes that restart without slot changes (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2096\"\u003e#2096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/14904327fc212d1f592172d776ebe45178fb7ee7\"\u003e\u003ccode\u003e1490432\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/5359d4d090c17f2ca1e86d92b139cd935ba4643d\"\u003e\u003ccode\u003e5359d4d\u003c/code\u003e\u003c/a\u003e refactor(utils): inline defaults and isArguments helpers (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003e\u003ccode\u003eb7b3def\u003c/code\u003e\u003c/a\u003e feat: add vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/faa53fdfae7f605c19bd74564639640f9d30d404\"\u003e\u003ccode\u003efaa53fd\u003c/code\u003e\u003c/a\u003e ci: update Node.js and Redis test matrix (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e\u003ccode\u003e37d0695\u003c/code\u003e\u003c/a\u003e feat: add increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/612ee9dfe96c1df942eaa415ca94881077191b5c\"\u003e\u003ccode\u003e612ee9d\u003c/code\u003e\u003c/a\u003e chore: update Redis 8.8 test image to custom (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003e\u003ccode\u003ebaf68d6\u003c/code\u003e\u003c/a\u003e feat: add array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `js-yaml` from 4.1.1 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md\"\u003ejs-yaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.0] - 2026-06-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003edocs/safety.md\u003c/code\u003e with notes about processing untrusted YAML.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxDepth\u003c/code\u003e (100) loader option. Not a problem, but gives a better\nexception instead of RangeError on stack overflow.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxMergeSeqLength\u003c/code\u003e (20) loader option. Not a problem after \u003ccode\u003emerge\u003c/code\u003e fix,\nbut an additional restriction for safety.\u003c/li\u003e\n\u003cli\u003eAdded sourcemaps to \u003ccode\u003edist/\u003c/code\u003e builds.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop resolving numbers with underscores as numeric scalars, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/627\"\u003e#627\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSwitched dev toolchains to Vite / neostandard.\u003c/li\u003e\n\u003cli\u003eUpdated demo.\u003c/li\u003e\n\u003cli\u003eReorganized tests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edist/\u003c/code\u003e files are no longer kept in the repository.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parsing of properties on the first implicit block mapping key, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/62\"\u003e#62\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix trailing whitespace handling when folding flow scalar lines, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReject top-level block scalars without content indentation, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/280\"\u003e#280\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnsure numbers survive round-trip, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/737\"\u003e#737\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix test coverage for issue \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/221\"\u003e#221\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix flow scalar trailing whitespace folding, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix digits in YAML named tag handles.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix potential DoS via quadratic complexity in merge - deduplicate repeated\nelements (makes sense for malformed files \u0026gt; 10K).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.14.2] - 2025-11-15\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackported v4.1.1 fix to v3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nodeca/js-yaml/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 8.20.0 to 8.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epg@8.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3521\"\u003eSASL SCRAM\u003c/a\u003e server error responses properly.\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3667\"\u003enode@26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escramMaxIterations\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3677\"\u003econfig option\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eclient.getTransactionStatus()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3645\"\u003emethod\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/brianc/node-postgres/commit/544b1ce8152bc280e398dc1e8a66920abe6a640e\"\u003e\u003ccode\u003e544b1ce\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/cc03fa5cdf0f1e67b2518ebad5cf2269206aa49c\"\u003e\u003ccode\u003ecc03fa5\u003c/code\u003e\u003c/a\u003e Add scramMaxIterations option to limit SCRAM iteration count (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f776327b3fcdd997c67e866ef7c620ef9c26b3f2\"\u003e\u003ccode\u003ef776327\u003c/code\u003e\u003c/a\u003e Remove compatibility code for unsupported versions of Node (\u0026lt;16) (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3678\"\u003e#3678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f252870eba73c15449b57562e6698b5859e32095\"\u003e\u003ccode\u003ef252870\u003c/code\u003e\u003c/a\u003e cleanup: pg utils (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/c8da6ab9326d93005e6947217cf665f707e08ec7\"\u003e\u003ccode\u003ec8da6ab\u003c/code\u003e\u003c/a\u003e Assorted test cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/fa47e73349786c2a76db98801d60c05371b0a906\"\u003e\u003ccode\u003efa47e73\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eClient#end\u003c/code\u003e callback being called multiple times when first is no-op (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/88a7e60c7191ce8061d6276b299895bf5511e042\"\u003e\u003ccode\u003e88a7e60\u003c/code\u003e\u003c/a\u003e cleanup: Move declaration to more natural place\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/2095247a7b10ebe19cd7d518e07ee2f259dda70a\"\u003e\u003ccode\u003e2095247\u003c/code\u003e\u003c/a\u003e cleanup: Combine duplicated code in \u003ccode\u003eClient#query\u003c/code\u003e and avoid unneeded early n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/0ac3eddef6481f4e4f9359c65d3c0cfd7d2124e1\"\u003e\u003ccode\u003e0ac3edd\u003c/code\u003e\u003c/a\u003e fix: apply SASLprep (RFC 4013) to passwords before SCRAM-SHA-256 PBKDF2 (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/be880d45552269f0b847a3e568014bde6536eae3\"\u003e\u003ccode\u003ebe880d4\u003c/code\u003e\u003c/a\u003e Assorted test fixes and cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `qs` from 6.15.1 to 6.15.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ljharb/qs/blob/main/CHANGELOG.md\"\u003eqs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003cstrong\u003e6.15.2\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + \u003ccode\u003eencodeValuesOnly\u003c/code\u003e instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[readme] fix grammar (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Tests] add regression tests for keys containing percent-encoded bracket text\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/ljharb/qs/commit/9aca4076fe788338c67cf7e115f0be6bc58d85a8\"\u003e\u003ccode\u003e9aca407\u003c/code\u003e\u003c/a\u003e v6.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/5e33d33447ed0bf1ddab9abc41d27dea4687d992\"\u003e\u003ccode\u003e5e33d33\u003c/code\u003e\u003c/a\u003e [Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/21f80b33e5c8b3f7eba1034fff0da4a4a37a1d41\"\u003e\u003ccode\u003e21f80b3\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + `e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a0a81ea2071acce3eff41a040f719ac8f5c4f64c\"\u003e\u003ccode\u003ea0a81ea\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/e3062f78f5233b338ceeb8e8dfa5a07dea4b32a8\"\u003e\u003ccode\u003ee3062f7\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/0c180a40adb8c6703fffc85b2ff06ca209f5c1e0\"\u003e\u003ccode\u003e0c180a4\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/3a8b94aec19bd664720f6f6b1e66c4a0dfe4b656\"\u003e\u003ccode\u003e3a8b94a\u003c/code\u003e\u003c/a\u003e [Tests] add regression tests for keys containing percent-encoded bracket text\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/96755abd357c0e534dd3442a84a04d08864bfe0d\"\u003e\u003ccode\u003e96755ab\u003c/code\u003e\u003c/a\u003e [readme] fix grammar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a419ce5bbfcdb98a299f1a0bb47ea055baef20e6\"\u003e\u003ccode\u003ea419ce5\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ljharb/qs/compare/v6.15.1...v6.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sql-formatter` from 15.7.3 to 15.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/releases\"\u003esql-formatter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e15.8.1\u003c/h2\u003e\n\u003cp\u003eFix block-comment placement idempotency issue (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/952\"\u003e#952\u003c/a\u003e) Thanks to \u003ca href=\"https://github.com/sarathfrancis90\"\u003e\u003ccode\u003e@​sarathfrancis90\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e15.8.0\u003c/h2\u003e\n\u003ch3\u003ePostgreSQL formatting\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for PostgreSQL keywords in \u003ccode\u003eCREATE CONSTRAINT TRIGGER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/948\"\u003e#948\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/karlhorky\"\u003e\u003ccode\u003e@​karlhorky\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch from yarn to pnpm (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.4...v15.8.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003e15.7.4\u003c/h2\u003e\n\u003ch3\u003eBugfix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Tcl-style $param(...) syntax in SQLite (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/944\"\u003e#944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/943\"\u003e#943\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\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/sql-formatter-org/sql-formatter/commit/f3707ba179fac6bee8489144cbd66ed7038530dd\"\u003e\u003ccode\u003ef3707ba\u003c/code\u003e\u003c/a\u003e Release 15.8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/b6f936d8c95455f0d181898c0193b4353261030a\"\u003e\u003ccode\u003eb6f936d\u003c/code\u003e\u003c/a\u003e Turn off verifyDepsBeforeRun\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/502224cdebc30288721f5a1f20c2400fbd46a775\"\u003e\u003ccode\u003e502224c\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-block-comment-idempotency'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/f9304a6ac14100930f3efd03f0e8f5e0829dd0a4\"\u003e\u003ccode\u003ef9304a6\u003c/code\u003e\u003c/a\u003e Add Sarath Francis to AUTHORS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/71c0835fbfd8fa68cb0a007f8c7a9f415bf81b1a\"\u003e\u003ccode\u003e71c0835\u003c/code\u003e\u003c/a\u003e Rewrite comment inside isStandaloneBlockComment()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/953f228c994b9dd30cb60dfe47e44a7ed07cf288\"\u003e\u003ccode\u003e953f228\u003c/code\u003e\u003c/a\u003e Reorganize idempotent comment tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/54d4cf2bbd6a42e3b2bd1563f9d6738aee65eefa\"\u003e\u003ccode\u003e54d4cf2\u003c/code\u003e\u003c/a\u003e test: cover block comments in more clause positions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/2b70a665025e1c6c4f1d310a540acb4b7b7616fe\"\u003e\u003ccode\u003e2b70a66\u003c/code\u003e\u003c/a\u003e fix: keep leading block comment of clause item on its own line\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/a3bfeeb4e96415efe4820a1b2c7ed592384aa0be\"\u003e\u003ccode\u003ea3bfeeb\u003c/code\u003e\u003c/a\u003e Release v15.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/a7f50d8a68f667b90cfd4e75b1fd683e67413a89\"\u003e\u003ccode\u003ea7f50d8\u003c/code\u003e\u003c/a\u003e Add tagName config to release-it\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.3...v15.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@bufbuild/buf` from 1.68.4 to 1.70.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bufbuild/buf/releases\"\u003e@​bufbuild/buf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.70.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e, \u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules and make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.69.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/blob/main/CHANGELOG.md\"\u003e@​bufbuild/buf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.70.0] - 2026-05-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e,\n\u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules\nand make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v1.69.0] - 2026-04-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/commit/4f657db175eb7418efef85b35db97472ff9df526\"\u003e\u003ccode\u003e4f657db\u003c/code\u003e\u003c/a\u003e Release v1.70.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4556\"\u003e#4556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/f278fa0989621eca516eb5a0a5b00b8ebe94b777\"\u003e\u003ccode\u003ef278fa0\u003c/code\u003e\u003c/a\u003e Bump buf.build/gen/go/bufbuild/registry/connectrpc/go from 1.19.2-20260507063...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/977b89ba82ca288850b6ba64602d6d201d331cd9\"\u003e\u003ccode\u003e977b89b\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4555\"\u003e#4555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/88dfb3409802d618d1fe4f8b6beef84b06df0ea3\"\u003e\u003ccode\u003e88dfb34\u003c/code\u003e\u003c/a\u003e Lint MessageRules.oneof in PROTOVALIDATE check (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4540\"\u003e#4540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/e96239e0572348b8f9d6ee8345b97713aa8e46f6\"\u003e\u003ccode\u003ee96239e\u003c/code\u003e\u003c/a\u003e Filter out GIT_WORK_TREE from cloner environment variables (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d0e7d39ca13bbacc73a3e82d1073fb1fe71a4e3e\"\u003e\u003ccode\u003ed0e7d39\u003c/code\u003e\u003c/a\u003e Add env override test cases to git package (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/37478176d82c2a099f0b4c85b86e40d01c857531\"\u003e\u003ccode\u003e3747817\u003c/code\u003e\u003c/a\u003e Bump actions/create-github-app-token from 3.1.1 to 3.2.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4544\"\u003e#4544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/9eddb9cdeb75daab3c3b699060ae1a38ed199961\"\u003e\u003ccode\u003e9eddb9c\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d46006023cfbff8bd7571a8c8b908455865005b2\"\u003e\u003ccode\u003ed460060\u003c/code\u003e\u003c/a\u003e Update README.md (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/2dae4779331f5d24244176ce168758fcc25b84e7\"\u003e\u003ccode\u003e2dae477\u003c/code\u003e\u003c/a\u003e Fix LSP documentSymbol marking every symbol as deprecated (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4531\"\u003e#4531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bufbuild/buf/compare/v1.68.4...v1.70.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@testcontainers/postgresql` from 11.14.0 to 12.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-node/releases\"\u003e@​testcontainers/postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.0.1\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Podman image healthcheck detection \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd npm dependency release age cooldown \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse Docker Hub Redpanda image \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse preinstalled Podman in checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify affected package checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd npm publish dry run workflow \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade build agents from Ubuntu 22.04 to 24.04 \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove module compile checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1327\"\u003e#1327\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump tmp from 0.2.5 to 0.2.6 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 14 directories with 16 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group with 13 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 13 directories with 12 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 1 directory with 22 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.0\u003c/h2\u003e\n\u003ch2\u003e🚨 Breaking Changes\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eNode 20 is EOL. Minimum engine requirement is now \u003ccode\u003e\u0026gt;= 22.22\u003c/code\u003e, matching the constraints from our dependencies.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePreviously, when no wait strategy was configured, Testcontainers defaulted to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe new default wait strategy uses a Docker healthcheck when one is configured on the container image or service, falling back to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e when no healthcheck is available.\u003c/p\u003e\n\u003cp\u003eTo keep the previous behaviour, configure \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e explicitly:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { DockerComposeEnvironment, GenericContainer, Wait } from \u0026quot;testcontainers\u0026quot;;\r\n\u003cp\u003e// Container: opt back into the previous default of waiting for listening ports\nconst container = await new GenericContainer(\u0026quot;my-image:latest\u0026quot;)\n.withExposedPorts(8080)\n.withWaitStrategy(Wait.forListeningPorts())\n.start();\u003c/p\u003e\n\u003cp\u003e// Compose: apply the previous default to all services\nconst environment = await new DockerComposeEnvironment(composeFilePath, \u0026quot;docker-compose.yml\u0026quot;)\n.withDefaultWaitStrategy(Wait.forListeningPorts())\n.up();\u003c/p\u003e\n\u003cp\u003e// Compose: or apply it to a specific compose container\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/4d8de0cd81c26734b2c95b5fd717fa62ea0648eb\"\u003e\u003ccode\u003e4d8de0c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;v12.0.1\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/d2e4da4b820d5694b120739dad0c360c9e50c3b6\"\u003e\u003ccode\u003ed2e4da4\u003c/code\u003e\u003c/a\u003e v12.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/1077fd6bce442a08fdea707536290a1ae7a0de88\"\u003e\u003ccode\u003e1077fd6\u003c/code\u003e\u003c/a\u003e Revert default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1346\"\u003e#1346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/665feb4f42073eb7394435a84c6eff9f20d7a714\"\u003e\u003ccode\u003e665feb4\u003c/code\u003e\u003c/a\u003e Bump tmp from 0.2.5 to 0.2.6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cdb8366ad8c17692782a2073406209699eeeff73\"\u003e\u003ccode\u003ecdb8366\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 14 directories with 16 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/3148791de679c3208beb6c1a8f37eafe8abb6810\"\u003e\u003ccode\u003e3148791\u003c/code\u003e\u003c/a\u003e Add default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1340\"\u003e#1340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/34c581136a78d3b2098253c8ed86515617d76a52\"\u003e\u003ccode\u003e34c5811\u003c/code\u003e\u003c/a\u003e Add npm dependency release age cooldown (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/c584af1ca12b059c13ba9d76d3b73a2440dbae92\"\u003e\u003ccode\u003ec584af1\u003c/code\u003e\u003c/a\u003e Fix Podman image healthcheck detection (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cae5c26312c234df0001f2866e9d8e58002e54c7\"\u003e\u003ccode\u003ecae5c26\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 13 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/33e1dc109cc94ef9b4e0020b4a6fd9e8b8a354af\"\u003e\u003ccode\u003e33e1dc1\u003c/code\u003e\u003c/a\u003e Use Docker Hub Redpanda image (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-node/compare/v11.14.0...v12.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.3.0 to 30.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003ejest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev30.4.2\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.1\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.0\u003c/h2\u003e\n\u003cp\u003eBig release! 😀\u003c/p\u003e\n\u003cp\u003eMain feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work \u003ccode\u003erequire(esm)\u003c/code\u003e module is now supported on Node 24.9+ (still requires \u003ccode\u003e--experimental-vm-modules\u003c/code\u003e like before).\u003c/p\u003e\n\u003cp\u003eIn addition we now support fake timers for the recently released \u003ccode\u003eTemporal\u003c/code\u003e API in Node v26.\u003c/p\u003e\n\u003cp\u003eReact 19 is also supported properly in \u003ccode\u003epretty-format\u003c/code\u003e, meaning snapshots of React components now work like they should.\u003c/p\u003e\n\u003cp\u003eDue to all the changes, there might be regressions that snuck in. Please report them!\u003c/p\u003e\n\u003cp\u003eFull list of changes below\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\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/jestjs/jest/blob/main/CHANGELOG.md\"\u003ejest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.4.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[pretty-format]\u003c/code\u003e Support React 19 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16123\"\u003e#16123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect-utils]\u003c/code\u003e Fix \u003ccode\u003etoStrictEqual\u003c/code\u003e failing on \u003ccode\u003estructuredClone\u003c/code\u003e results due to cross-realm constructor mismatch (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15959\"\u003e#15959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Prevent \u003ccode\u003etoMatchObject\u003c/code\u003e/subset matching from throwing when encountering exotic iterables (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15952\"\u003e#15952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[fake-timers]\u003c/code\u003e Convert \u003ccode\u003eDate\u003c/code\u003e to milliseconds before passing to \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16029\"\u003e#16029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest]\u003c/code\u003e Export \u003ccode\u003eGlobalConfig\u003c/code\u003e and \u003ccode\u003eProjectConfig\u003c/code\u003e TypeScript types (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Prevent crash when \u003ccode\u003easyncError\u003c/code\u003e is undefined for non-Error throws (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16003\"\u003e#16003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Include \u003ccode\u003eError.cause\u003c/code\u003e in JSON \u003ccode\u003efailureMessages\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15967\"\u003e#15967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Fix preset path resolution on Windows when the preset uses subpath \u003ccode\u003eexports\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15961\"\u003e#15961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config without a validation warning (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Project config validator now emits \u0026quot;is not supported in an individual project configuration\u0026quot; instead of \u0026quot;probably a typing mistake\u0026quot; for known global-only options (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Fix \u003ccode\u003e--localstorage-file\u003c/code\u003e warning on Node 25+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16086\"\u003e#16086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16137\"\u003e#16137\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/jestjs/jest/commit/746f2a0f57c56e3bba555280f0587d40f3db95c0\"\u003e\u003ccode\u003e746f2a0\u003c/code\u003e\u003c/a\u003e v30.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/b3b4a09ed3005369dacc7466d1d2122797283785\"\u003e\u003ccode\u003eb3b4a09\u003c/code\u003e\u003c/a\u003e v30.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/5cbb21e0b3037edb42e503ec1a1ce80efad40c20\"\u003e\u003ccode\u003e5cbb21e\u003c/code\u003e\u003c/a\u003e v30.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/db7141a93cc85fab81cf9c25368e1f2b2c312286\"\u003e\u003ccode\u003edb7141a\u003c/code\u003e\u003c/a\u003e fix: allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.2/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://...\n\n_Description has been truncated_","html_url":"https://github.com/Ojekhile7-v1/hiero-mirror-node--027/pull/30","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ojekhile7-v1%2Fhiero-mirror-node--027/issues/30","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/30/packages"},{"uuid":"4585537124","node_id":"PR_kwDOIHm6ac7ig07I","number":2120,"state":"open","title":"chore(deps-dev): bump sinon in /src/lambda-alarm-notification","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":8,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T03:36:13.000Z","updated_at":"2026-06-18T09:03:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"}],"path":"/src/lambda-alarm-notification","ecosystem":"npm"},"body":"Bumps [sinon](https://github.com/sinonjs/sinon) in `/src/lambda-alarm-notification` from 21.1.2 to 22.0.0.\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 17.0.1 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.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/UKHSA-Internal/data-dashboard-infra/pull/2120","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/UKHSA-Internal%2Fdata-dashboard-infra/issues/2120","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2120/packages"},{"uuid":"4581234929","node_id":"PR_kwDOSOOt487iShJk","number":28,"state":"closed","title":"Bump the dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-15T23:07:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-03T15:24:25.000Z","updated_at":"2026-06-15T23:07:52.000Z","time_to_close":1064605,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":12,"packages":[{"name":"@opentelemetry/exporter-prometheus","old_version":"0.215.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"ioredis","old_version":"5.10.1","new_version":"5.11.0","repository_url":"https://github.com/luin/ioredis"},{"name":"js-yaml","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"qs","old_version":"6.15.1","new_version":"6.15.2","repository_url":"https://github.com/ljharb/qs"},{"name":"sql-formatter","old_version":"15.7.3","new_version":"15.8.0","repository_url":"https://github.com/sql-formatter-org/sql-formatter"},{"name":"@bufbuild/buf","old_version":"1.68.4","new_version":"1.70.0","repository_url":"https://github.com/bufbuild/buf"},{"name":"@testcontainers/postgresql","old_version":"11.14.0","new_version":"12.0.1","repository_url":"https://github.com/testcontainers/testcontainers-node"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"tar","old_version":"7.5.13","new_version":"7.5.16","repository_url":"https://github.com/isaacs/node-tar"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 11 updates in the /rest directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@opentelemetry/exporter-prometheus](https://github.com/open-telemetry/opentelemetry-js) | `0.215.0` | `0.218.0` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.1` | `5.11.0` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `4.1.1` | `4.2.0` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [qs](https://github.com/ljharb/qs) | `6.15.1` | `6.15.2` |\n| [sql-formatter](https://github.com/sql-formatter-org/sql-formatter) | `15.7.3` | `15.8.0` |\n| [@bufbuild/buf](https://github.com/bufbuild/buf) | `1.68.4` | `1.70.0` |\n| [@testcontainers/postgresql](https://github.com/testcontainers/testcontainers-node) | `11.14.0` | `12.0.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |\n| [tar](https://github.com/isaacs/node-tar) | `7.5.13` | `7.5.16` |\n\n\nUpdates `@opentelemetry/exporter-prometheus` from 0.215.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/exporter-prometheus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.215.0...experimental/v0.218.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/sdk-metrics` from 2.7.0 to 2.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-metrics's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.7.1\u003c/h2\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(sdk-metrics): reduce loop overhead in sdk hot paths \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6593\"\u003e#6593\u003c/a\u003e \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md\"\u003e@​opentelemetry/sdk-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: test Node.js 26 in CI \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6671\"\u003e#6671\u003c/a\u003e \u003ca href=\"https://github.com/cjihrig\"\u003e\u003ccode\u003e@​cjihrig\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7\"\u003e\u003ccode\u003e2400d83\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6647\"\u003e#6647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f7a9b7cc854232ebf7dea2d3ec0d6adc49128f53\"\u003e\u003ccode\u003ef7a9b7c\u003c/code\u003e\u003c/a\u003e fix(otlp-transformer): pin protobufjs to 8.0.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6646\"\u003e#6646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/cb38d7f833781c336c990757f773ce9c8360434a\"\u003e\u003ccode\u003ecb38d7f\u003c/code\u003e\u003c/a\u003e test(otlp-transformer): add metrics transfrom benchmark (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6628\"\u003e#6628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a28f12fef5fbdfb3b77a1334175b752883ef708a\"\u003e\u003ccode\u003ea28f12f\u003c/code\u003e\u003c/a\u003e fix(opentelemetry-core): defer tracestate vaidation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6459\"\u003e#6459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b27c5146ac21deb3fb1e8fca370d34f1828f3cc6\"\u003e\u003ccode\u003eb27c514\u003c/code\u003e\u003c/a\u003e refactor(opentelemetry-exporter-prometheus): do not call `enforcePrometheusNa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a2a8186e65a04dfdaf442927fbab268076cd4f5a\"\u003e\u003ccode\u003ea2a8186\u003c/code\u003e\u003c/a\u003e perf(sdk-trace-base): optimize TraceIdRatioBasedSampler hex parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6284\"\u003e#6284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/4c0f3f1b911c4740a085b6c66d267bb74826b475\"\u003e\u003ccode\u003e4c0f3f1\u003c/code\u003e\u003c/a\u003e feat(sdk-node): set TracerProvider in startNodeSDK() (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6607\"\u003e#6607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/417f2f17e4234417b34dbf7bdf8e24c330259dd2\"\u003e\u003ccode\u003e417f2f1\u003c/code\u003e\u003c/a\u003e fix(instr-xhr): do not unpatch XHR methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6611\"\u003e#6611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/47ac523b124be222ac89160e4623e8a60c960f35\"\u003e\u003ccode\u003e47ac523\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: allow browser maintainers to approve changelog edits\u0026quot; (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6627\"\u003e#6627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/86c621d5b8344f1ecdc13a9841a90604912d0055\"\u003e\u003ccode\u003e86c621d\u003c/code\u003e\u003c/a\u003e fix(instrumentation-fetch): tolerate non-writable globalThis.fetch and fix pr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/v2.7.0...v2.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ioredis` from 5.10.1 to 5.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/luin/ioredis/releases\"\u003eioredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/blob/main/CHANGELOG.md\"\u003eioredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/commit/14904327fc212d1f592172d776ebe45178fb7ee7\"\u003e\u003ccode\u003e1490432\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/5359d4d090c17f2ca1e86d92b139cd935ba4643d\"\u003e\u003ccode\u003e5359d4d\u003c/code\u003e\u003c/a\u003e refactor(utils): inline defaults and isArguments helpers (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003e\u003ccode\u003eb7b3def\u003c/code\u003e\u003c/a\u003e feat: add vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/faa53fdfae7f605c19bd74564639640f9d30d404\"\u003e\u003ccode\u003efaa53fd\u003c/code\u003e\u003c/a\u003e ci: update Node.js and Redis test matrix (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e\u003ccode\u003e37d0695\u003c/code\u003e\u003c/a\u003e feat: add increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/612ee9dfe96c1df942eaa415ca94881077191b5c\"\u003e\u003ccode\u003e612ee9d\u003c/code\u003e\u003c/a\u003e chore: update Redis 8.8 test image to custom (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003e\u003ccode\u003ebaf68d6\u003c/code\u003e\u003c/a\u003e feat: add array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/ba3b4cfb6204eccecde928f691a60a869313a0c9\"\u003e\u003ccode\u003eba3b4cf\u003c/code\u003e\u003c/a\u003e test: update Redis 8.8 test image to m03 (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2113\"\u003e#2113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/32dd17b3f714823d9fec09da5f3bc489ef12475d\"\u003e\u003ccode\u003e32dd17b\u003c/code\u003e\u003c/a\u003e test: add hash field subkey notification coverage (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2112\"\u003e#2112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e\u003ccode\u003e04a4615\u003c/code\u003e\u003c/a\u003e feat: add Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `js-yaml` from 4.1.1 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md\"\u003ejs-yaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.0] - 2026-06-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003edocs/safety.md\u003c/code\u003e with notes about processing untrusted YAML.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxDepth\u003c/code\u003e (100) loader option. Not a problem, but gives a better\nexception instead of RangeError on stack overflow.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxMergeSeqLength\u003c/code\u003e (20) loader option. Not a problem after \u003ccode\u003emerge\u003c/code\u003e fix,\nbut an additional restriction for safety.\u003c/li\u003e\n\u003cli\u003eAdded sourcemaps to \u003ccode\u003edist/\u003c/code\u003e builds.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop resolving numbers with underscores as numeric scalars, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/627\"\u003e#627\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSwitched dev toolchains to Vite / neostandard.\u003c/li\u003e\n\u003cli\u003eUpdated demo.\u003c/li\u003e\n\u003cli\u003eReorganized tests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edist/\u003c/code\u003e files are no longer kept in the repository.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parsing of properties on the first implicit block mapping key, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/62\"\u003e#62\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix trailing whitespace handling when folding flow scalar lines, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReject top-level block scalars without content indentation, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/280\"\u003e#280\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnsure numbers survive round-trip, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/737\"\u003e#737\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix test coverage for issue \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/221\"\u003e#221\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix flow scalar trailing whitespace folding, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix digits in YAML named tag handles.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix potential DoS via quadratic complexity in merge - deduplicate repeated\nelements (makes sense for malformed files \u0026gt; 10K).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.14.2] - 2025-11-15\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackported v4.1.1 fix to v3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nodeca/js-yaml/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 8.20.0 to 8.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epg@8.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3521\"\u003eSASL SCRAM\u003c/a\u003e server error responses properly.\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3667\"\u003enode@26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escramMaxIterations\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3677\"\u003econfig option\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eclient.getTransactionStatus()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3645\"\u003emethod\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/brianc/node-postgres/commit/544b1ce8152bc280e398dc1e8a66920abe6a640e\"\u003e\u003ccode\u003e544b1ce\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/cc03fa5cdf0f1e67b2518ebad5cf2269206aa49c\"\u003e\u003ccode\u003ecc03fa5\u003c/code\u003e\u003c/a\u003e Add scramMaxIterations option to limit SCRAM iteration count (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f776327b3fcdd997c67e866ef7c620ef9c26b3f2\"\u003e\u003ccode\u003ef776327\u003c/code\u003e\u003c/a\u003e Remove compatibility code for unsupported versions of Node (\u0026lt;16) (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3678\"\u003e#3678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f252870eba73c15449b57562e6698b5859e32095\"\u003e\u003ccode\u003ef252870\u003c/code\u003e\u003c/a\u003e cleanup: pg utils (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/c8da6ab9326d93005e6947217cf665f707e08ec7\"\u003e\u003ccode\u003ec8da6ab\u003c/code\u003e\u003c/a\u003e Assorted test cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/fa47e73349786c2a76db98801d60c05371b0a906\"\u003e\u003ccode\u003efa47e73\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eClient#end\u003c/code\u003e callback being called multiple times when first is no-op (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/88a7e60c7191ce8061d6276b299895bf5511e042\"\u003e\u003ccode\u003e88a7e60\u003c/code\u003e\u003c/a\u003e cleanup: Move declaration to more natural place\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/2095247a7b10ebe19cd7d518e07ee2f259dda70a\"\u003e\u003ccode\u003e2095247\u003c/code\u003e\u003c/a\u003e cleanup: Combine duplicated code in \u003ccode\u003eClient#query\u003c/code\u003e and avoid unneeded early n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/0ac3eddef6481f4e4f9359c65d3c0cfd7d2124e1\"\u003e\u003ccode\u003e0ac3edd\u003c/code\u003e\u003c/a\u003e fix: apply SASLprep (RFC 4013) to passwords before SCRAM-SHA-256 PBKDF2 (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/be880d45552269f0b847a3e568014bde6536eae3\"\u003e\u003ccode\u003ebe880d4\u003c/code\u003e\u003c/a\u003e Assorted test fixes and cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `qs` from 6.15.1 to 6.15.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ljharb/qs/blob/main/CHANGELOG.md\"\u003eqs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003cstrong\u003e6.15.2\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + \u003ccode\u003eencodeValuesOnly\u003c/code\u003e instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[readme] fix grammar (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Tests] add regression tests for keys containing percent-encoded bracket text\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/ljharb/qs/commit/9aca4076fe788338c67cf7e115f0be6bc58d85a8\"\u003e\u003ccode\u003e9aca407\u003c/code\u003e\u003c/a\u003e v6.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/5e33d33447ed0bf1ddab9abc41d27dea4687d992\"\u003e\u003ccode\u003e5e33d33\u003c/code\u003e\u003c/a\u003e [Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/21f80b33e5c8b3f7eba1034fff0da4a4a37a1d41\"\u003e\u003ccode\u003e21f80b3\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + `e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a0a81ea2071acce3eff41a040f719ac8f5c4f64c\"\u003e\u003ccode\u003ea0a81ea\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/e3062f78f5233b338ceeb8e8dfa5a07dea4b32a8\"\u003e\u003ccode\u003ee3062f7\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/0c180a40adb8c6703fffc85b2ff06ca209f5c1e0\"\u003e\u003ccode\u003e0c180a4\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/3a8b94aec19bd664720f6f6b1e66c4a0dfe4b656\"\u003e\u003ccode\u003e3a8b94a\u003c/code\u003e\u003c/a\u003e [Tests] add regression tests for keys containing percent-encoded bracket text\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/96755abd357c0e534dd3442a84a04d08864bfe0d\"\u003e\u003ccode\u003e96755ab\u003c/code\u003e\u003c/a\u003e [readme] fix grammar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a419ce5bbfcdb98a299f1a0bb47ea055baef20e6\"\u003e\u003ccode\u003ea419ce5\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ljharb/qs/compare/v6.15.1...v6.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sql-formatter` from 15.7.3 to 15.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/releases\"\u003esql-formatter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e15.8.0\u003c/h2\u003e\n\u003ch3\u003ePostgreSQL formatting\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for PostgreSQL keywords in \u003ccode\u003eCREATE CONSTRAINT TRIGGER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/948\"\u003e#948\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/karlhorky\"\u003e\u003ccode\u003e@​karlhorky\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch from yarn to pnpm (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.4...v15.8.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003e15.7.4\u003c/h2\u003e\n\u003ch3\u003eBugfix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Tcl-style $param(...) syntax in SQLite (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/944\"\u003e#944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/943\"\u003e#943\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\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/sql-formatter-org/sql-formatter/commit/a3bfeeb4e96415efe4820a1b2c7ed592384aa0be\"\u003e\u003ccode\u003ea3bfeeb\u003c/code\u003e\u003c/a\u003e Release v15.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/a7f50d8a68f667b90cfd4e75b1fd683e67413a89\"\u003e\u003ccode\u003ea7f50d8\u003c/code\u003e\u003c/a\u003e Add tagName config to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dab8693b1728696981f3db9b0780b8a7229687c3\"\u003e\u003ccode\u003edab8693\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm as plugin to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/5ab2c8019f9d09ccf3df388d74672821b27ce241\"\u003e\u003ccode\u003e5ab2c80\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/1a000ca83e2e30999f222193ef28c14a949998a2\"\u003e\u003ccode\u003e1a000ca\u003c/code\u003e\u003c/a\u003e Configure release-it to use pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/34fe5b080c11b1cecbe3a0c5d8b89ed8a62941ef\"\u003e\u003ccode\u003e34fe5b0\u003c/code\u003e\u003c/a\u003e Fix scripts using -- (pnpm interprets this as file name)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/6610b6a65a1f7a3654d45bc6100a897649b3136d\"\u003e\u003ccode\u003e6610b6a\u003c/code\u003e\u003c/a\u003e Add pnpm to lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/af633e85fb684650ee7e3b48f1a9dcd897dc050e\"\u003e\u003ccode\u003eaf633e8\u003c/code\u003e\u003c/a\u003e Switch from yarn@1.22.22 to pnpm@11.0.8 (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/ba7437e24b51bb7c5cf38dfcc9f4e58a5dc7fab5\"\u003e\u003ccode\u003eba7437e\u003c/code\u003e\u003c/a\u003e Ignore pnpm-lock.yaml from Prettier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dcee63f96d576ed828dd5af67d26ee9a3728e2db\"\u003e\u003ccode\u003edcee63f\u003c/code\u003e\u003c/a\u003e Work around pnpm bug with pmOnFail + devEngines.packageManager\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.3...v15.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@bufbuild/buf` from 1.68.4 to 1.70.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bufbuild/buf/releases\"\u003e@​bufbuild/buf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.70.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e, \u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules and make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.69.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/blob/main/CHANGELOG.md\"\u003e@​bufbuild/buf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.70.0] - 2026-05-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e,\n\u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules\nand make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v1.69.0] - 2026-04-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/commit/4f657db175eb7418efef85b35db97472ff9df526\"\u003e\u003ccode\u003e4f657db\u003c/code\u003e\u003c/a\u003e Release v1.70.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4556\"\u003e#4556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/f278fa0989621eca516eb5a0a5b00b8ebe94b777\"\u003e\u003ccode\u003ef278fa0\u003c/code\u003e\u003c/a\u003e Bump buf.build/gen/go/bufbuild/registry/connectrpc/go from 1.19.2-20260507063...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/977b89ba82ca288850b6ba64602d6d201d331cd9\"\u003e\u003ccode\u003e977b89b\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4555\"\u003e#4555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/88dfb3409802d618d1fe4f8b6beef84b06df0ea3\"\u003e\u003ccode\u003e88dfb34\u003c/code\u003e\u003c/a\u003e Lint MessageRules.oneof in PROTOVALIDATE check (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4540\"\u003e#4540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/e96239e0572348b8f9d6ee8345b97713aa8e46f6\"\u003e\u003ccode\u003ee96239e\u003c/code\u003e\u003c/a\u003e Filter out GIT_WORK_TREE from cloner environment variables (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d0e7d39ca13bbacc73a3e82d1073fb1fe71a4e3e\"\u003e\u003ccode\u003ed0e7d39\u003c/code\u003e\u003c/a\u003e Add env override test cases to git package (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/37478176d82c2a099f0b4c85b86e40d01c857531\"\u003e\u003ccode\u003e3747817\u003c/code\u003e\u003c/a\u003e Bump actions/create-github-app-token from 3.1.1 to 3.2.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4544\"\u003e#4544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/9eddb9cdeb75daab3c3b699060ae1a38ed199961\"\u003e\u003ccode\u003e9eddb9c\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d46006023cfbff8bd7571a8c8b908455865005b2\"\u003e\u003ccode\u003ed460060\u003c/code\u003e\u003c/a\u003e Update README.md (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/2dae4779331f5d24244176ce168758fcc25b84e7\"\u003e\u003ccode\u003e2dae477\u003c/code\u003e\u003c/a\u003e Fix LSP documentSymbol marking every symbol as deprecated (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4531\"\u003e#4531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bufbuild/buf/compare/v1.68.4...v1.70.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@testcontainers/postgresql` from 11.14.0 to 12.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-node/releases\"\u003e@​testcontainers/postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.0.1\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Podman image healthcheck detection \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd npm dependency release age cooldown \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse Docker Hub Redpanda image \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse preinstalled Podman in checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify affected package checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd npm publish dry run workflow \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade build agents from Ubuntu 22.04 to 24.04 \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove module compile checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1327\"\u003e#1327\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump tmp from 0.2.5 to 0.2.6 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 14 directories with 16 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group with 13 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 13 directories with 12 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 1 directory with 22 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.0\u003c/h2\u003e\n\u003ch2\u003e🚨 Breaking Changes\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eNode 20 is EOL. Minimum engine requirement is now \u003ccode\u003e\u0026gt;= 22.22\u003c/code\u003e, matching the constraints from our dependencies.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePreviously, when no wait strategy was configured, Testcontainers defaulted to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe new default wait strategy uses a Docker healthcheck when one is configured on the container image or service, falling back to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e when no healthcheck is available.\u003c/p\u003e\n\u003cp\u003eTo keep the previous behaviour, configure \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e explicitly:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { DockerComposeEnvironment, GenericContainer, Wait } from \u0026quot;testcontainers\u0026quot;;\r\n\u003cp\u003e// Container: opt back into the previous default of waiting for listening ports\nconst container = await new GenericContainer(\u0026quot;my-image:latest\u0026quot;)\n.withExposedPorts(8080)\n.withWaitStrategy(Wait.forListeningPorts())\n.start();\u003c/p\u003e\n\u003cp\u003e// Compose: apply the previous default to all services\nconst environment = await new DockerComposeEnvironment(composeFilePath, \u0026quot;docker-compose.yml\u0026quot;)\n.withDefaultWaitStrategy(Wait.forListeningPorts())\n.up();\u003c/p\u003e\n\u003cp\u003e// Compose: or apply it to a specific compose container\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/4d8de0cd81c26734b2c95b5fd717fa62ea0648eb\"\u003e\u003ccode\u003e4d8de0c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;v12.0.1\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/d2e4da4b820d5694b120739dad0c360c9e50c3b6\"\u003e\u003ccode\u003ed2e4da4\u003c/code\u003e\u003c/a\u003e v12.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/1077fd6bce442a08fdea707536290a1ae7a0de88\"\u003e\u003ccode\u003e1077fd6\u003c/code\u003e\u003c/a\u003e Revert default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1346\"\u003e#1346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/665feb4f42073eb7394435a84c6eff9f20d7a714\"\u003e\u003ccode\u003e665feb4\u003c/code\u003e\u003c/a\u003e Bump tmp from 0.2.5 to 0.2.6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cdb8366ad8c17692782a2073406209699eeeff73\"\u003e\u003ccode\u003ecdb8366\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 14 directories with 16 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/3148791de679c3208beb6c1a8f37eafe8abb6810\"\u003e\u003ccode\u003e3148791\u003c/code\u003e\u003c/a\u003e Add default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1340\"\u003e#1340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/34c581136a78d3b2098253c8ed86515617d76a52\"\u003e\u003ccode\u003e34c5811\u003c/code\u003e\u003c/a\u003e Add npm dependency release age cooldown (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/c584af1ca12b059c13ba9d76d3b73a2440dbae92\"\u003e\u003ccode\u003ec584af1\u003c/code\u003e\u003c/a\u003e Fix Podman image healthcheck detection (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cae5c26312c234df0001f2866e9d8e58002e54c7\"\u003e\u003ccode\u003ecae5c26\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 13 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/33e1dc109cc94ef9b4e0020b4a6fd9e8b8a354af\"\u003e\u003ccode\u003e33e1dc1\u003c/code\u003e\u003c/a\u003e Use Docker Hub Redpanda image (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-node/compare/v11.14.0...v12.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.3.0 to 30.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003ejest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev30.4.2\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.1\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.0\u003c/h2\u003e\n\u003cp\u003eBig release! 😀\u003c/p\u003e\n\u003cp\u003eMain feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work \u003ccode\u003erequire(esm)\u003c/code\u003e module is now supported on Node 24.9+ (still requires \u003ccode\u003e--experimental-vm-modules\u003c/code\u003e like before).\u003c/p\u003e\n\u003cp\u003eIn addition we now support fake timers for the recently released \u003ccode\u003eTemporal\u003c/code\u003e API in Node v26.\u003c/p\u003e\n\u003cp\u003eReact 19 is also supported properly in \u003ccode\u003epretty-format\u003c/code\u003e, meaning snapshots of React components now work like they should.\u003c/p\u003e\n\u003cp\u003eDue to all the changes, there might be regressions that snuck in. Please report them!\u003c/p\u003e\n\u003cp\u003eFull list of changes below\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\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/jestjs/jest/blob/main/CHANGELOG.md\"\u003ejest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.4.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[pretty-format]\u003c/code\u003e Support React 19 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16123\"\u003e#16123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect-utils]\u003c/code\u003e Fix \u003ccode\u003etoStrictEqual\u003c/code\u003e failing on \u003ccode\u003estructuredClone\u003c/code\u003e results due to cross-realm constructor mismatch (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15959\"\u003e#15959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Prevent \u003ccode\u003etoMatchObject\u003c/code\u003e/subset matching from throwing when encountering exotic iterables (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15952\"\u003e#15952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[fake-timers]\u003c/code\u003e Convert \u003ccode\u003eDate\u003c/code\u003e to milliseconds before passing to \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16029\"\u003e#16029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest]\u003c/code\u003e Export \u003ccode\u003eGlobalConfig\u003c/code\u003e and \u003ccode\u003eProjectConfig\u003c/code\u003e TypeScript types (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Prevent crash when \u003ccode\u003easyncError\u003c/code\u003e is undefined for non-Error throws (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16003\"\u003e#16003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Include \u003ccode\u003eError.cause\u003c/code\u003e in JSON \u003ccode\u003efailureMessages\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15967\"\u003e#15967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Fix preset path resolution on Windows when the preset uses subpath \u003ccode\u003eexports\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15961\"\u003e#15961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config without a validation warning (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Project config validator now emits \u0026quot;is not supported in an individual project configuration\u0026quot; instead of \u0026quot;probably a typing mistake\u0026quot; for known global-only options (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Fix \u003ccode\u003e--localstorage-file\u003c/code\u003e warning on Node 25+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16086\"\u003e#16086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16137\"\u003e#16137\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/jestjs/jest/commit/746f2a0f57c56e3bba555280f0587d40f3db95c0\"\u003e\u003ccode\u003e746f2a0\u003c/code\u003e\u003c/a\u003e v30.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/b3b4a09ed3005369dacc7466d1d2122797283785\"\u003e\u003ccode\u003eb3b4a09\u003c/code\u003e\u003c/a\u003e v30.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/5cbb21e0b3037edb42e503ec1a1ce80efad40c20\"\u003e\u003ccode\u003e5cbb21e\u003c/code\u003e\u003c/a\u003e v30.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/db7141a93cc85fab81cf9c25368e1f2b2c312286\"\u003e\u003ccode\u003edb7141a\u003c/code\u003e\u003c/a\u003e fix: allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.2/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are to...\n\n_Description has been truncated_","html_url":"https://github.com/oyakh1/hiero-mirror-node--022/pull/28","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyakh1%2Fhiero-mirror-node--022/issues/28","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/28/packages"},{"uuid":"4577823742","node_id":"PR_kwDOSOOyhM7iHTbK","number":27,"state":"closed","title":"Bump the dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-15T20:37:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-03T07:31:42.000Z","updated_at":"2026-06-15T20:37:15.000Z","time_to_close":1083931,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":12,"packages":[{"name":"@opentelemetry/exporter-prometheus","old_version":"0.215.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"ioredis","old_version":"5.10.1","new_version":"5.11.0","repository_url":"https://github.com/luin/ioredis"},{"name":"js-yaml","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"qs","old_version":"6.15.1","new_version":"6.15.2","repository_url":"https://github.com/ljharb/qs"},{"name":"sql-formatter","old_version":"15.7.3","new_version":"15.8.0","repository_url":"https://github.com/sql-formatter-org/sql-formatter"},{"name":"@bufbuild/buf","old_version":"1.68.4","new_version":"1.70.0","repository_url":"https://github.com/bufbuild/buf"},{"name":"@testcontainers/postgresql","old_version":"11.14.0","new_version":"12.0.1","repository_url":"https://github.com/testcontainers/testcontainers-node"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"tar","old_version":"7.5.13","new_version":"7.5.16","repository_url":"https://github.com/isaacs/node-tar"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 11 updates in the /rest directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@opentelemetry/exporter-prometheus](https://github.com/open-telemetry/opentelemetry-js) | `0.215.0` | `0.218.0` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.1` | `5.11.0` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `4.1.1` | `4.2.0` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [qs](https://github.com/ljharb/qs) | `6.15.1` | `6.15.2` |\n| [sql-formatter](https://github.com/sql-formatter-org/sql-formatter) | `15.7.3` | `15.8.0` |\n| [@bufbuild/buf](https://github.com/bufbuild/buf) | `1.68.4` | `1.70.0` |\n| [@testcontainers/postgresql](https://github.com/testcontainers/testcontainers-node) | `11.14.0` | `12.0.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |\n| [tar](https://github.com/isaacs/node-tar) | `7.5.13` | `7.5.16` |\n\n\nUpdates `@opentelemetry/exporter-prometheus` from 0.215.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/exporter-prometheus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.215.0...experimental/v0.218.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/sdk-metrics` from 2.7.0 to 2.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-metrics's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.7.1\u003c/h2\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(sdk-metrics): reduce loop overhead in sdk hot paths \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6593\"\u003e#6593\u003c/a\u003e \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md\"\u003e@​opentelemetry/sdk-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: test Node.js 26 in CI \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6671\"\u003e#6671\u003c/a\u003e \u003ca href=\"https://github.com/cjihrig\"\u003e\u003ccode\u003e@​cjihrig\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7\"\u003e\u003ccode\u003e2400d83\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6647\"\u003e#6647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f7a9b7cc854232ebf7dea2d3ec0d6adc49128f53\"\u003e\u003ccode\u003ef7a9b7c\u003c/code\u003e\u003c/a\u003e fix(otlp-transformer): pin protobufjs to 8.0.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6646\"\u003e#6646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/cb38d7f833781c336c990757f773ce9c8360434a\"\u003e\u003ccode\u003ecb38d7f\u003c/code\u003e\u003c/a\u003e test(otlp-transformer): add metrics transfrom benchmark (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6628\"\u003e#6628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a28f12fef5fbdfb3b77a1334175b752883ef708a\"\u003e\u003ccode\u003ea28f12f\u003c/code\u003e\u003c/a\u003e fix(opentelemetry-core): defer tracestate vaidation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6459\"\u003e#6459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b27c5146ac21deb3fb1e8fca370d34f1828f3cc6\"\u003e\u003ccode\u003eb27c514\u003c/code\u003e\u003c/a\u003e refactor(opentelemetry-exporter-prometheus): do not call `enforcePrometheusNa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a2a8186e65a04dfdaf442927fbab268076cd4f5a\"\u003e\u003ccode\u003ea2a8186\u003c/code\u003e\u003c/a\u003e perf(sdk-trace-base): optimize TraceIdRatioBasedSampler hex parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6284\"\u003e#6284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/4c0f3f1b911c4740a085b6c66d267bb74826b475\"\u003e\u003ccode\u003e4c0f3f1\u003c/code\u003e\u003c/a\u003e feat(sdk-node): set TracerProvider in startNodeSDK() (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6607\"\u003e#6607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/417f2f17e4234417b34dbf7bdf8e24c330259dd2\"\u003e\u003ccode\u003e417f2f1\u003c/code\u003e\u003c/a\u003e fix(instr-xhr): do not unpatch XHR methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6611\"\u003e#6611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/47ac523b124be222ac89160e4623e8a60c960f35\"\u003e\u003ccode\u003e47ac523\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: allow browser maintainers to approve changelog edits\u0026quot; (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6627\"\u003e#6627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/86c621d5b8344f1ecdc13a9841a90604912d0055\"\u003e\u003ccode\u003e86c621d\u003c/code\u003e\u003c/a\u003e fix(instrumentation-fetch): tolerate non-writable globalThis.fetch and fix pr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/v2.7.0...v2.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ioredis` from 5.10.1 to 5.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/luin/ioredis/releases\"\u003eioredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/blob/main/CHANGELOG.md\"\u003eioredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/commit/14904327fc212d1f592172d776ebe45178fb7ee7\"\u003e\u003ccode\u003e1490432\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/5359d4d090c17f2ca1e86d92b139cd935ba4643d\"\u003e\u003ccode\u003e5359d4d\u003c/code\u003e\u003c/a\u003e refactor(utils): inline defaults and isArguments helpers (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003e\u003ccode\u003eb7b3def\u003c/code\u003e\u003c/a\u003e feat: add vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/faa53fdfae7f605c19bd74564639640f9d30d404\"\u003e\u003ccode\u003efaa53fd\u003c/code\u003e\u003c/a\u003e ci: update Node.js and Redis test matrix (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e\u003ccode\u003e37d0695\u003c/code\u003e\u003c/a\u003e feat: add increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/612ee9dfe96c1df942eaa415ca94881077191b5c\"\u003e\u003ccode\u003e612ee9d\u003c/code\u003e\u003c/a\u003e chore: update Redis 8.8 test image to custom (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003e\u003ccode\u003ebaf68d6\u003c/code\u003e\u003c/a\u003e feat: add array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/ba3b4cfb6204eccecde928f691a60a869313a0c9\"\u003e\u003ccode\u003eba3b4cf\u003c/code\u003e\u003c/a\u003e test: update Redis 8.8 test image to m03 (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2113\"\u003e#2113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/32dd17b3f714823d9fec09da5f3bc489ef12475d\"\u003e\u003ccode\u003e32dd17b\u003c/code\u003e\u003c/a\u003e test: add hash field subkey notification coverage (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2112\"\u003e#2112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e\u003ccode\u003e04a4615\u003c/code\u003e\u003c/a\u003e feat: add Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `js-yaml` from 4.1.1 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md\"\u003ejs-yaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.0] - 2026-06-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003edocs/safety.md\u003c/code\u003e with notes about processing untrusted YAML.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxDepth\u003c/code\u003e (100) loader option. Not a problem, but gives a better\nexception instead of RangeError on stack overflow.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxMergeSeqLength\u003c/code\u003e (20) loader option. Not a problem after \u003ccode\u003emerge\u003c/code\u003e fix,\nbut an additional restriction for safety.\u003c/li\u003e\n\u003cli\u003eAdded sourcemaps to \u003ccode\u003edist/\u003c/code\u003e builds.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop resolving numbers with underscores as numeric scalars, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/627\"\u003e#627\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSwitched dev toolchains to Vite / neostandard.\u003c/li\u003e\n\u003cli\u003eUpdated demo.\u003c/li\u003e\n\u003cli\u003eReorganized tests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edist/\u003c/code\u003e files are no longer kept in the repository.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parsing of properties on the first implicit block mapping key, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/62\"\u003e#62\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix trailing whitespace handling when folding flow scalar lines, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReject top-level block scalars without content indentation, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/280\"\u003e#280\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnsure numbers survive round-trip, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/737\"\u003e#737\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix test coverage for issue \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/221\"\u003e#221\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix flow scalar trailing whitespace folding, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix digits in YAML named tag handles.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix potential DoS via quadratic complexity in merge - deduplicate repeated\nelements (makes sense for malformed files \u0026gt; 10K).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.14.2] - 2025-11-15\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackported v4.1.1 fix to v3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nodeca/js-yaml/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 8.20.0 to 8.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epg@8.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3521\"\u003eSASL SCRAM\u003c/a\u003e server error responses properly.\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3667\"\u003enode@26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escramMaxIterations\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3677\"\u003econfig option\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eclient.getTransactionStatus()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3645\"\u003emethod\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/brianc/node-postgres/commit/544b1ce8152bc280e398dc1e8a66920abe6a640e\"\u003e\u003ccode\u003e544b1ce\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/cc03fa5cdf0f1e67b2518ebad5cf2269206aa49c\"\u003e\u003ccode\u003ecc03fa5\u003c/code\u003e\u003c/a\u003e Add scramMaxIterations option to limit SCRAM iteration count (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f776327b3fcdd997c67e866ef7c620ef9c26b3f2\"\u003e\u003ccode\u003ef776327\u003c/code\u003e\u003c/a\u003e Remove compatibility code for unsupported versions of Node (\u0026lt;16) (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3678\"\u003e#3678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f252870eba73c15449b57562e6698b5859e32095\"\u003e\u003ccode\u003ef252870\u003c/code\u003e\u003c/a\u003e cleanup: pg utils (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/c8da6ab9326d93005e6947217cf665f707e08ec7\"\u003e\u003ccode\u003ec8da6ab\u003c/code\u003e\u003c/a\u003e Assorted test cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/fa47e73349786c2a76db98801d60c05371b0a906\"\u003e\u003ccode\u003efa47e73\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eClient#end\u003c/code\u003e callback being called multiple times when first is no-op (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/88a7e60c7191ce8061d6276b299895bf5511e042\"\u003e\u003ccode\u003e88a7e60\u003c/code\u003e\u003c/a\u003e cleanup: Move declaration to more natural place\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/2095247a7b10ebe19cd7d518e07ee2f259dda70a\"\u003e\u003ccode\u003e2095247\u003c/code\u003e\u003c/a\u003e cleanup: Combine duplicated code in \u003ccode\u003eClient#query\u003c/code\u003e and avoid unneeded early n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/0ac3eddef6481f4e4f9359c65d3c0cfd7d2124e1\"\u003e\u003ccode\u003e0ac3edd\u003c/code\u003e\u003c/a\u003e fix: apply SASLprep (RFC 4013) to passwords before SCRAM-SHA-256 PBKDF2 (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/be880d45552269f0b847a3e568014bde6536eae3\"\u003e\u003ccode\u003ebe880d4\u003c/code\u003e\u003c/a\u003e Assorted test fixes and cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `qs` from 6.15.1 to 6.15.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ljharb/qs/blob/main/CHANGELOG.md\"\u003eqs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003cstrong\u003e6.15.2\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + \u003ccode\u003eencodeValuesOnly\u003c/code\u003e instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[readme] fix grammar (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Tests] add regression tests for keys containing percent-encoded bracket text\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/ljharb/qs/commit/9aca4076fe788338c67cf7e115f0be6bc58d85a8\"\u003e\u003ccode\u003e9aca407\u003c/code\u003e\u003c/a\u003e v6.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/5e33d33447ed0bf1ddab9abc41d27dea4687d992\"\u003e\u003ccode\u003e5e33d33\u003c/code\u003e\u003c/a\u003e [Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/21f80b33e5c8b3f7eba1034fff0da4a4a37a1d41\"\u003e\u003ccode\u003e21f80b3\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + `e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a0a81ea2071acce3eff41a040f719ac8f5c4f64c\"\u003e\u003ccode\u003ea0a81ea\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/e3062f78f5233b338ceeb8e8dfa5a07dea4b32a8\"\u003e\u003ccode\u003ee3062f7\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/0c180a40adb8c6703fffc85b2ff06ca209f5c1e0\"\u003e\u003ccode\u003e0c180a4\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/3a8b94aec19bd664720f6f6b1e66c4a0dfe4b656\"\u003e\u003ccode\u003e3a8b94a\u003c/code\u003e\u003c/a\u003e [Tests] add regression tests for keys containing percent-encoded bracket text\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/96755abd357c0e534dd3442a84a04d08864bfe0d\"\u003e\u003ccode\u003e96755ab\u003c/code\u003e\u003c/a\u003e [readme] fix grammar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a419ce5bbfcdb98a299f1a0bb47ea055baef20e6\"\u003e\u003ccode\u003ea419ce5\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ljharb/qs/compare/v6.15.1...v6.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sql-formatter` from 15.7.3 to 15.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/releases\"\u003esql-formatter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e15.8.0\u003c/h2\u003e\n\u003ch3\u003ePostgreSQL formatting\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for PostgreSQL keywords in \u003ccode\u003eCREATE CONSTRAINT TRIGGER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/948\"\u003e#948\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/karlhorky\"\u003e\u003ccode\u003e@​karlhorky\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch from yarn to pnpm (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.4...v15.8.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003e15.7.4\u003c/h2\u003e\n\u003ch3\u003eBugfix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Tcl-style $param(...) syntax in SQLite (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/944\"\u003e#944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/943\"\u003e#943\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\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/sql-formatter-org/sql-formatter/commit/a3bfeeb4e96415efe4820a1b2c7ed592384aa0be\"\u003e\u003ccode\u003ea3bfeeb\u003c/code\u003e\u003c/a\u003e Release v15.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/a7f50d8a68f667b90cfd4e75b1fd683e67413a89\"\u003e\u003ccode\u003ea7f50d8\u003c/code\u003e\u003c/a\u003e Add tagName config to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dab8693b1728696981f3db9b0780b8a7229687c3\"\u003e\u003ccode\u003edab8693\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm as plugin to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/5ab2c8019f9d09ccf3df388d74672821b27ce241\"\u003e\u003ccode\u003e5ab2c80\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/1a000ca83e2e30999f222193ef28c14a949998a2\"\u003e\u003ccode\u003e1a000ca\u003c/code\u003e\u003c/a\u003e Configure release-it to use pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/34fe5b080c11b1cecbe3a0c5d8b89ed8a62941ef\"\u003e\u003ccode\u003e34fe5b0\u003c/code\u003e\u003c/a\u003e Fix scripts using -- (pnpm interprets this as file name)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/6610b6a65a1f7a3654d45bc6100a897649b3136d\"\u003e\u003ccode\u003e6610b6a\u003c/code\u003e\u003c/a\u003e Add pnpm to lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/af633e85fb684650ee7e3b48f1a9dcd897dc050e\"\u003e\u003ccode\u003eaf633e8\u003c/code\u003e\u003c/a\u003e Switch from yarn@1.22.22 to pnpm@11.0.8 (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/ba7437e24b51bb7c5cf38dfcc9f4e58a5dc7fab5\"\u003e\u003ccode\u003eba7437e\u003c/code\u003e\u003c/a\u003e Ignore pnpm-lock.yaml from Prettier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dcee63f96d576ed828dd5af67d26ee9a3728e2db\"\u003e\u003ccode\u003edcee63f\u003c/code\u003e\u003c/a\u003e Work around pnpm bug with pmOnFail + devEngines.packageManager\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.3...v15.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@bufbuild/buf` from 1.68.4 to 1.70.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bufbuild/buf/releases\"\u003e@​bufbuild/buf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.70.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e, \u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules and make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.69.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/blob/main/CHANGELOG.md\"\u003e@​bufbuild/buf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.70.0] - 2026-05-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e,\n\u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules\nand make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v1.69.0] - 2026-04-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/commit/4f657db175eb7418efef85b35db97472ff9df526\"\u003e\u003ccode\u003e4f657db\u003c/code\u003e\u003c/a\u003e Release v1.70.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4556\"\u003e#4556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/f278fa0989621eca516eb5a0a5b00b8ebe94b777\"\u003e\u003ccode\u003ef278fa0\u003c/code\u003e\u003c/a\u003e Bump buf.build/gen/go/bufbuild/registry/connectrpc/go from 1.19.2-20260507063...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/977b89ba82ca288850b6ba64602d6d201d331cd9\"\u003e\u003ccode\u003e977b89b\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4555\"\u003e#4555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/88dfb3409802d618d1fe4f8b6beef84b06df0ea3\"\u003e\u003ccode\u003e88dfb34\u003c/code\u003e\u003c/a\u003e Lint MessageRules.oneof in PROTOVALIDATE check (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4540\"\u003e#4540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/e96239e0572348b8f9d6ee8345b97713aa8e46f6\"\u003e\u003ccode\u003ee96239e\u003c/code\u003e\u003c/a\u003e Filter out GIT_WORK_TREE from cloner environment variables (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d0e7d39ca13bbacc73a3e82d1073fb1fe71a4e3e\"\u003e\u003ccode\u003ed0e7d39\u003c/code\u003e\u003c/a\u003e Add env override test cases to git package (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/37478176d82c2a099f0b4c85b86e40d01c857531\"\u003e\u003ccode\u003e3747817\u003c/code\u003e\u003c/a\u003e Bump actions/create-github-app-token from 3.1.1 to 3.2.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4544\"\u003e#4544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/9eddb9cdeb75daab3c3b699060ae1a38ed199961\"\u003e\u003ccode\u003e9eddb9c\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d46006023cfbff8bd7571a8c8b908455865005b2\"\u003e\u003ccode\u003ed460060\u003c/code\u003e\u003c/a\u003e Update README.md (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/2dae4779331f5d24244176ce168758fcc25b84e7\"\u003e\u003ccode\u003e2dae477\u003c/code\u003e\u003c/a\u003e Fix LSP documentSymbol marking every symbol as deprecated (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4531\"\u003e#4531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bufbuild/buf/compare/v1.68.4...v1.70.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@testcontainers/postgresql` from 11.14.0 to 12.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-node/releases\"\u003e@​testcontainers/postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.0.1\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Podman image healthcheck detection \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd npm dependency release age cooldown \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse Docker Hub Redpanda image \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse preinstalled Podman in checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify affected package checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd npm publish dry run workflow \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade build agents from Ubuntu 22.04 to 24.04 \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove module compile checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1327\"\u003e#1327\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump tmp from 0.2.5 to 0.2.6 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 14 directories with 16 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group with 13 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 13 directories with 12 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 1 directory with 22 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.0\u003c/h2\u003e\n\u003ch2\u003e🚨 Breaking Changes\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eNode 20 is EOL. Minimum engine requirement is now \u003ccode\u003e\u0026gt;= 22.22\u003c/code\u003e, matching the constraints from our dependencies.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePreviously, when no wait strategy was configured, Testcontainers defaulted to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe new default wait strategy uses a Docker healthcheck when one is configured on the container image or service, falling back to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e when no healthcheck is available.\u003c/p\u003e\n\u003cp\u003eTo keep the previous behaviour, configure \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e explicitly:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { DockerComposeEnvironment, GenericContainer, Wait } from \u0026quot;testcontainers\u0026quot;;\r\n\u003cp\u003e// Container: opt back into the previous default of waiting for listening ports\nconst container = await new GenericContainer(\u0026quot;my-image:latest\u0026quot;)\n.withExposedPorts(8080)\n.withWaitStrategy(Wait.forListeningPorts())\n.start();\u003c/p\u003e\n\u003cp\u003e// Compose: apply the previous default to all services\nconst environment = await new DockerComposeEnvironment(composeFilePath, \u0026quot;docker-compose.yml\u0026quot;)\n.withDefaultWaitStrategy(Wait.forListeningPorts())\n.up();\u003c/p\u003e\n\u003cp\u003e// Compose: or apply it to a specific compose container\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/4d8de0cd81c26734b2c95b5fd717fa62ea0648eb\"\u003e\u003ccode\u003e4d8de0c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;v12.0.1\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/d2e4da4b820d5694b120739dad0c360c9e50c3b6\"\u003e\u003ccode\u003ed2e4da4\u003c/code\u003e\u003c/a\u003e v12.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/1077fd6bce442a08fdea707536290a1ae7a0de88\"\u003e\u003ccode\u003e1077fd6\u003c/code\u003e\u003c/a\u003e Revert default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1346\"\u003e#1346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/665feb4f42073eb7394435a84c6eff9f20d7a714\"\u003e\u003ccode\u003e665feb4\u003c/code\u003e\u003c/a\u003e Bump tmp from 0.2.5 to 0.2.6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cdb8366ad8c17692782a2073406209699eeeff73\"\u003e\u003ccode\u003ecdb8366\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 14 directories with 16 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/3148791de679c3208beb6c1a8f37eafe8abb6810\"\u003e\u003ccode\u003e3148791\u003c/code\u003e\u003c/a\u003e Add default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1340\"\u003e#1340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/34c581136a78d3b2098253c8ed86515617d76a52\"\u003e\u003ccode\u003e34c5811\u003c/code\u003e\u003c/a\u003e Add npm dependency release age cooldown (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/c584af1ca12b059c13ba9d76d3b73a2440dbae92\"\u003e\u003ccode\u003ec584af1\u003c/code\u003e\u003c/a\u003e Fix Podman image healthcheck detection (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cae5c26312c234df0001f2866e9d8e58002e54c7\"\u003e\u003ccode\u003ecae5c26\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 13 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/33e1dc109cc94ef9b4e0020b4a6fd9e8b8a354af\"\u003e\u003ccode\u003e33e1dc1\u003c/code\u003e\u003c/a\u003e Use Docker Hub Redpanda image (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-node/compare/v11.14.0...v12.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.3.0 to 30.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003ejest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev30.4.2\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.1\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.0\u003c/h2\u003e\n\u003cp\u003eBig release! 😀\u003c/p\u003e\n\u003cp\u003eMain feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work \u003ccode\u003erequire(esm)\u003c/code\u003e module is now supported on Node 24.9+ (still requires \u003ccode\u003e--experimental-vm-modules\u003c/code\u003e like before).\u003c/p\u003e\n\u003cp\u003eIn addition we now support fake timers for the recently released \u003ccode\u003eTemporal\u003c/code\u003e API in Node v26.\u003c/p\u003e\n\u003cp\u003eReact 19 is also supported properly in \u003ccode\u003epretty-format\u003c/code\u003e, meaning snapshots of React components now work like they should.\u003c/p\u003e\n\u003cp\u003eDue to all the changes, there might be regressions that snuck in. Please report them!\u003c/p\u003e\n\u003cp\u003eFull list of changes below\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\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/jestjs/jest/blob/main/CHANGELOG.md\"\u003ejest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.4.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[pretty-format]\u003c/code\u003e Support React 19 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16123\"\u003e#16123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect-utils]\u003c/code\u003e Fix \u003ccode\u003etoStrictEqual\u003c/code\u003e failing on \u003ccode\u003estructuredClone\u003c/code\u003e results due to cross-realm constructor mismatch (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15959\"\u003e#15959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Prevent \u003ccode\u003etoMatchObject\u003c/code\u003e/subset matching from throwing when encountering exotic iterables (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15952\"\u003e#15952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[fake-timers]\u003c/code\u003e Convert \u003ccode\u003eDate\u003c/code\u003e to milliseconds before passing to \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16029\"\u003e#16029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest]\u003c/code\u003e Export \u003ccode\u003eGlobalConfig\u003c/code\u003e and \u003ccode\u003eProjectConfig\u003c/code\u003e TypeScript types (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Prevent crash when \u003ccode\u003easyncError\u003c/code\u003e is undefined for non-Error throws (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16003\"\u003e#16003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Include \u003ccode\u003eError.cause\u003c/code\u003e in JSON \u003ccode\u003efailureMessages\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15967\"\u003e#15967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Fix preset path resolution on Windows when the preset uses subpath \u003ccode\u003eexports\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15961\"\u003e#15961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config without a validation warning (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Project config validator now emits \u0026quot;is not supported in an individual project configuration\u0026quot; instead of \u0026quot;probably a typing mistake\u0026quot; for known global-only options (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Fix \u003ccode\u003e--localstorage-file\u003c/code\u003e warning on Node 25+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16086\"\u003e#16086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16137\"\u003e#16137\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/jestjs/jest/commit/746f2a0f57c56e3bba555280f0587d40f3db95c0\"\u003e\u003ccode\u003e746f2a0\u003c/code\u003e\u003c/a\u003e v30.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/b3b4a09ed3005369dacc7466d1d2122797283785\"\u003e\u003ccode\u003eb3b4a09\u003c/code\u003e\u003c/a\u003e v30.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/5cbb21e0b3037edb42e503ec1a1ce80efad40c20\"\u003e\u003ccode\u003e5cbb21e\u003c/code\u003e\u003c/a\u003e v30.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/db7141a93cc85fab81cf9c25368e1f2b2c312286\"\u003e\u003ccode\u003edb7141a\u003c/code\u003e\u003c/a\u003e fix: allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.2/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are to...\n\n_Description has been truncated_","html_url":"https://github.com/oyakh1/hiero-mirror-node--036/pull/27","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyakh1%2Fhiero-mirror-node--036/issues/27","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/27/packages"},{"uuid":"4575473236","node_id":"PR_kwDOQMWxUc7h_r7q","number":92,"state":"open","title":"chore(deps)(deps): bump the major-dependencies group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","triage"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-02T22:41:26.000Z","updated_at":"2026-06-06T13:53:06.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"major-dependencies","update_count":11,"packages":[{"name":"dotenv","old_version":"16.6.1","new_version":"17.4.2","repository_url":"https://github.com/motdotla/dotenv"},{"name":"express","old_version":"4.22.1","new_version":"5.2.1","repository_url":"https://github.com/expressjs/express"},{"name":"nodemailer","old_version":"7.0.13","new_version":"8.0.10","repository_url":"https://github.com/nodemailer/nodemailer"},{"name":"vue-router","old_version":"4.6.4","new_version":"5.1.0","repository_url":"https://github.com/vuejs/router"},{"name":"jsdom","old_version":"27.4.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"lint-staged","old_version":"16.4.0","new_version":"17.0.7","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"postcss-cli","old_version":"10.1.0","new_version":"11.0.1","repository_url":"https://github.com/postcss/postcss-cli"},{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"unplugin-vue-components","old_version":"30.0.0","new_version":"32.1.0","repository_url":"https://github.com/unplugin/unplugin-vue-components"},{"name":"vite","old_version":"7.3.2","new_version":"8.0.16","repository_url":"https://github.com/vitejs/vite"},{"name":"knip","old_version":"5.88.1","new_version":"6.15.0","repository_url":"https://github.com/webpro-nl/knip"}],"path":null,"ecosystem":"npm"},"body":"Bumps the major-dependencies group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [dotenv](https://github.com/motdotla/dotenv) | `16.6.1` | `17.4.2` |\n| [express](https://github.com/expressjs/express) | `4.22.1` | `5.2.1` |\n| [nodemailer](https://github.com/nodemailer/nodemailer) | `7.0.13` | `8.0.10` |\n| [vue-router](https://github.com/vuejs/router) | `4.6.4` | `5.1.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `27.4.0` | `29.1.1` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.4.0` | `17.0.7` |\n| [postcss-cli](https://github.com/postcss/postcss-cli) | `10.1.0` | `11.0.1` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |\n| [unplugin-vue-components](https://github.com/unplugin/unplugin-vue-components) | `30.0.0` | `32.1.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `7.3.2` | `8.0.16` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `5.88.1` | `6.15.0` |\n\n\nUpdates `dotenv` from 16.6.1 to 17.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md\"\u003edotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.4.1...v17.4.2\"\u003e17.4.2\u003c/a\u003e (2026-04-12)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved skill files - tightened up details (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1009\"\u003e#1009\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.4.0...v17.4.1\"\u003e17.4.1\u003c/a\u003e (2026-04-05)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange text \u003ccode\u003einjecting\u003c/code\u003e to \u003ccode\u003einjected\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1005\"\u003e#1005\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.3.1...v17.4.0\"\u003e17.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eskills/\u003c/code\u003e folder with focused agent skills: \u003ccode\u003eskills/dotenv/SKILL.md\u003c/code\u003e (core usage) and \u003ccode\u003eskills/dotenvx/SKILL.md\u003c/code\u003e (encryption, multiple environments, variable expansion) for AI coding agent discovery via the skills.sh ecosystem (\u003ccode\u003enpx skills add motdotla/dotenv\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTighten up logs: \u003ccode\u003e◇ injecting env (14) from .env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1003\"\u003e#1003\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.3.0...v17.3.1\"\u003e17.3.1\u003c/a\u003e (2026-02-12)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix as2 example command in README and update spanish README\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.2.4...v17.3.0\"\u003e17.3.0\u003c/a\u003e (2026-02-12)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a new README section on dotenv’s approach to the agentic future.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite README to get humans started more quickly with less noise while simultaneously making more accessible for llms and agents to go deeper into details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.2.3...v17.2.4\"\u003e17.2.4\u003c/a\u003e (2026-02-05)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003eDotenvPopulateInput\u003c/code\u003e accept \u003ccode\u003eNodeJS.ProcessEnv\u003c/code\u003e type (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/915\"\u003e#915\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eGive back to dotenv by checking out my newest project \u003ca href=\"https://github.com/vestauth/vestauth\"\u003evestauth\u003c/a\u003e. It is auth for agents. Thank you for using my software.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.2.2...v17.2.3\"\u003e17.2.3\u003c/a\u003e (2025-09-29)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed typescript error definition (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/912\"\u003e#912\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/motdotla/dotenv/commit/f116f70310abab44fbfddbaeb833698b5bf84a9b\"\u003e\u003ccode\u003ef116f70\u003c/code\u003e\u003c/a\u003e 17.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/3a8161274fdd745239b86e604f4a7e972a1d3902\"\u003e\u003ccode\u003e3a81612\u003c/code\u003e\u003c/a\u003e fix visual order of faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/13f55a89e136b2024e68d277b836dd5260fc16cf\"\u003e\u003ccode\u003e13f55a8\u003c/code\u003e\u003c/a\u003e Merge branch 'skill'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/4bbbf73f0906bd69975c48bf310a84b686e5b1b4\"\u003e\u003ccode\u003e4bbbf73\u003c/code\u003e\u003c/a\u003e reorganize faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/c3da64bb2ba1d0e02f8b9b2b7ccb7e6f7a51d56c\"\u003e\u003ccode\u003ec3da64b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/motdotla/dotenv/issues/1009\"\u003e#1009\u003c/a\u003e from motdotla/skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/6f743b173fbd6c26f7eab7040d251f9a6c8b977d\"\u003e\u003ccode\u003e6f743b1\u003c/code\u003e\u003c/a\u003e update source\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/fc2c6247e858a32d4024cb06a5b0c79aa35851f5\"\u003e\u003ccode\u003efc2c624\u003c/code\u003e\u003c/a\u003e update skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/972315ba74bb2bbba4483d112e853fd26006ef8a\"\u003e\u003ccode\u003e972315b\u003c/code\u003e\u003c/a\u003e Tighten up skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/2795fce3d1ed07b4c570f1e06ab1c0d533c86997\"\u003e\u003ccode\u003e2795fce\u003c/code\u003e\u003c/a\u003e reorganize faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/d5495d4ae8e4e41ef9a682c9e00c81552794274e\"\u003e\u003ccode\u003ed5495d4\u003c/code\u003e\u003c/a\u003e adjust skill\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/motdotla/dotenv/compare/v16.6.1...v17.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express` from 4.22.1 to 5.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/express/releases\"\u003eexpress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\u003cbr /\u003e\nThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003eRelease: 5.2.1 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6933\"\u003eexpressjs/express#6933\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/express/compare/v5.2.0...v5.2.1\"\u003ehttps://github.com/expressjs/express/compare/v5.2.0...v5.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.2.0\u003c/h2\u003e\n\u003ch2\u003eImportant: Security\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.11 to 3.28.13 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/expressjs/express/pull/6429\"\u003eexpressjs/express#6429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: simplify \u003ccode\u003eacceptsLanguages\u003c/code\u003e implementation using spread operator by \u003ca href=\"https://github.com/Ayoub-Mabrouk\"\u003e\u003ccode\u003e@​Ayoub-Mabrouk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6137\"\u003eexpressjs/express#6137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eincreased code coverage of utils.js file by \u003ca href=\"https://github.com/ashish3011\"\u003e\u003ccode\u003e@​ashish3011\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6386\"\u003eexpressjs/express#6386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove duplicate word by \u003ca href=\"https://github.com/dufucun\"\u003e\u003ccode\u003e@​dufucun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6456\"\u003eexpressjs/express#6456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.13 to 3.28.16 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/expressjs/express/pull/6498\"\u003eexpressjs/express#6498\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 4.3.0 to 4.4.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/expressjs/express/pull/6497\"\u003eexpressjs/express#6497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 4.2.1 to 4.3.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/expressjs/express/pull/6496\"\u003eexpressjs/express#6496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add node.js 24 to test matrix by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6504\"\u003eexpressjs/express#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update codeql config by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6488\"\u003eexpressjs/express#6488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: wider range for query test skip by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6512\"\u003eexpressjs/express#6512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typos in test by \u003ca href=\"https://github.com/noritaka1166\"\u003e\u003ccode\u003e@​noritaka1166\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6535\"\u003eexpressjs/express#6535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: disable credential persistence for checkout actions by \u003ca href=\"https://github.com/mertssmnoglu\"\u003e\u003ccode\u003e@​mertssmnoglu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6522\"\u003eexpressjs/express#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: allow manual triggering of workflow by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6515\"\u003eexpressjs/express#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: add coverage for app.listen() variants by \u003ca href=\"https://github.com/kgarg1\"\u003e\u003ccode\u003e@​kgarg1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6476\"\u003eexpressjs/express#6476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: move documentation and charters to the discussions and .github … by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6427\"\u003eexpressjs/express#6427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.16 to 3.28.18 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/expressjs/express/pull/6549\"\u003eexpressjs/express#6549\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.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/expressjs/express/pull/6548\"\u003eexpressjs/express#6548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: enforce explicit \u003ccode\u003eBuffer\u003c/code\u003e import and add lint rule by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6525\"\u003eexpressjs/express#6525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: use node protocol for querystring by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6520\"\u003eexpressjs/express#6520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typo by \u003ca href=\"https://github.com/mountdisk\"\u003e\u003ccode\u003e@​mountdisk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6609\"\u003eexpressjs/express#6609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.18 to 3.29.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/expressjs/express/pull/6618\"\u003eexpressjs/express#6618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deprecation warnings for redirect arguments undefined by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6405\"\u003eexpressjs/express#6405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run CI when the markdown changes by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6632\"\u003eexpressjs/express#6632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: fix CONTRIBUTING link by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6653\"\u003eexpressjs/express#6653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update contributing guidelines and code of conduct links by \u003ca href=\"https://github.com/ShubhamOulkar\"\u003e\u003ccode\u003e@​ShubhamOulkar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6601\"\u003eexpressjs/express#6601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump morgan from 1.10.0 to 1.10.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/expressjs/express/pull/6679\"\u003eexpressjs/express#6679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump cookie-session from 2.1.0 to 2.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/expressjs/express/pull/6678\"\u003eexpressjs/express#6678\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elint: add --fix flag to automatic fix linting issue by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6644\"\u003eexpressjs/express#6644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: ignore yarn.lock file and update example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6588\"\u003eexpressjs/express#6588\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elib: use req.socket over deprecated req.connection by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6705\"\u003eexpressjs/express#6705\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update express app example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6718\"\u003eexpressjs/express#6718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.2 to 3.29.5 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/expressjs/express/pull/6675\"\u003eexpressjs/express#6675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove history.md from being packaged on publish by \u003ca href=\"https://github.com/sheplu\"\u003e\u003ccode\u003e@​sheplu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6780\"\u003eexpressjs/express#6780\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/expressjs/express/blob/master/History.md\"\u003eexpress's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.2.1 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRevert security fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.2.0 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eA deprecation warning was added when using \u003ccode\u003eres.redirect\u003c/code\u003e with undefined arguments, Express now emits a warning to help detect calls that pass undefined as the status or URL and make them easier to fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.1.0 / 2025-03-31\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eUint8Array\u003c/code\u003e in \u003ccode\u003eres.send()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for ETag option in \u003ccode\u003eres.sendFile()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for multiple links with the same rel in \u003ccode\u003eres.links()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd funding field to package.json\u003c/li\u003e\n\u003cli\u003eperf: use loop for acceptParams\u003c/li\u003e\n\u003cli\u003erefactor: prefix built-in node module imports\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esetprototypeof\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esafe-buffer\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003eutils-merge\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003emethods\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003edepd\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003edebug@^4.4.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003erouter@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003econtent-type@^1.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003efinalhandler@^2.1.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eqs@^6.14.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eserver-static@2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003etype-is@2.0.1\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.1 / 2024-10-08\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecookie\u003c/code\u003e semver lock to address \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2024-47764\"\u003eCVE-2024-47764\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.0 / 2024-09-10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eremove:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epath-is-absolute\u003c/code\u003e dependency - use \u003ccode\u003epath.isAbsolute\u003c/code\u003e instead\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ebreaking:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eres.status()\u003c/code\u003e accepts only integers, and input must be greater than 99 and less than 1000\n\u003cul\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eRangeError: Invalid status code: ${code}. Status code must be greater than 99 and less than 1000.\u003c/code\u003e for inputs outside this range\u003c/li\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eTypeError: Invalid status code: ${code}. Status code must be an integer.\u003c/code\u003e for non integer inputs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003edeps: send@1.0.0\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/expressjs/express/commit/dbac741a49a5a64336b70c06e85c2e2706e36336\"\u003e\u003ccode\u003edbac741\u003c/code\u003e\u003c/a\u003e 5.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/697547cde621d8b0a47b4fff6e98b29337f8c980\"\u003e\u003ccode\u003e697547c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;sec: security patch for CVE-2024-51999\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/4007ad103ba29f6426b2ec9eccfb1ceb792682a8\"\u003e\u003ccode\u003e4007ad1\u003c/code\u003e\u003c/a\u003e Release: 5.2.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6920\"\u003e#6920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/2f64f68c37c64ae333e41ff38032d21860f22255\"\u003e\u003ccode\u003e2f64f68\u003c/code\u003e\u003c/a\u003e sec: security patch for CVE-2024-51999\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/ed0ba3f1dc905d6b62eabf23bd383abcae4901ba\"\u003e\u003ccode\u003eed0ba3f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6928\"\u003e#6928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/8eace4603cb2547608578a4fbb259dc984216f71\"\u003e\u003ccode\u003e8eace46\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 4.31.2 to 4.31.6 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6929\"\u003e#6929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/30bae810279b2ea162bed5b14ce6c35a110a87f5\"\u003e\u003ccode\u003e30bae81\u003c/code\u003e\u003c/a\u003e build(deps): bump coverallsapp/github-action from 2.3.6 to 2.3.7 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6930\"\u003e#6930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/758d4355d45322b4c8cd347ebcefbf3b154c7e7f\"\u003e\u003ccode\u003e758d435\u003c/code\u003e\u003c/a\u003e deps: body-parser@^2.2.1 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6922\"\u003e#6922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/77bcd5274a87047e5b3fe2f17f6c342db3909c53\"\u003e\u003ccode\u003e77bcd52\u003c/code\u003e\u003c/a\u003e docs: update emeritus triagers (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6890\"\u003e#6890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/f33caf1f89a028f0ea98ff5a156a68e65a2eabdd\"\u003e\u003ccode\u003ef33caf1\u003c/code\u003e\u003c/a\u003e Nominate to \u003ca href=\"https://github.com/efekrskl\"\u003e\u003ccode\u003e@​efekrskl\u003c/code\u003e\u003c/a\u003e for triage team (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6888\"\u003e#6888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/expressjs/express/compare/v4.22.1...v5.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nodemailer` from 7.0.13 to 8.0.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodemailer/nodemailer/releases\"\u003enodemailer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.10\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.9...v8.0.10\"\u003e8.0.10\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efall back to lower-severity handler when custom logger lacks a level method (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/6d849df59a56184b48844ed10b5fb7b8e9f74634\"\u003e6d849df\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.0.9\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.8...v8.0.9\"\u003e8.0.9\u003c/a\u003e (2026-05-26)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etwo pending security advisories (jsonTransport access bypass, List-* CRLF injection) (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1820\"\u003e#1820\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/5f694977da2e0e13dc947037566e8e689a01217e\"\u003e5f69497\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.0.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.7...v8.0.8\"\u003e8.0.8\u003c/a\u003e (2026-05-23)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenforce strict TLS for OAuth2 and Ethereal credential requests (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1818\"\u003e#1818\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/833d6e58c8b717962bbb1b23e16923cd267c3bc9\"\u003e833d6e5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efour listener/stream leaks in SMTP transport, connection, pool (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1817\"\u003e#1817\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/850bb91bff7707ed498c1424df01c4e5b30ea14b\"\u003e850bb91\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.0.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.6...v8.0.7\"\u003e8.0.7\u003c/a\u003e (2026-04-27)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ekeep domain as UTF-8 when local part is non-ASCII (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1814\"\u003e#1814\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/66d4ecb5aa431f3614a26b3c08b9c63cdf32a9ea\"\u003e66d4ecb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.0.6\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.5...v8.0.6\"\u003e8.0.6\u003c/a\u003e (2026-04-24)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erestore base64 wrap() trim behavior to prevent trailing CRLF (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1810\"\u003e#1810\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1811\"\u003e#1811\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/b1ae6c1c2927240737d9f68f316f0c84042b8adb\"\u003eb1ae6c1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.0.5\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.4...v8.0.5\"\u003e8.0.5\u003c/a\u003e (2026-04-07)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edecode SMTP server responses as UTF-8 at line boundary (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/95876b103e587e49583e43f88cb2c3a61556f3ac\"\u003e95876b1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esanitize CRLF in transport name option to prevent SMTP command injection (GHSA-vvjj-xcjg-gr5g) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/0a43876801a420ca528f492eaa01bfc421cc306e\"\u003e0a43876\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/nodemailer/nodemailer/blob/master/CHANGELOG.md\"\u003enodemailer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.9...v8.0.10\"\u003e8.0.10\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efall back to lower-severity handler when custom logger lacks a level method (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/6d849df59a56184b48844ed10b5fb7b8e9f74634\"\u003e6d849df\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.8...v8.0.9\"\u003e8.0.9\u003c/a\u003e (2026-05-26)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etwo pending security advisories (jsonTransport access bypass, List-* CRLF injection) (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1820\"\u003e#1820\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/5f694977da2e0e13dc947037566e8e689a01217e\"\u003e5f69497\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.7...v8.0.8\"\u003e8.0.8\u003c/a\u003e (2026-05-23)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenforce strict TLS for OAuth2 and Ethereal credential requests (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1818\"\u003e#1818\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/833d6e58c8b717962bbb1b23e16923cd267c3bc9\"\u003e833d6e5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efour listener/stream leaks in SMTP transport, connection, pool (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1817\"\u003e#1817\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/850bb91bff7707ed498c1424df01c4e5b30ea14b\"\u003e850bb91\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.6...v8.0.7\"\u003e8.0.7\u003c/a\u003e (2026-04-27)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ekeep domain as UTF-8 when local part is non-ASCII (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1814\"\u003e#1814\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/66d4ecb5aa431f3614a26b3c08b9c63cdf32a9ea\"\u003e66d4ecb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.5...v8.0.6\"\u003e8.0.6\u003c/a\u003e (2026-04-24)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erestore base64 wrap() trim behavior to prevent trailing CRLF (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1810\"\u003e#1810\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1811\"\u003e#1811\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/b1ae6c1c2927240737d9f68f316f0c84042b8adb\"\u003eb1ae6c1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.4...v8.0.5\"\u003e8.0.5\u003c/a\u003e (2026-04-07)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edecode SMTP server responses as UTF-8 at line boundary (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/95876b103e587e49583e43f88cb2c3a61556f3ac\"\u003e95876b1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esanitize CRLF in transport name option to prevent SMTP command injection (GHSA-vvjj-xcjg-gr5g) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/0a43876801a420ca528f492eaa01bfc421cc306e\"\u003e0a43876\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.3...v8.0.4\"\u003e8.0.4\u003c/a\u003e (2026-03-25)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esanitize envelope size to prevent SMTP command injection (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/2d7b9710e63555a1eb13d721296c51186d4b5651\"\u003e2d7b971\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/nodemailer/nodemailer/commit/948ae3ff14fb904058f9cf5a6544305eca3b3956\"\u003e\u003ccode\u003e948ae3f\u003c/code\u003e\u003c/a\u003e chore(master): release 8.0.10 (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1823\"\u003e#1823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/9eedad993010704002c50eb5d7238b6b4ce96be6\"\u003e\u003ccode\u003e9eedad9\u003c/code\u003e\u003c/a\u003e docs: add SECURITY.md policy (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1824\"\u003e#1824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/6d849df59a56184b48844ed10b5fb7b8e9f74634\"\u003e\u003ccode\u003e6d849df\u003c/code\u003e\u003c/a\u003e fix: fall back to lower-severity handler when custom logger lacks a level method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/07303cb0cb34b97b44856f5de3eff212b63e4567\"\u003e\u003ccode\u003e07303cb\u003c/code\u003e\u003c/a\u003e chore(master): release 8.0.9 (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1821\"\u003e#1821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/5f694977da2e0e13dc947037566e8e689a01217e\"\u003e\u003ccode\u003e5f69497\u003c/code\u003e\u003c/a\u003e fix: two pending security advisories (jsonTransport access bypass, List-* CRL...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/15138a84c543c20aa399218534cdbbfa2ea1ce55\"\u003e\u003ccode\u003e15138a8\u003c/code\u003e\u003c/a\u003e chore(master): release 8.0.8 (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1819\"\u003e#1819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/850bb91bff7707ed498c1424df01c4e5b30ea14b\"\u003e\u003ccode\u003e850bb91\u003c/code\u003e\u003c/a\u003e fix: four listener/stream leaks in SMTP transport, connection, pool (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1817\"\u003e#1817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/833d6e58c8b717962bbb1b23e16923cd267c3bc9\"\u003e\u003ccode\u003e833d6e5\u003c/code\u003e\u003c/a\u003e fix: enforce strict TLS for OAuth2 and Ethereal credential requests (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1818\"\u003e#1818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/1997040e23e5df901b8ee085ae3fc1fdbdd06f9f\"\u003e\u003ccode\u003e1997040\u003c/code\u003e\u003c/a\u003e chore(master): release 8.0.7 (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1815\"\u003e#1815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/9b9c545dcfae3b884d5b92bf3196e674066e8b3e\"\u003e\u003ccode\u003e9b9c545\u003c/code\u003e\u003c/a\u003e chore: drop nodemailer-ntlm-auth devDependency (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1816\"\u003e#1816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v7.0.13...v8.0.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vue-router` from 4.6.4 to 5.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vuejs/router/releases\"\u003evue-router's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.1.0\u003c/h2\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTyped definePage params.path  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2716\"\u003evuejs/router#2716\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/d65de749\"\u003e\u003c!-- raw HTML omitted --\u003e(d65de)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrict type for definePage param default  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/0ae10cdd\"\u003e\u003c!-- raw HTML omitted --\u003e(0ae10)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport raw param parsers  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/eadec558\"\u003e\u003c!-- raw HTML omitted --\u003e(eadec)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForce array type raw param parsers  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/7a68b87c\"\u003e\u003c!-- raw HTML omitted --\u003e(7a68b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow overriding the global Router type  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/1cd93b33\"\u003e\u003c!-- raw HTML omitted --\u003e(1cd93)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmit runtime warning for invalid format in query params  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/8259a09c\"\u003e\u003c!-- raw HTML omitted --\u003e(8259a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOverride useRouter() return with experimental types config  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/39a344f7\"\u003e\u003c!-- raw HTML omitted --\u003e(39a34)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow string as a param parser for convenience  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/be37b798\"\u003e\u003c!-- raw HTML omitted --\u003e(be37b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix auto import fixes and make experimental esm only  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/db3a6b37\"\u003e\u003c!-- raw HTML omitted --\u003e(db3a6)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeterministic param parser types order  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/bf0fc9b6\"\u003e\u003c!-- raw HTML omitted --\u003e(bf0fc)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid importing unused param parsers  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/41c00e7c\"\u003e\u003c!-- raw HTML omitted --\u003e(41c00)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFilter invalid query params without failing to match  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/db7178a5\"\u003e\u003c!-- raw HTML omitted --\u003e(db717)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect not set format  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/aa89e2ee\"\u003e\u003c!-- raw HTML omitted --\u003e(aa89e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow undefined values for params in query  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/4726e2b6\"\u003e\u003c!-- raw HTML omitted --\u003e(4726e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e: Repeatable params in subsegments  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/846640e4\"\u003e\u003c!-- raw HTML omitted --\u003e(84664)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypes\u003c/strong\u003e: Add vite as optional peer dependency  -  by \u003ca href=\"https://github.com/ForgottenR\"\u003e\u003ccode\u003e@​ForgottenR\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eshihuijie\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2712\"\u003evuejs/router#2712\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/facbf6b1\"\u003e\u003c!-- raw HTML omitted --\u003e(facbf)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vuejs/router/compare/v5.0.7...v5.1.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev5.0.7\u003c/h2\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to babel 8  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/8d3e60e7\"\u003e\u003c!-- raw HTML omitted --\u003e(8d3e6)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003edefineParamParser()\u003c/code\u003e more intuitive  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/8715b211\"\u003e\u003c!-- raw HTML omitted --\u003e(8715b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003e@vue/devtools-api\u003c/code\u003e  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/87c3affe\"\u003e\u003c!-- raw HTML omitted --\u003e(87c3a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ematcher\u003c/strong\u003e: Hint at \u003ccode\u003eparams: {}\u003c/code\u003e workaround in discarded params warning  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eshanliuling\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2689\"\u003evuejs/router#2689\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/c2b13c61\"\u003e\u003c!-- raw HTML omitted --\u003e(c2b13)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eparam-parsers\u003c/strong\u003e: Add include/exclude options  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/91cdec3b\"\u003e\u003c!-- raw HTML omitted --\u003e(91cde)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ematcher\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFinalize param token before processing escaped colon  -  by \u003ca href=\"https://github.com/babu-ch\"\u003e\u003ccode\u003e@​babu-ch\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2654\"\u003evuejs/router#2654\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/20521b03\"\u003e\u003c!-- raw HTML omitted --\u003e(20521)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003equery\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eUse Object.create(null) to prevent prototype pollution  -  by \u003ca href=\"https://github.com/wdskuki\"\u003e\u003ccode\u003e@​wdskuki\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003ewdsmini\u003c/strong\u003e and \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2661\"\u003evuejs/router#2661\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/be88c756\"\u003e\u003c!-- raw HTML omitted --\u003e(be88c)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eresolve\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eOmit empty optional params from resolved params  -  by \u003ca href=\"https://github.com/babu-ch\"\u003e\u003ccode\u003e@​babu-ch\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2434\"\u003evuejs/router#2434\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/1ef09646\"\u003e\u003c!-- raw HTML omitted --\u003e(1ef09)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypes\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eWire RouteNamedMap via generated routes.d.ts  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2700\"\u003evuejs/router#2700\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/aef99415\"\u003e\u003c!-- raw HTML omitted --\u003e(aef99)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eunplugin\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAvoid generating empty routes  -  by \u003ca href=\"https://github.com/FrontEndDog\"\u003e\u003ccode\u003e@​FrontEndDog\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2642\"\u003evuejs/router#2642\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/10a8b773\"\u003e\u003c!-- raw HTML omitted --\u003e(10a8b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply definePage path-param parser overrides  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2699\"\u003evuejs/router#2699\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/c8074862\"\u003e\u003c!-- raw HTML omitted --\u003e(c8074)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evolar\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDrop runtime \u003ccode\u003e@vue/language-core\u003c/code\u003e import  -  by \u003ca href=\"https://github.com/danielroe\"\u003e\u003ccode\u003e@​danielroe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2710\"\u003evuejs/router#2710\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/8af50c9c\"\u003e\u003c!-- raw HTML omitted --\u003e(8af50)\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/vuejs/router/commit/c0e3226dabccd7596b996ce851386997ea2d3cca\"\u003e\u003ccode\u003ec0e3226\u003c/code\u003e\u003c/a\u003e release: vue-router@5.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/router/commit/9ca76720bb7189dbfda1f2cf6255b876517d121c\"\u003e\u003ccode\u003e9ca7672\u003c/code\u003e\u003c/a\u003e chore: fix playgroundc usage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/router/commit/315cc09e6779615434186272503aba71684f7bc4\"\u003e\u003ccode\u003e315cc09\u003c/code\u003e\u003c/a\u003e refactor(experimental): remove defineQueryParamParser and definePathParamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/router/commit/7fa42f455d5fb660b7035722bd9ee373b590cbfb\"\u003e\u003ccode\u003e7fa42f4\u003c/code\u003e\u003c/a\u003e docs: fix gen and dead links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/router/commit/1b3a0683cbe7d95b5aadaea3b19a435c70489c53\"\u003e\u003ccode\u003e1b3a068\u003c/code\u003e\u003c/a\u003e refactor: organize imports and exports add back Router\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/router/commit/665be2dda8e770a7e9a2136c9692cf80519ab133\"\u003e\u003ccode\u003e665be2d\u003c/code\u003e\u003c/a\u003e docs: links update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/router/commit/5d79bd2b9c18db12f87d83e41c014efc10e617c9\"\u003e\u003ccode\u003e5d79bd2\u003c/code\u003e\u003c/a\u003e chore: unused param\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/router/commit/9ccf3d1758ee53eabe781ceabb46287f645ffa18\"\u003e\u003ccode\u003e9ccf3d1\u003c/code\u003e\u003c/a\u003e docs: experimental\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/router/commit/eee8ac6c6aee19b05910ae4147faae122869b186\"\u003e\u003ccode\u003eeee8ac6\u003c/code\u003e\u003c/a\u003e chore: playground param parsers testing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/router/commit/0194b85b7275ee172024baed3da6fb180a1bda2b\"\u003e\u003ccode\u003e0194b85\u003c/code\u003e\u003c/a\u003e build: build before test:types\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vuejs/router/compare/v4.6.4...v5.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 27.4.0 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v27.4.0...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lint-staged` from 16.4.0 to 17.0.7\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.0.7\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.6\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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1792\"\u003e#1792\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/1f672718b6fa67e0f00aafe107cb9f084f4d9102\"\u003e\u003ccode\u003e1f67271\u003c/code\u003e\u003c/a\u003e - Correctly set the \u003ccode\u003e--max-arg-length\u003c/code\u003e default value based on the running platform. This controls how very long lists of staged files are split into multiple chunks.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.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/lint-staged/lint-staged/pull/1788\"\u003e#1788\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/f95c1f8df3368758c44c2052e568aac1b3d4c767\"\u003e\u003ccode\u003ef95c1f8\u003c/code\u003e\u003c/a\u003e - Another fix for making sure \u003cem\u003elint-staged\u003c/em\u003e adds task modifications correctly to the commit in the following cases:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eafter editing \u003ccode\u003e\u0026lt;file\u0026gt;\u003c/code\u003e it is staged with \u003ccode\u003egit add \u0026lt;file\u0026gt;\u003c/code\u003e, and then committed with \u003ccode\u003egit commit\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eafter editing \u003ccode\u003e\u0026lt;file\u0026gt;\u003c/code\u003e it is committed with \u003ccode\u003egit commit --all\u003c/code\u003e without explicit \u003ccode\u003egit add\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eafter editing \u003ccode\u003e\u0026lt;file\u0026gt;\u003c/code\u003e it is committed with \u003ccode\u003egit commit \u0026lt;pathspec\u0026gt;\u003c/code\u003e without explicit \u003ccode\u003egit add\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThere's new test cases which actually setup the Git \u003ccode\u003epre_commit\u003c/code\u003e hook to run \u003cem\u003elint-staged\u003c/em\u003e and verify them. These issues started in \u003cstrong\u003ev17.0.0\u003c/strong\u003e when trying to improve support for committig without having explicitly staged files.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1782\"\u003e#1782\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/06813f9ab661db987e7720086ef9ec3f552ee097\"\u003e\u003ccode\u003e06813f9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Fix \u003cem\u003elint-staged\u003c/em\u003e behavior when implicitly committing files without using \u003ccode\u003egit add\u003c/code\u003e by either:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003egit commit -am \u0026quot;my commit message\u0026quot;\u003c/code\u003e where \u003ccode\u003e-a\u003c/code\u003e (\u003ccode\u003e--all\u003c/code\u003e) means to automatically stage all tracked modified and deleted files\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003egit commit -m \u0026quot;my commit message\u0026quot; .\u003c/code\u003e where \u003ccode\u003e.\u003c/code\u003e is an example of a \u003ca href=\"https://git-scm.com/docs/git-commit#Documentation/git-commit.txt-pathspec\"\u003e\u003cem\u003epathspec\u003c/em\u003e\u003c/a\u003e where matching files will be staged\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1779\"\u003e#1779\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/88670ca2278200f6348ed663358895ddc4bfff3c\"\u003e\u003ccode\u003e88670ca\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Enable immutable GitHub releases\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1776\"\u003e#1776\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/4a5664be63af19590ec37940f705dad870ac5cfb\"\u003e\u003ccode\u003e4a5664b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Adjust GitHub Actions workflow so that automatic publishing works with signed commits.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.7\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.6\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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1792\"\u003e#1792\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/1f672718b6fa67e0f00aafe107cb9f084f4d9102\"\u003e\u003ccode\u003e1f67271\u003c/code\u003e\u003c/a\u003e - Correctly set the \u003ccode\u003e--max-arg-length\u003c/code\u003e default value based on the running platform. This controls how very long lists of staged files are split into multiple chunks.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.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/lint-staged/lint-staged/pull/1788\"\u003e#1788\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/f95c1f8df3368758c44c2052e568aac1b3d4c767\"\u003e\u003ccode\u003ef95c1f8\u003c/code\u003e\u003c/a\u003e - Another fix for making sure \u003cem\u003elint-staged\u003c/em\u003e adds task modifications correctly to the commit in the following cases:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eafter editing \u003ccode\u003e\u0026lt;file\u0026gt;\u003c/code\u003e it is staged with \u003ccode\u003egit add \u0026lt;file\u0026gt;\u003c/code\u003e, and then committed with \u003ccode\u003egit commit\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eafter editing \u003ccode\u003e\u0026lt;file\u0026gt;\u003c/code\u003e it is committed with \u003ccode\u003egit commit --all\u003c/code\u003e without explicit \u003ccode\u003egit add\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eafter editing \u003ccode\u003e\u0026lt;file\u0026gt;\u003c/code\u003e it is committed with \u003ccode\u003egit commit \u0026lt;pathspec\u0026gt;\u003c/code\u003e without explicit \u003ccode\u003egit add\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThere's new test cases which actually setup the Git \u003ccode\u003epre_commit\u003c/code\u003e hook to run \u003cem\u003elint-staged\u003c/em\u003e and verify them. These issues started in \u003cstrong\u003ev17.0.0\u003c/strong\u003e when trying to improve support for committig without having explicitly staged files.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1782\"\u003e#1782\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/06813f9ab661db987e7720086ef9ec3f552ee097\"\u003e\u003ccode\u003e06813f9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Fix \u003cem\u003elint-staged\u003c/em\u003e behavior when implicitly committing files without using \u003ccode\u003egit add\u003c/code\u003e by either:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003egit commit -am \u0026quot;my commit message\u0026quot;\u003c/code\u003e where \u003ccode\u003e-a\u003c/code\u003e (\u003ccode\u003e--all\u003c/code\u003e) means to automatically stage all tracked modified and deleted files\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003egit commit -m \u0026quot;my commit message\u0026quot; .\u003c/code\u003e where \u003ccode\u003e.\u003c/code\u003e is an example of a \u003ca href=\"https://git-scm.com/docs/git-commit#Documentation/git-commit.txt-pathspec\"\u003e\u003cem\u003epathspec\u003c/em\u003e\u003c/a\u003e where matching files will be staged\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1779\"\u003e#1779\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/88670ca2278200f6348ed663358895ddc4bfff3c\"\u003e\u003ccode\u003e88670ca\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Enable immutable GitHub releases\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.1\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/lint-staged/lint-staged/commit/cd11fec419c59b4900aab194f288adf6bb4afdd1\"\u003e\u003ccode\u003ecd11fec\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1807\"\u003e#1807\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/15a8ee0df4ffb4c6fc65ea6828133cc32740c9c4\"\u003e\u003ccode\u003e15a8ee0\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/797bbd943a7adab888640915449c09b8a67cc11d\"\u003e\u003ccode\u003e797bbd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1808\"\u003e#1808\u003c/a\u003e from lint-staged/add-stashing-faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/504e307c819a8b2decdf6c791d5350c4db0b15ed\"\u003e\u003ccode\u003e504e307\u003c/code\u003e\u003c/a\u003e docs: add FAQ entry on how stashing works\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/eff5cd19633ce51ca62ac17a9e66d972a2aaf104\"\u003e\u003ccode\u003eeff5cd1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1806\"\u003e#1806\u003c/a\u003e from lint-staged/update-tinyexec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e build(deps): update \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/a2dd4ea97b1ff36486d88d9bad285834acef7ea6\"\u003e\u003ccode\u003ea2dd4ea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1805\"\u003e#1805\u003c/a\u003e from lint-staged/update-github-templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/c92851945ff4fa604841e53fe044b47177b159b8\"\u003e\u003ccode\u003ec928519\u003c/code\u003e\u003c/a\u003e docs: update GitHub templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/094ba56a3caeeda2cf83ad0a0c83df38ab2f6d06\"\u003e\u003ccode\u003e094ba56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1798\"\u003e#1798\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/88e19fe3d81b8e1516564e7afaf6681f09f83b16\"\u003e\u003ccode\u003e88e19fe\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lint-staged/lint-staged/compare/v16.4.0...v17.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `postcss-cli` from 10.1.0 to 11.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/postcss-cli/blob/master/CHANGELOG.md\"\u003epostcss-cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e11.0.1 / 2025-03-12\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate and minimize dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e11.0.0 / 2023-12-05\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING:\u003c/strong\u003e Require Node.js v18+ (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/pull/464\"\u003e#464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/postcss/postcss-load-config/blob/main/CHANGELOG.md#50-2023-11-20\"\u003e\u003ccode\u003epostcss-load-config@5\u003c/code\u003e\u003c/a\u003e for improved ESM \u0026amp; TS config support (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/issues/461\"\u003e#461\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/postcss/postcss-cli/pull/462\"\u003e#462\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/postcss/postcss-cli/commit/7bea18069b334b0d537d5c772ce20b1637c7e5d6\"\u003e\u003ccode\u003e7bea180\u003c/code\u003e\u003c/a\u003e 11.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss-cli/commit/0dc4eba537acf36af7747753027c99d768644820\"\u003e\u003ccode\u003e0dc4eba\u003c/code\u003e\u003c/a\u003e Use eslint v9 + flat config (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss-cli/commit/733ef42fa6b596139787c721ecfbc2b50d915fae\"\u003e\u003ccode\u003e733ef42\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency sugarss to v5 (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/issues/483\"\u003e#483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss-cli/commit/1363a6549a622a27b4a5d8e55c65d406aae94cbd\"\u003e\u003ccode\u003e1363a65\u003c/code\u003e\u003c/a\u003e Update dependency prettier to ~3.5.0 (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss-cli/commit/bd416f5b326562a228202b1b6b23495ffcffa8ee\"\u003e\u003ccode\u003ebd416f5\u003c/code\u003e\u003c/a\u003e Update dependency uuid to v11 (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/issues/482\"\u003e#482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss-cli/commit/bfad16da0dad084a0961efb1cf44b626fac3a2e0\"\u003e\u003ccode\u003ebfad16d\u003c/code\u003e\u003c/a\u003e Update dependency c8 to v10 (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/issues/480\"\u003e#480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss-cli/commit/b5d8f0ed6e25e7e0f0662e9aed3bfd7def9e6573\"\u003e\u003ccode\u003eb5d8f0e\u003c/code\u003e\u003c/a\u003e feat: replace globby with tinyglobby and remove get-stdin in favor of builtin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss-cli/commit/5f9f92af5f070313fc710a62db0c58705fb891eb\"\u003e\u003ccode\u003e5f9f92a\u003c/code\u003e\u003c/a\u003e Update dependency prettier to ~3.4.0 (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/issues/484\"\u003e#484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss-cli/commit/0f52be713e121c7e4476b380ce7bab9529890b7c\"\u003e\u003ccode\u003e0f52be7\u003c/code\u003e\u003c/a\u003e Update dependency prettier to ~3.3.0 (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/issues/477\"\u003e#477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss-cli/commit/528af4c30beffcce0653eb7046a6f331a0fd5ffd\"\u003e\u003ccode\u003e528af4c\u003c/code\u003e\u003c/a\u003e Adding link to PostCSS (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/issues/472\"\u003e#472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/postcss/postcss-cli/compare/10.1.0...11.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9a...\n\n_Description has been truncated_","html_url":"https://github.com/niyazmft/financial_tracker/pull/92","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/niyazmft%2Ffinancial_tracker/issues/92","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/92/packages"},{"uuid":"4562395890","node_id":"PR_kwDOSOOteM7hUy2I","number":26,"state":"closed","title":"Bump the dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-15T04:36:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T10:40:45.000Z","updated_at":"2026-06-15T04:36:42.000Z","time_to_close":1187755,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":12,"packages":[{"name":"@opentelemetry/exporter-prometheus","old_version":"0.215.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"ioredis","old_version":"5.10.1","new_version":"5.11.0","repository_url":"https://github.com/luin/ioredis"},{"name":"js-yaml","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"qs","old_version":"6.15.1","new_version":"6.15.2","repository_url":"https://github.com/ljharb/qs"},{"name":"sql-formatter","old_version":"15.7.3","new_version":"15.8.0","repository_url":"https://github.com/sql-formatter-org/sql-formatter"},{"name":"@bufbuild/buf","old_version":"1.68.4","new_version":"1.70.0","repository_url":"https://github.com/bufbuild/buf"},{"name":"@testcontainers/postgresql","old_version":"11.14.0","new_version":"12.0.1","repository_url":"https://github.com/testcontainers/testcontainers-node"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"tar","old_version":"7.5.13","new_version":"7.5.15","repository_url":"https://github.com/isaacs/node-tar"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 11 updates in the /rest directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@opentelemetry/exporter-prometheus](https://github.com/open-telemetry/opentelemetry-js) | `0.215.0` | `0.218.0` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.1` | `5.11.0` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `4.1.1` | `4.2.0` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [qs](https://github.com/ljharb/qs) | `6.15.1` | `6.15.2` |\n| [sql-formatter](https://github.com/sql-formatter-org/sql-formatter) | `15.7.3` | `15.8.0` |\n| [@bufbuild/buf](https://github.com/bufbuild/buf) | `1.68.4` | `1.70.0` |\n| [@testcontainers/postgresql](https://github.com/testcontainers/testcontainers-node) | `11.14.0` | `12.0.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |\n| [tar](https://github.com/isaacs/node-tar) | `7.5.13` | `7.5.15` |\n\n\nUpdates `@opentelemetry/exporter-prometheus` from 0.215.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/exporter-prometheus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.215.0...experimental/v0.218.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/sdk-metrics` from 2.7.0 to 2.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-metrics's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.7.1\u003c/h2\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(sdk-metrics): reduce loop overhead in sdk hot paths \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6593\"\u003e#6593\u003c/a\u003e \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md\"\u003e@​opentelemetry/sdk-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: test Node.js 26 in CI \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6671\"\u003e#6671\u003c/a\u003e \u003ca href=\"https://github.com/cjihrig\"\u003e\u003ccode\u003e@​cjihrig\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7\"\u003e\u003ccode\u003e2400d83\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6647\"\u003e#6647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f7a9b7cc854232ebf7dea2d3ec0d6adc49128f53\"\u003e\u003ccode\u003ef7a9b7c\u003c/code\u003e\u003c/a\u003e fix(otlp-transformer): pin protobufjs to 8.0.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6646\"\u003e#6646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/cb38d7f833781c336c990757f773ce9c8360434a\"\u003e\u003ccode\u003ecb38d7f\u003c/code\u003e\u003c/a\u003e test(otlp-transformer): add metrics transfrom benchmark (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6628\"\u003e#6628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a28f12fef5fbdfb3b77a1334175b752883ef708a\"\u003e\u003ccode\u003ea28f12f\u003c/code\u003e\u003c/a\u003e fix(opentelemetry-core): defer tracestate vaidation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6459\"\u003e#6459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b27c5146ac21deb3fb1e8fca370d34f1828f3cc6\"\u003e\u003ccode\u003eb27c514\u003c/code\u003e\u003c/a\u003e refactor(opentelemetry-exporter-prometheus): do not call `enforcePrometheusNa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a2a8186e65a04dfdaf442927fbab268076cd4f5a\"\u003e\u003ccode\u003ea2a8186\u003c/code\u003e\u003c/a\u003e perf(sdk-trace-base): optimize TraceIdRatioBasedSampler hex parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6284\"\u003e#6284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/4c0f3f1b911c4740a085b6c66d267bb74826b475\"\u003e\u003ccode\u003e4c0f3f1\u003c/code\u003e\u003c/a\u003e feat(sdk-node): set TracerProvider in startNodeSDK() (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6607\"\u003e#6607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/417f2f17e4234417b34dbf7bdf8e24c330259dd2\"\u003e\u003ccode\u003e417f2f1\u003c/code\u003e\u003c/a\u003e fix(instr-xhr): do not unpatch XHR methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6611\"\u003e#6611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/47ac523b124be222ac89160e4623e8a60c960f35\"\u003e\u003ccode\u003e47ac523\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: allow browser maintainers to approve changelog edits\u0026quot; (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6627\"\u003e#6627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/86c621d5b8344f1ecdc13a9841a90604912d0055\"\u003e\u003ccode\u003e86c621d\u003c/code\u003e\u003c/a\u003e fix(instrumentation-fetch): tolerate non-writable globalThis.fetch and fix pr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/v2.7.0...v2.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ioredis` from 5.10.1 to 5.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/luin/ioredis/releases\"\u003eioredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/blob/main/CHANGELOG.md\"\u003eioredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/commit/14904327fc212d1f592172d776ebe45178fb7ee7\"\u003e\u003ccode\u003e1490432\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/5359d4d090c17f2ca1e86d92b139cd935ba4643d\"\u003e\u003ccode\u003e5359d4d\u003c/code\u003e\u003c/a\u003e refactor(utils): inline defaults and isArguments helpers (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003e\u003ccode\u003eb7b3def\u003c/code\u003e\u003c/a\u003e feat: add vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/faa53fdfae7f605c19bd74564639640f9d30d404\"\u003e\u003ccode\u003efaa53fd\u003c/code\u003e\u003c/a\u003e ci: update Node.js and Redis test matrix (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e\u003ccode\u003e37d0695\u003c/code\u003e\u003c/a\u003e feat: add increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/612ee9dfe96c1df942eaa415ca94881077191b5c\"\u003e\u003ccode\u003e612ee9d\u003c/code\u003e\u003c/a\u003e chore: update Redis 8.8 test image to custom (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003e\u003ccode\u003ebaf68d6\u003c/code\u003e\u003c/a\u003e feat: add array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/ba3b4cfb6204eccecde928f691a60a869313a0c9\"\u003e\u003ccode\u003eba3b4cf\u003c/code\u003e\u003c/a\u003e test: update Redis 8.8 test image to m03 (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2113\"\u003e#2113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/32dd17b3f714823d9fec09da5f3bc489ef12475d\"\u003e\u003ccode\u003e32dd17b\u003c/code\u003e\u003c/a\u003e test: add hash field subkey notification coverage (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2112\"\u003e#2112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e\u003ccode\u003e04a4615\u003c/code\u003e\u003c/a\u003e feat: add Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `js-yaml` from 4.1.1 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md\"\u003ejs-yaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.0] - 2026-06-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003edocs/safety.md\u003c/code\u003e with notes about processing untrusted YAML.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxDepth\u003c/code\u003e (100) loader option. Not a problem, but gives a better\nexception instead of RangeError on stack overflow.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxMergeSeqLength\u003c/code\u003e (20) loader option. Not a problem after \u003ccode\u003emerge\u003c/code\u003e fix,\nbut an additional restriction for safety.\u003c/li\u003e\n\u003cli\u003eAdded sourcemaps to \u003ccode\u003edist/\u003c/code\u003e builds.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop resolving numbers with underscores as numeric scalars, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/627\"\u003e#627\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSwitched dev toolchains to Vite / neostandard.\u003c/li\u003e\n\u003cli\u003eUpdated demo.\u003c/li\u003e\n\u003cli\u003eReorganized tests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edist/\u003c/code\u003e files are no longer kept in the repository.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parsing of properties on the first implicit block mapping key, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/62\"\u003e#62\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix trailing whitespace handling when folding flow scalar lines, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReject top-level block scalars without content indentation, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/280\"\u003e#280\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnsure numbers survive round-trip, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/737\"\u003e#737\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix test coverage for issue \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/221\"\u003e#221\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix flow scalar trailing whitespace folding, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix digits in YAML named tag handles.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix potential DoS via quadratic complexity in merge - deduplicate repeated\nelements (makes sense for malformed files \u0026gt; 10K).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.14.2] - 2025-11-15\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackported v4.1.1 fix to v3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nodeca/js-yaml/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 8.20.0 to 8.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epg@8.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3521\"\u003eSASL SCRAM\u003c/a\u003e server error responses properly.\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3667\"\u003enode@26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escramMaxIterations\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3677\"\u003econfig option\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eclient.getTransactionStatus()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3645\"\u003emethod\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/brianc/node-postgres/commit/544b1ce8152bc280e398dc1e8a66920abe6a640e\"\u003e\u003ccode\u003e544b1ce\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/cc03fa5cdf0f1e67b2518ebad5cf2269206aa49c\"\u003e\u003ccode\u003ecc03fa5\u003c/code\u003e\u003c/a\u003e Add scramMaxIterations option to limit SCRAM iteration count (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f776327b3fcdd997c67e866ef7c620ef9c26b3f2\"\u003e\u003ccode\u003ef776327\u003c/code\u003e\u003c/a\u003e Remove compatibility code for unsupported versions of Node (\u0026lt;16) (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3678\"\u003e#3678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f252870eba73c15449b57562e6698b5859e32095\"\u003e\u003ccode\u003ef252870\u003c/code\u003e\u003c/a\u003e cleanup: pg utils (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/c8da6ab9326d93005e6947217cf665f707e08ec7\"\u003e\u003ccode\u003ec8da6ab\u003c/code\u003e\u003c/a\u003e Assorted test cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/fa47e73349786c2a76db98801d60c05371b0a906\"\u003e\u003ccode\u003efa47e73\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eClient#end\u003c/code\u003e callback being called multiple times when first is no-op (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/88a7e60c7191ce8061d6276b299895bf5511e042\"\u003e\u003ccode\u003e88a7e60\u003c/code\u003e\u003c/a\u003e cleanup: Move declaration to more natural place\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/2095247a7b10ebe19cd7d518e07ee2f259dda70a\"\u003e\u003ccode\u003e2095247\u003c/code\u003e\u003c/a\u003e cleanup: Combine duplicated code in \u003ccode\u003eClient#query\u003c/code\u003e and avoid unneeded early n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/0ac3eddef6481f4e4f9359c65d3c0cfd7d2124e1\"\u003e\u003ccode\u003e0ac3edd\u003c/code\u003e\u003c/a\u003e fix: apply SASLprep (RFC 4013) to passwords before SCRAM-SHA-256 PBKDF2 (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/be880d45552269f0b847a3e568014bde6536eae3\"\u003e\u003ccode\u003ebe880d4\u003c/code\u003e\u003c/a\u003e Assorted test fixes and cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `qs` from 6.15.1 to 6.15.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ljharb/qs/blob/main/CHANGELOG.md\"\u003eqs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003cstrong\u003e6.15.2\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + \u003ccode\u003eencodeValuesOnly\u003c/code\u003e instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[readme] fix grammar (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Tests] add regression tests for keys containing percent-encoded bracket text\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/ljharb/qs/commit/9aca4076fe788338c67cf7e115f0be6bc58d85a8\"\u003e\u003ccode\u003e9aca407\u003c/code\u003e\u003c/a\u003e v6.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/5e33d33447ed0bf1ddab9abc41d27dea4687d992\"\u003e\u003ccode\u003e5e33d33\u003c/code\u003e\u003c/a\u003e [Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/21f80b33e5c8b3f7eba1034fff0da4a4a37a1d41\"\u003e\u003ccode\u003e21f80b3\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + `e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a0a81ea2071acce3eff41a040f719ac8f5c4f64c\"\u003e\u003ccode\u003ea0a81ea\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/e3062f78f5233b338ceeb8e8dfa5a07dea4b32a8\"\u003e\u003ccode\u003ee3062f7\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/0c180a40adb8c6703fffc85b2ff06ca209f5c1e0\"\u003e\u003ccode\u003e0c180a4\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/3a8b94aec19bd664720f6f6b1e66c4a0dfe4b656\"\u003e\u003ccode\u003e3a8b94a\u003c/code\u003e\u003c/a\u003e [Tests] add regression tests for keys containing percent-encoded bracket text\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/96755abd357c0e534dd3442a84a04d08864bfe0d\"\u003e\u003ccode\u003e96755ab\u003c/code\u003e\u003c/a\u003e [readme] fix grammar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a419ce5bbfcdb98a299f1a0bb47ea055baef20e6\"\u003e\u003ccode\u003ea419ce5\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ljharb/qs/compare/v6.15.1...v6.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sql-formatter` from 15.7.3 to 15.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/releases\"\u003esql-formatter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e15.8.0\u003c/h2\u003e\n\u003ch3\u003ePostgreSQL formatting\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for PostgreSQL keywords in \u003ccode\u003eCREATE CONSTRAINT TRIGGER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/948\"\u003e#948\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/karlhorky\"\u003e\u003ccode\u003e@​karlhorky\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch from yarn to pnpm (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.4...v15.8.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003e15.7.4\u003c/h2\u003e\n\u003ch3\u003eBugfix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Tcl-style $param(...) syntax in SQLite (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/944\"\u003e#944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/943\"\u003e#943\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\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/sql-formatter-org/sql-formatter/commit/a3bfeeb4e96415efe4820a1b2c7ed592384aa0be\"\u003e\u003ccode\u003ea3bfeeb\u003c/code\u003e\u003c/a\u003e Release v15.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/a7f50d8a68f667b90cfd4e75b1fd683e67413a89\"\u003e\u003ccode\u003ea7f50d8\u003c/code\u003e\u003c/a\u003e Add tagName config to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dab8693b1728696981f3db9b0780b8a7229687c3\"\u003e\u003ccode\u003edab8693\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm as plugin to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/5ab2c8019f9d09ccf3df388d74672821b27ce241\"\u003e\u003ccode\u003e5ab2c80\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/1a000ca83e2e30999f222193ef28c14a949998a2\"\u003e\u003ccode\u003e1a000ca\u003c/code\u003e\u003c/a\u003e Configure release-it to use pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/34fe5b080c11b1cecbe3a0c5d8b89ed8a62941ef\"\u003e\u003ccode\u003e34fe5b0\u003c/code\u003e\u003c/a\u003e Fix scripts using -- (pnpm interprets this as file name)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/6610b6a65a1f7a3654d45bc6100a897649b3136d\"\u003e\u003ccode\u003e6610b6a\u003c/code\u003e\u003c/a\u003e Add pnpm to lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/af633e85fb684650ee7e3b48f1a9dcd897dc050e\"\u003e\u003ccode\u003eaf633e8\u003c/code\u003e\u003c/a\u003e Switch from yarn@1.22.22 to pnpm@11.0.8 (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/ba7437e24b51bb7c5cf38dfcc9f4e58a5dc7fab5\"\u003e\u003ccode\u003eba7437e\u003c/code\u003e\u003c/a\u003e Ignore pnpm-lock.yaml from Prettier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dcee63f96d576ed828dd5af67d26ee9a3728e2db\"\u003e\u003ccode\u003edcee63f\u003c/code\u003e\u003c/a\u003e Work around pnpm bug with pmOnFail + devEngines.packageManager\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.3...v15.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@bufbuild/buf` from 1.68.4 to 1.70.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bufbuild/buf/releases\"\u003e@​bufbuild/buf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.70.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e, \u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules and make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.69.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/blob/main/CHANGELOG.md\"\u003e@​bufbuild/buf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.70.0] - 2026-05-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e,\n\u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules\nand make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v1.69.0] - 2026-04-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/commit/4f657db175eb7418efef85b35db97472ff9df526\"\u003e\u003ccode\u003e4f657db\u003c/code\u003e\u003c/a\u003e Release v1.70.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4556\"\u003e#4556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/f278fa0989621eca516eb5a0a5b00b8ebe94b777\"\u003e\u003ccode\u003ef278fa0\u003c/code\u003e\u003c/a\u003e Bump buf.build/gen/go/bufbuild/registry/connectrpc/go from 1.19.2-20260507063...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/977b89ba82ca288850b6ba64602d6d201d331cd9\"\u003e\u003ccode\u003e977b89b\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4555\"\u003e#4555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/88dfb3409802d618d1fe4f8b6beef84b06df0ea3\"\u003e\u003ccode\u003e88dfb34\u003c/code\u003e\u003c/a\u003e Lint MessageRules.oneof in PROTOVALIDATE check (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4540\"\u003e#4540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/e96239e0572348b8f9d6ee8345b97713aa8e46f6\"\u003e\u003ccode\u003ee96239e\u003c/code\u003e\u003c/a\u003e Filter out GIT_WORK_TREE from cloner environment variables (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d0e7d39ca13bbacc73a3e82d1073fb1fe71a4e3e\"\u003e\u003ccode\u003ed0e7d39\u003c/code\u003e\u003c/a\u003e Add env override test cases to git package (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/37478176d82c2a099f0b4c85b86e40d01c857531\"\u003e\u003ccode\u003e3747817\u003c/code\u003e\u003c/a\u003e Bump actions/create-github-app-token from 3.1.1 to 3.2.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4544\"\u003e#4544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/9eddb9cdeb75daab3c3b699060ae1a38ed199961\"\u003e\u003ccode\u003e9eddb9c\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d46006023cfbff8bd7571a8c8b908455865005b2\"\u003e\u003ccode\u003ed460060\u003c/code\u003e\u003c/a\u003e Update README.md (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/2dae4779331f5d24244176ce168758fcc25b84e7\"\u003e\u003ccode\u003e2dae477\u003c/code\u003e\u003c/a\u003e Fix LSP documentSymbol marking every symbol as deprecated (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4531\"\u003e#4531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bufbuild/buf/compare/v1.68.4...v1.70.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@testcontainers/postgresql` from 11.14.0 to 12.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-node/releases\"\u003e@​testcontainers/postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.0.1\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Podman image healthcheck detection \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd npm dependency release age cooldown \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse Docker Hub Redpanda image \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse preinstalled Podman in checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify affected package checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd npm publish dry run workflow \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade build agents from Ubuntu 22.04 to 24.04 \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove module compile checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1327\"\u003e#1327\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump tmp from 0.2.5 to 0.2.6 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 14 directories with 16 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group with 13 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 13 directories with 12 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 1 directory with 22 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.0\u003c/h2\u003e\n\u003ch2\u003e🚨 Breaking Changes\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eNode 20 is EOL. Minimum engine requirement is now \u003ccode\u003e\u0026gt;= 22.22\u003c/code\u003e, matching the constraints from our dependencies.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePreviously, when no wait strategy was configured, Testcontainers defaulted to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe new default wait strategy uses a Docker healthcheck when one is configured on the container image or service, falling back to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e when no healthcheck is available.\u003c/p\u003e\n\u003cp\u003eTo keep the previous behaviour, configure \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e explicitly:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { DockerComposeEnvironment, GenericContainer, Wait } from \u0026quot;testcontainers\u0026quot;;\r\n\u003cp\u003e// Container: opt back into the previous default of waiting for listening ports\nconst container = await new GenericContainer(\u0026quot;my-image:latest\u0026quot;)\n.withExposedPorts(8080)\n.withWaitStrategy(Wait.forListeningPorts())\n.start();\u003c/p\u003e\n\u003cp\u003e// Compose: apply the previous default to all services\nconst environment = await new DockerComposeEnvironment(composeFilePath, \u0026quot;docker-compose.yml\u0026quot;)\n.withDefaultWaitStrategy(Wait.forListeningPorts())\n.up();\u003c/p\u003e\n\u003cp\u003e// Compose: or apply it to a specific compose container\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/4d8de0cd81c26734b2c95b5fd717fa62ea0648eb\"\u003e\u003ccode\u003e4d8de0c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;v12.0.1\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/d2e4da4b820d5694b120739dad0c360c9e50c3b6\"\u003e\u003ccode\u003ed2e4da4\u003c/code\u003e\u003c/a\u003e v12.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/1077fd6bce442a08fdea707536290a1ae7a0de88\"\u003e\u003ccode\u003e1077fd6\u003c/code\u003e\u003c/a\u003e Revert default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1346\"\u003e#1346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/665feb4f42073eb7394435a84c6eff9f20d7a714\"\u003e\u003ccode\u003e665feb4\u003c/code\u003e\u003c/a\u003e Bump tmp from 0.2.5 to 0.2.6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cdb8366ad8c17692782a2073406209699eeeff73\"\u003e\u003ccode\u003ecdb8366\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 14 directories with 16 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/3148791de679c3208beb6c1a8f37eafe8abb6810\"\u003e\u003ccode\u003e3148791\u003c/code\u003e\u003c/a\u003e Add default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1340\"\u003e#1340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/34c581136a78d3b2098253c8ed86515617d76a52\"\u003e\u003ccode\u003e34c5811\u003c/code\u003e\u003c/a\u003e Add npm dependency release age cooldown (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/c584af1ca12b059c13ba9d76d3b73a2440dbae92\"\u003e\u003ccode\u003ec584af1\u003c/code\u003e\u003c/a\u003e Fix Podman image healthcheck detection (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cae5c26312c234df0001f2866e9d8e58002e54c7\"\u003e\u003ccode\u003ecae5c26\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 13 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/33e1dc109cc94ef9b4e0020b4a6fd9e8b8a354af\"\u003e\u003ccode\u003e33e1dc1\u003c/code\u003e\u003c/a\u003e Use Docker Hub Redpanda image (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-node/compare/v11.14.0...v12.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.3.0 to 30.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003ejest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev30.4.2\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.1\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.0\u003c/h2\u003e\n\u003cp\u003eBig release! 😀\u003c/p\u003e\n\u003cp\u003eMain feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work \u003ccode\u003erequire(esm)\u003c/code\u003e module is now supported on Node 24.9+ (still requires \u003ccode\u003e--experimental-vm-modules\u003c/code\u003e like before).\u003c/p\u003e\n\u003cp\u003eIn addition we now support fake timers for the recently released \u003ccode\u003eTemporal\u003c/code\u003e API in Node v26.\u003c/p\u003e\n\u003cp\u003eReact 19 is also supported properly in \u003ccode\u003epretty-format\u003c/code\u003e, meaning snapshots of React components now work like they should.\u003c/p\u003e\n\u003cp\u003eDue to all the changes, there might be regressions that snuck in. Please report them!\u003c/p\u003e\n\u003cp\u003eFull list of changes below\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\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/jestjs/jest/blob/main/CHANGELOG.md\"\u003ejest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.4.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[pretty-format]\u003c/code\u003e Support React 19 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16123\"\u003e#16123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect-utils]\u003c/code\u003e Fix \u003ccode\u003etoStrictEqual\u003c/code\u003e failing on \u003ccode\u003estructuredClone\u003c/code\u003e results due to cross-realm constructor mismatch (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15959\"\u003e#15959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Prevent \u003ccode\u003etoMatchObject\u003c/code\u003e/subset matching from throwing when encountering exotic iterables (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15952\"\u003e#15952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[fake-timers]\u003c/code\u003e Convert \u003ccode\u003eDate\u003c/code\u003e to milliseconds before passing to \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16029\"\u003e#16029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest]\u003c/code\u003e Export \u003ccode\u003eGlobalConfig\u003c/code\u003e and \u003ccode\u003eProjectConfig\u003c/code\u003e TypeScript types (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Prevent crash when \u003ccode\u003easyncError\u003c/code\u003e is undefined for non-Error throws (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16003\"\u003e#16003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Include \u003ccode\u003eError.cause\u003c/code\u003e in JSON \u003ccode\u003efailureMessages\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15967\"\u003e#15967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Fix preset path resolution on Windows when the preset uses subpath \u003ccode\u003eexports\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15961\"\u003e#15961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config without a validation warning (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Project config validator now emits \u0026quot;is not supported in an individual project configuration\u0026quot; instead of \u0026quot;probably a typing mistake\u0026quot; for known global-only options (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Fix \u003ccode\u003e--localstorage-file\u003c/code\u003e warning on Node 25+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16086\"\u003e#16086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16137\"\u003e#16137\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/jestjs/jest/commit/746f2a0f57c56e3bba555280f0587d40f3db95c0\"\u003e\u003ccode\u003e746f2a0\u003c/code\u003e\u003c/a\u003e v30.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/b3b4a09ed3005369dacc7466d1d2122797283785\"\u003e\u003ccode\u003eb3b4a09\u003c/code\u003e\u003c/a\u003e v30.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/5cbb21e0b3037edb42e503ec1a1ce80efad40c20\"\u003e\u003ccode\u003e5cbb21e\u003c/code\u003e\u003c/a\u003e v30.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/db7141a93cc85fab81cf9c25368e1f2b2c312286\"\u003e\u003ccode\u003edb7141a\u003c/code\u003e\u003c/a\u003e fix: allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.2/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are to...\n\n_Description has been truncated_","html_url":"https://github.com/oyakh1/hiero-mirror-node--021/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyakh1%2Fhiero-mirror-node--021/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"},{"uuid":"4556192358","node_id":"PR_kwDORzhmIM7hBpoQ","number":10,"state":"closed","title":"chore(deps-dev): bump the dev-dependencies group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-07T01:04:04.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-31T01:05:35.000Z","updated_at":"2026-06-07T01:04:05.000Z","time_to_close":604709,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"dev-dependencies","update_count":15,"packages":[{"name":"@eslint/js","old_version":"9.39.4","new_version":"10.0.1","repository_url":"https://github.com/eslint/eslint"},{"name":"@google/genai","old_version":"1.46.0","new_version":"2.7.0","repository_url":"https://github.com/googleapis/js-genai"},{"name":"@rollup/plugin-commonjs","old_version":"29.0.2","new_version":"29.0.3","repository_url":"https://github.com/rollup/plugins"},{"name":"@types/node","old_version":"25.5.0","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.57.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.57.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"eslint","old_version":"9.39.4","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"globals","old_version":"17.4.0","new_version":"17.6.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"lighthouse","old_version":"13.0.3","new_version":"13.3.0","repository_url":"https://github.com/GoogleChrome/lighthouse"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"rollup","old_version":"4.59.1","new_version":"4.60.4","repository_url":"https://github.com/rollup/rollup"},{"name":"rollup-plugin-license","old_version":"3.7.0","new_version":"3.7.1","repository_url":"https://github.com/mjeanroy/rollup-plugin-license"},{"name":"sinon","old_version":"21.0.3","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"typescript-eslint","old_version":"8.57.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.4` | `10.0.1` |\n| [@google/genai](https://github.com/googleapis/js-genai) | `1.46.0` | `2.7.0` |\n| [@rollup/plugin-commonjs](https://github.com/rollup/plugins/tree/HEAD/packages/commonjs) | `29.0.2` | `29.0.3` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.5.0` | `25.9.1` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.57.1` | `8.60.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.57.1` | `8.60.0` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.4` | `10.4.1` |\n| [globals](https://github.com/sindresorhus/globals) | `17.4.0` | `17.6.0` |\n| [lighthouse](https://github.com/GoogleChrome/lighthouse) | `13.0.3` | `13.3.0` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [rollup](https://github.com/rollup/rollup) | `4.59.1` | `4.60.4` |\n| [rollup-plugin-license](https://github.com/mjeanroy/rollup-plugin-license) | `3.7.0` | `3.7.1` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.0.3` | `22.0.0` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.57.1` | `8.60.0` |\n\n\nUpdates `@eslint/js` from 9.39.4 to 10.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003e@​eslint/js's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.0.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c87d5bded54c5cf491eb04c24c9d09bbbd42c23e\"\u003e\u003ccode\u003ec87d5bd\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20531\"\u003e#20531\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84100115c14691691058f00779c94e74fca946a\"\u003e\u003ccode\u003ed841001\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003eminimatch\u003c/code\u003e to \u003ccode\u003e10.2.1\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20519\"\u003e#20519\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/04c21475b3004904948f02049f2888b401d82c78\"\u003e\u003ccode\u003e04c2147\u003c/code\u003e\u003c/a\u003e fix: update error message for unused suppressions (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20496\"\u003e#20496\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/38b089c1726feac0e31a31d47941bd99e29ce003\"\u003e\u003ccode\u003e38b089c\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-array\u003c/code\u003e to ^0.23.1 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20484\"\u003e#20484\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b3dbce50a1404a9f118afe810cefeee79388a2a\"\u003e\u003ccode\u003e5b3dbce\u003c/code\u003e\u003c/a\u003e docs: add AI acknowledgement section to templates (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20431\"\u003e#20431\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6f23076037d5879f20fb3be2ef094293b1e8d38c\"\u003e\u003ccode\u003e6f23076\u003c/code\u003e\u003c/a\u003e docs: toggle nav in no-JS mode (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20476\"\u003e#20476\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b69cfb32a16c5d5e9986390d484fae1d21e406f9\"\u003e\u003ccode\u003eb69cfb3\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e5c281ffd038a3a7a3e5364db0b9378e0ad83020\"\u003e\u003ccode\u003ee5c281f\u003c/code\u003e\u003c/a\u003e chore: updates for v9.39.3 release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8c3832adb77cd993b4a24891900d5eeaaf093cdc\"\u003e\u003ccode\u003e8c3832a\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e to ^8.56.0 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20514\"\u003e#20514\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8330d238ae6adb68bb6a1c9381e38cfedd990d94\"\u003e\u003ccode\u003e8330d23\u003c/code\u003e\u003c/a\u003e test: add tests for config-api (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20493\"\u003e#20493\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/37d6e91e88fa6a2ca6d8726679096acff21ba6cc\"\u003e\u003ccode\u003e37d6e91\u003c/code\u003e\u003c/a\u003e chore: remove eslint v10 prereleases from eslint-config-eslint deps (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20494\"\u003e#20494\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/da7cd0e79197ad16e17052eef99df141de6dbfb1\"\u003e\u003ccode\u003eda7cd0e\u003c/code\u003e\u003c/a\u003e refactor: cleanup error message templates (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20479\"\u003e#20479\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d\"\u003e\u003ccode\u003e1f66734\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e of \u003ccode\u003e@eslint/js\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20467\"\u003e#20467\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.0.0\u003c/h2\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f9e54f43a5e497cdfa179338b431093245cb787b\"\u003e\u003ccode\u003ef9e54f4\u003c/code\u003e\u003c/a\u003e feat!: estimate rule-tester failure location (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20420\"\u003e#20420\u003c/a\u003e) (ST-DDT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a176319d8ade1a7d9b2d7fb8f038f55a2662325f\"\u003e\u003ccode\u003ea176319\u003c/code\u003e\u003c/a\u003e feat!: replace \u003ccode\u003echalk\u003c/code\u003e with \u003ccode\u003estyleText\u003c/code\u003e and add \u003ccode\u003ecolor\u003c/code\u003e to \u003ccode\u003eResultsMeta\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20227\"\u003e#20227\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c7046e6c1e03c4ca0eee4888a1f2eba4c6454f84\"\u003e\u003ccode\u003ec7046e6\u003c/code\u003e\u003c/a\u003e feat!: enable JSX reference tracking (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20152\"\u003e#20152\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa\"\u003e\u003ccode\u003efa31a60\u003c/code\u003e\u003c/a\u003e feat!: add \u003ccode\u003ename\u003c/code\u003e to configs (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20015\"\u003e#20015\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3383e7ec9028166cafc8ea7986c2f7498d0049f0\"\u003e\u003ccode\u003e3383e7e\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eSourceCode\u003c/code\u003e methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20137\"\u003e#20137\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/501abd0e916a35554c58b7c0365537f1fa3880ce\"\u003e\u003ccode\u003e501abd0\u003c/code\u003e\u003c/a\u003e feat!: update dependency minimatch to v10 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20246\"\u003e#20246\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ca4d3b40085de47561f89656a2207d09946ed45e\"\u003e\u003ccode\u003eca4d3b4\u003c/code\u003e\u003c/a\u003e fix!: stricter rule tester assertions for valid test cases (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20125\"\u003e#20125\u003c/a\u003e) (唯然)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/96512a66c86402fb0538cdcb6cd30b9073f6bf3b\"\u003e\u003ccode\u003e96512a6\u003c/code\u003e\u003c/a\u003e fix!: Remove deprecated rule context methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20086\"\u003e#20086\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c69fdacdb2e886b9d965568a397aa8220db3fe90\"\u003e\u003ccode\u003ec69fdac\u003c/code\u003e\u003c/a\u003e feat!: remove eslintrc support (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20037\"\u003e#20037\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/208b5cc34a8374ff81412b5bec2e0800eebfbd04\"\u003e\u003ccode\u003e208b5cc\u003c/code\u003e\u003c/a\u003e feat!: Use \u003ccode\u003eScopeManager#addGlobals()\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20132\"\u003e#20132\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a2ee188ea7a38a0c6155f3d39e2b00e1d0f36e14\"\u003e\u003ccode\u003ea2ee188\u003c/code\u003e\u003c/a\u003e fix!: add \u003ccode\u003euniqueItems: true\u003c/code\u003e in \u003ccode\u003eno-invalid-regexp\u003c/code\u003e option (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20155\"\u003e#20155\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a89059dbf2832d417dd493ee81483227ec44e4ab\"\u003e\u003ccode\u003ea89059d\u003c/code\u003e\u003c/a\u003e feat!: Program range span entire source text (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20133\"\u003e#20133\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39a6424373d915fa9de0d7b0caba9a4dc3da9b53\"\u003e\u003ccode\u003e39a6424\u003c/code\u003e\u003c/a\u003e fix!: assert 'text' is a string across all RuleFixer methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20082\"\u003e#20082\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f28fbf846244e043c92b355b224d121b06140b44\"\u003e\u003ccode\u003ef28fbf8\u003c/code\u003e\u003c/a\u003e fix!: Deprecate \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e and \u003ccode\u003e\u0026quot;as-needed\u0026quot;\u003c/code\u003e options of the \u003ccode\u003eradix\u003c/code\u003e rule (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20223\"\u003e#20223\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/aa3fb2b233e929b37220be940575f42c280e0b98\"\u003e\u003ccode\u003eaa3fb2b\u003c/code\u003e\u003c/a\u003e fix!: tighten \u003ccode\u003efunc-names\u003c/code\u003e schema (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20119\"\u003e#20119\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f6c0ed0311dcfee853367d5068c765d066e6b756\"\u003e\u003ccode\u003ef6c0ed0\u003c/code\u003e\u003c/a\u003e feat!: report \u003ccode\u003eeslint-env\u003c/code\u003e comments as errors (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20128\"\u003e#20128\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4bf739fb533e59f7f0a66b65f7bc80be0f37d8db\"\u003e\u003ccode\u003e4bf739f\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eLintMessage#nodeType\u003c/code\u003e and \u003ccode\u003eTestCaseError#type\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20096\"\u003e#20096\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/523c076866400670fb2192a3f55dbf7ad3469247\"\u003e\u003ccode\u003e523c076\u003c/code\u003e\u003c/a\u003e feat!: drop support for jiti \u0026lt; 2.2.0 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20016\"\u003e#20016\u003c/a\u003e) (michael faith)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64\"\u003e\u003ccode\u003e454a292\u003c/code\u003e\u003c/a\u003e feat!: update \u003ccode\u003eeslint:recommended\u003c/code\u003e configuration (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20210\"\u003e#20210\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4f880ee02992e1bf0e96ebaba679985e2d1295f1\"\u003e\u003ccode\u003e4f880ee\u003c/code\u003e\u003c/a\u003e feat!: remove \u003ccode\u003ev10_*\u003c/code\u003e and inactive \u003ccode\u003eunstable_*\u003c/code\u003e flags (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20225\"\u003e#20225\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f18115c363a4ac7671a4c7f30ee13d57ebba330f\"\u003e\u003ccode\u003ef18115c\u003c/code\u003e\u003c/a\u003e feat!: \u003ccode\u003eno-shadow-restricted-names\u003c/code\u003e report \u003ccode\u003eglobalThis\u003c/code\u003e by default (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20027\"\u003e#20027\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e\"\u003e\u003ccode\u003ec6358c3\u003c/code\u003e\u003c/a\u003e feat!: Require Node.js \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20160\"\u003e#20160\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bff9091927811497dbf066b0e3b85ecb37d43822\"\u003e\u003ccode\u003ebff9091\u003c/code\u003e\u003c/a\u003e feat: handle \u003ccode\u003eArray.fromAsync\u003c/code\u003e in \u003ccode\u003earray-callback-return\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20457\"\u003e#20457\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/290c594bb50c439fb71bc75521ee5360daa8c222\"\u003e\u003ccode\u003e290c594\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eself\u003c/code\u003e to \u003ccode\u003eno-implied-eval\u003c/code\u003e rule (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20468\"\u003e#20468\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43677de07ebd6e14bfac40a46ad749ba783c45f2\"\u003e\u003ccode\u003e43677de\u003c/code\u003e\u003c/a\u003e feat: fix handling of function and class expression names in \u003ccode\u003eno-shadow\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20432\"\u003e#20432\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d\"\u003e\u003ccode\u003e1f66734\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e of \u003ccode\u003e@eslint/js\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20467\"\u003e#20467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f3fbc2f60cbe2c718364feb8c3fc0452c0df3c56\"\u003e\u003ccode\u003ef3fbc2f\u003c/code\u003e\u003c/a\u003e chore: set \u003ccode\u003e@eslint/js\u003c/code\u003e version to 10.0.0 to skip releasing it (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20466\"\u003e#20466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b4b3127f8542c599ce2dea804b6582ebc40c993d\"\u003e\u003ccode\u003eb4b3127\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0b14059491d830a49b3577931f4f68fbcfce6be5\"\u003e\u003ccode\u003e0b14059\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa\"\u003e\u003ccode\u003efa31a60\u003c/code\u003e\u003c/a\u003e feat!: add \u003ccode\u003ename\u003c/code\u003e to configs (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1e2cad5f6fa47ed6ed89d2a29798dda926d50990\"\u003e\u003ccode\u003e1e2cad5\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64\"\u003e\u003ccode\u003e454a292\u003c/code\u003e\u003c/a\u003e feat!: update \u003ccode\u003eeslint:recommended\u003c/code\u003e configuration (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20210\"\u003e#20210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e\"\u003e\u003ccode\u003ec6358c3\u003c/code\u003e\u003c/a\u003e feat!: Require Node.js \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20160\"\u003e#20160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint/eslint/commits/v10.0.1/packages/js\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@google/genai` from 1.46.0 to 2.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/js-genai/releases\"\u003e@​google/genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.7.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.6.0...v2.7.0\"\u003e2.7.0\u003c/a\u003e (2026-05-27)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Skill Registry ListSkills and DeleteSkill to SDK (\u003ca href=\"https://github.com/googleapis/js-genai/commit/d75582ad9bd04b071c4eea003df80b417070fd87\"\u003ed75582a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadditional computer_use field support for vertex. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/54a692b372fe6d5ab1340cd3ae4ea02a3a59e85c\"\u003e54a692b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einteraction-api:\u003c/strong\u003e Allow \u0026quot;text/csv\u0026quot; as a supported document mime type for Interaction API. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/3cc830e592d9c3185f0b9c15ed36de7581e0a5d5\"\u003e3cc830e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einteraction-api:\u003c/strong\u003e Enable BigQuery tool in Deep Research config. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/58c8c7e57b8454469e0f33a873432b892ef3ffc1\"\u003e58c8c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Reinforcement Tuning in GenAI SDK (\u003ca href=\"https://github.com/googleapis/js-genai/commit/418cc35c62af073dc41169df09884bfdcd25b4b8\"\u003e418cc35\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.5.0...v2.6.0\"\u003e2.6.0\u003c/a\u003e (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eenable_prompt_injection_detection\u003c/code\u003e for Computer Use feature for the Gemini API. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/f780f3c6dcbf311b8712a8d2bda2b1cee38d3067\"\u003ef780f3c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd budget_exceeded status (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1e97bd0ab7791f6140b24d3a4457c097dd2d48a0\"\u003e1e97bd0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd gemini-3.5-flash (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1e97bd0ab7791f6140b24d3a4457c097dd2d48a0\"\u003e1e97bd0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd new fields (\u003ca href=\"https://github.com/googleapis/js-genai/commit/b78eeee55607797a1bb14d41e648dacab863a7d2\"\u003eb78eeee\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.4.0...v2.5.0\"\u003e2.5.0\u003c/a\u003e (2026-05-20)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Gemini 3.5 Flash model to options (\u003ca href=\"https://github.com/googleapis/js-genai/commit/fcf26e386d4c8586047b64ecb0f01705d7a0a43e\"\u003efcf26e3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.3.0...v2.4.0\"\u003e2.4.0\u003c/a\u003e (2026-05-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Agent and Environment APIs. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/b0d9d2b84b3f94ba710b30b8a993cb7d23a10d35\"\u003eb0d9d2b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eoutput_text for turns that don't end with text. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1a3d94f81574256e2f9e72af6bd5273f44d9fe2f\"\u003e1a3d94f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.2.0...v2.3.0\"\u003e2.3.0\u003c/a\u003e (2026-05-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\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/googleapis/js-genai/blob/main/CHANGELOG.md\"\u003e@​google/genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.6.0...v2.7.0\"\u003e2.7.0\u003c/a\u003e (2026-05-27)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Skill Registry ListSkills and DeleteSkill to SDK (\u003ca href=\"https://github.com/googleapis/js-genai/commit/d75582ad9bd04b071c4eea003df80b417070fd87\"\u003ed75582a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadditional computer_use field support for vertex. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/54a692b372fe6d5ab1340cd3ae4ea02a3a59e85c\"\u003e54a692b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einteraction-api:\u003c/strong\u003e Allow \u0026quot;text/csv\u0026quot; as a supported document mime type for Interaction API. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/3cc830e592d9c3185f0b9c15ed36de7581e0a5d5\"\u003e3cc830e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einteraction-api:\u003c/strong\u003e Enable BigQuery tool in Deep Research config. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/58c8c7e57b8454469e0f33a873432b892ef3ffc1\"\u003e58c8c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Reinforcement Tuning in GenAI SDK (\u003ca href=\"https://github.com/googleapis/js-genai/commit/418cc35c62af073dc41169df09884bfdcd25b4b8\"\u003e418cc35\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.5.0...v2.6.0\"\u003e2.6.0\u003c/a\u003e (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eenable_prompt_injection_detection\u003c/code\u003e for Computer Use feature for the Gemini API. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/f780f3c6dcbf311b8712a8d2bda2b1cee38d3067\"\u003ef780f3c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd budget_exceeded status (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1e97bd0ab7791f6140b24d3a4457c097dd2d48a0\"\u003e1e97bd0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd gemini-3.5-flash (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1e97bd0ab7791f6140b24d3a4457c097dd2d48a0\"\u003e1e97bd0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd new fields (\u003ca href=\"https://github.com/googleapis/js-genai/commit/b78eeee55607797a1bb14d41e648dacab863a7d2\"\u003eb78eeee\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.4.0...v2.5.0\"\u003e2.5.0\u003c/a\u003e (2026-05-20)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Gemini 3.5 Flash model to options (\u003ca href=\"https://github.com/googleapis/js-genai/commit/fcf26e386d4c8586047b64ecb0f01705d7a0a43e\"\u003efcf26e3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.3.0...v2.4.0\"\u003e2.4.0\u003c/a\u003e (2026-05-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Agent and Environment APIs. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/b0d9d2b84b3f94ba710b30b8a993cb7d23a10d35\"\u003eb0d9d2b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eoutput_text for turns that don't end with text. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1a3d94f81574256e2f9e72af6bd5273f44d9fe2f\"\u003e1a3d94f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.2.0...v2.3.0\"\u003e2.3.0\u003c/a\u003e (2026-05-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003einteraction.{output_text,output_image,output_audio,output_video} (\u003ca href=\"https://github.com/googleapis/js-genai/commit/0188233bc1a18033f0a2a8bb228c04181a05dbad\"\u003e0188233\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.1.0...v2.2.0\"\u003e2.2.0\u003c/a\u003e (2026-05-12)\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/googleapis/js-genai/commit/2821346c85468d5fc18f95a5824583868548c6d8\"\u003e\u003ccode\u003e2821346\u003c/code\u003e\u003c/a\u003e chore(main): release 2.7.0 (\u003ca href=\"https://redirect.github.com/googleapis/js-genai/issues/1630\"\u003e#1630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/54a692b372fe6d5ab1340cd3ae4ea02a3a59e85c\"\u003e\u003ccode\u003e54a692b\u003c/code\u003e\u003c/a\u003e feat: additional computer_use field support for vertex.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/d75582ad9bd04b071c4eea003df80b417070fd87\"\u003e\u003ccode\u003ed75582a\u003c/code\u003e\u003c/a\u003e feat: Add Skill Registry ListSkills and DeleteSkill to SDK\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/3cc830e592d9c3185f0b9c15ed36de7581e0a5d5\"\u003e\u003ccode\u003e3cc830e\u003c/code\u003e\u003c/a\u003e feat(interaction-api): Allow \u0026quot;text/csv\u0026quot; as a supported document mime type for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/58c8c7e57b8454469e0f33a873432b892ef3ffc1\"\u003e\u003ccode\u003e58c8c7e\u003c/code\u003e\u003c/a\u003e feat(interaction-api): Enable BigQuery tool in Deep Research config.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/b25d22f08ebb10ed1fe2084b76fca62c1e609077\"\u003e\u003ccode\u003eb25d22f\u003c/code\u003e\u003c/a\u003e chore: Internal cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/418cc35c62af073dc41169df09884bfdcd25b4b8\"\u003e\u003ccode\u003e418cc35\u003c/code\u003e\u003c/a\u003e feat: Support Reinforcement Tuning in GenAI SDK\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/a631549ff5e2913eb42d5f01e756231949633197\"\u003e\u003ccode\u003ea631549\u003c/code\u003e\u003c/a\u003e chore(main): release 2.6.0 (\u003ca href=\"https://redirect.github.com/googleapis/js-genai/issues/1623\"\u003e#1623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/f780f3c6dcbf311b8712a8d2bda2b1cee38d3067\"\u003e\u003ccode\u003ef780f3c\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eenable_prompt_injection_detection\u003c/code\u003e for Computer Use feature for th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/b78eeee55607797a1bb14d41e648dacab863a7d2\"\u003e\u003ccode\u003eb78eeee\u003c/code\u003e\u003c/a\u003e feat: add new fields\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/js-genai/compare/v1.46.0...v2.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003epreinstall\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@rollup/plugin-commonjs` from 29.0.2 to 29.0.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rollup/plugins/blob/master/packages/commonjs/CHANGELOG.md\"\u003e@​rollup/plugin-commonjs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.0.3\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-05-29\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecommonjs: make \u003ca href=\"https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1868\"\u003e#1868\u003c/a\u003e es5-compatible (\u003ca href=\"https://redirect.github.com/rollup/plugins/issues/1981\"\u003e#1981\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/rollup/plugins/commit/1e4025b6e984820523b612b74f09da0a4913d38a\"\u003e\u003ccode\u003e1e4025b\u003c/code\u003e\u003c/a\u003e chore(release): commonjs v29.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/plugins/commit/08a5b175b966c571ecfee6082ac654784a40b8ae\"\u003e\u003ccode\u003e08a5b17\u003c/code\u003e\u003c/a\u003e fix(commonjs): make \u003ca href=\"https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1868\"\u003e#1868\u003c/a\u003e es5-compatible (\u003ca href=\"https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1981\"\u003e#1981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/plugins/commit/5800bf331567c07590f9c3510c684b22c57629d3\"\u003e\u003ccode\u003e5800bf3\u003c/code\u003e\u003c/a\u003e chore(repo): test migration to vitest. phase 4 (\u003ca href=\"https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1978\"\u003e#1978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rollup/plugins/commits/commonjs-v29.0.3/packages/commonjs\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.5.0 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.57.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-deprecated] object destructuring values should be treated as declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12292\"\u003e#12292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-type-assertion] handle crash on recursive template literal types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12150\"\u003e#12150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDima Barabash\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4302433ae6bf93d4ddc35264ad1b951254758566\"\u003e\u003ccode\u003e4302433\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-floating-promises] stack overflow when using recursiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/10b79f1ba8e98610a3af85152a1b3b406f91e633\"\u003e\u003ccode\u003e10b79f1\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint to v10.4.0 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12339\"\u003e#12339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2a6765d9628dc776f8127c96f088bb807c0bcab2\"\u003e\u003ccode\u003e2a6765d\u003c/code\u003e\u003c/a\u003e chore: clenaup \u003ccode\u003egetAwaitedType\u003c/code\u003e from \u003ccode\u003etypescript.d.ts\u003c/code\u003e (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12302\"\u003e#12302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e26dc8003ababf078aad4df17765ee4cea30644c\"\u003e\u003ccode\u003ee26dc80\u003c/code\u003e\u003c/a\u003e docs: update stale links to latest (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12313\"\u003e#12313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ec3ef25390f7daf5a9ff33a60282bdbbb49ab0f3\"\u003e\u003ccode\u003eec3ef25\u003c/code\u003e\u003c/a\u003e test: make no-useless-empty-export tests fully static (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12260\"\u003e#12260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/eslint-plugin\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/parser` from 8.57.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.0 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.58.2 (2026-04-13)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/52457932e5507b5ca01e720a541f3f8d01e09b9d\"\u003e\u003ccode\u003e5245793\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ea9ae4f8817873480e3501145059f63e39e8d8a1\"\u003e\u003ccode\u003eea9ae4f\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/90c2803a4c250e0343598d41e973f95e743bf4ce\"\u003e\u003ccode\u003e90c2803\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/be6b49a02d68db9bdc8985e7e9e1598700fda2fa\"\u003e\u003ccode\u003ebe6b49a\u003c/code\u003e\u003c/a\u003e fix: remove tsbuildinfo cache file from published packages (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12187\"\u003e#12187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/5311ed312eadf4e238324f2726ae0b1f3f2206e6\"\u003e\u003ccode\u003e5311ed3\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 9.39.4 to 10.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e) (Minh Vu)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c5bc78b37e08b9054a11f0cc2d81808bb24acb85\"\u003e\u003ccode\u003ec5bc78b\u003c/code\u003e\u003c/a\u003e fix: false positive for reference in \u003ccode\u003efinally\u003c/code\u003e block (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20655\"\u003e#20655\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/27538c01f5df4e9306f6f4ba867b2dd6307fae59\"\u003e\u003ccode\u003e27538c0\u003c/code\u003e\u003c/a\u003e fix: add missing CodePath and CodePathSegment types (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20853\"\u003e#20853\u003c/a\u003e) (Pixel998)\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/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/305d5b91aeac24d36fde42f75625a8f183d4ce43\"\u003e\u003ccode\u003e305d5b9\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rules from related rules section (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20911\"\u003e#20911\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c\"\u003e\u003ccode\u003e49b0202\u003c/code\u003e\u003c/a\u003e docs: fix \u003ccode\u003edisplay: none\u003c/code\u003e of ad (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20901\"\u003e#20901\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9067f9492ec998afc5b4f057a477ecf6ebd45e44\"\u003e\u003ccode\u003e9067f94\u003c/code\u003e\u003c/a\u003e docs: switch build to Node.js 24 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20893\"\u003e#20893\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c91b0417e3420c76807ce1fa2aea76e2de87ab86\"\u003e\u003ccode\u003ec91b041\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/e349265cb37f3ebc837e178e48a725bb782bd870\"\u003e\u003ccode\u003ee349265\u003c/code\u003e\u003c/a\u003e docs: clarify semver strings in rule deprecation objects (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20885\"\u003e#20885\u003c/a\u003e) (Milos Djermanovic)\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/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20922\"\u003e#20922\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e) (Arpit Jain)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b\"\u003e\u003ccode\u003e64bca24\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20912\"\u003e#20912\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56\"\u003e\u003ccode\u003e6d7c832\u003c/code\u003e\u003c/a\u003e chore: ignore fflate updates in renovate (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20908\"\u003e#20908\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b2c86382164d87c6203b78d52068cd6a2a6ffe30\"\u003e\u003ccode\u003eb2c8638\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.7 to 6.0.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20889\"\u003e#20889\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a9b8d7f74c50211701cfc49710fa541fd91b2aa5\"\u003e\u003ccode\u003ea9b8d7f\u003c/code\u003e\u003c/a\u003e chore: increase maxBuffer for ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20881\"\u003e#20881\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b702ead5e1ed7cb9f28238a454797662efb37396\"\u003e\u003ccode\u003eb702ead\u003c/code\u003e\u003c/a\u003e chore: update ecosystem update PR settings (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20884\"\u003e#20884\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/507f60e9a78c9a902bc8759f066ae17a1ea6cd81\"\u003e\u003ccode\u003e507f60e\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20882\"\u003e#20882\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92f5c5bb6bf3a5d167c8ee53a430833410295c6d\"\u003e\u003ccode\u003e92f5c5b\u003c/code\u003e\u003c/a\u003e test: add unit test for message-count (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20878\"\u003e#20878\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/df321080af5758b1fa25e4b9a40e26135642dd6e\"\u003e\u003ccode\u003edf32108\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003e@​eslint/markdown\u003c/code\u003e and typescript-eslint ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20837\"\u003e#20837\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/327f91d36aa49f2a50ded931d841a16374fd875f\"\u003e\u003ccode\u003e327f91d\u003c/code\u003e\u003c/a\u003e chore: use includeIgnoreFile internally (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20876\"\u003e#20876\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f0dc4bd893fb3a9f44e4ddc3ad7063ffb0beacd3\"\u003e\u003ccode\u003ef0dc4bd\u003c/code\u003e\u003c/a\u003e chore: pin fflate@0.8.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20877\"\u003e#20877\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0f4bd257a67a082b756de746d9e0c4842ab764ca\"\u003e\u003ccode\u003e0f4bd25\u003c/code\u003e\u003c/a\u003e ci: run Discord alert for ecosystem test failures (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20873\"\u003e#20873\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.4.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf\"\u003e\u003ccode\u003e1a45ec5\u003c/code\u003e\u003c/a\u003e feat: check sequence expressions in \u003ccode\u003efor-direction\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20701\"\u003e#20701\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b\"\u003e\u003ccode\u003e450040b\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to \u003ccode\u003eeslint/config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20735\"\u003e#20735\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c\"\u003e\u003ccode\u003e6799431\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-helpers\u003c/code\u003e to ^0.6.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20850\"\u003e#20850\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd\"\u003e\u003ccode\u003ef078fef\u003c/code\u003e\u003c/a\u003e fix: handle non-array deprecated rule replacements (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20825\"\u003e#20825\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f\"\u003e\u003ccode\u003e9cc7387\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5\"\u003e\u003ccode\u003e3d7b548\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb\"\u003e\u003ccode\u003e191ec3c\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/4a3d15a99c452c4db2fd56b577fa7597e98ab0c2\"\u003e\u003ccode\u003e4a3d15a\u003c/code\u003e\u003c/a\u003e 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43e7e2bdc5c6cacc535446b7d23c10f780384ba8\"\u003e\u003ccode\u003e43e7e2b\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20\"\u003e#20\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v9.39.4...v10.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globals` from 17.4.0 to 17.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/globals/releases\"\u003eglobals's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate globals (2026-05-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/343\"\u003e#343\u003c/a\u003e)  00a4dd9\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\"\u003ehttps://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev17.5.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate globals (2026-04-12) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/342\"\u003e#342\u003c/a\u003e)  5d84602\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.4.0...v17.5.0\"\u003ehttps://github.com/sindresorhus/globals/compare/v17.4.0...v17.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/6b15870f1c08b60b5b57afe45a703d9ed0be39bc\"\u003e\u003ccode\u003e6b15870\u003c/code\u003e\u003c/a\u003e 17.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/00a4dd9821830a9b044798120e86b1bb1a54648d\"\u003e\u003ccode\u003e00a4dd9\u003c/code\u003e\u003c/a\u003e Update globals (2026-05-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/343\"\u003e#343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/b8170c8e1d648291b613c5b39a69652c796fa36c\"\u003e\u003ccode\u003eb8170c8\u003c/code\u003e\u003c/a\u003e 17.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/5d846029679832931f38ced6381cc95bcb9abd80\"\u003e\u003ccode\u003e5d84602\u003c/code\u003e\u003c/a\u003e Update globals (2026-04-12) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/342\"\u003e#342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/1b727e5f4cc39121b8e77b9f27574a8ca27391fc\"\u003e\u003ccode\u003e1b727e5\u003c/code\u003e\u003c/a\u003e Fix build script for ES globals (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/341\"\u003e#341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.4.0...v17.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lighthouse` from 13.0.3 to 13.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GoogleChrome/lighthouse/releases\"\u003elighthouse's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev13.3.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/GoogleChrome/lighthouse/compare/v13.2.0...v13.3.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe expect this release to ship in the DevTools of \u003ca href=\"https://chromiumdash.appspot.com/schedule\"\u003eChrome 150\u003c/a\u003e, and to PageSpeed Insights within 2 weeks.\u003c/p\u003e\n\u003ch2\u003eNotable Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew agentic browsing category added to default config (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/17002\"\u003e#17002\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eagentic-web: add links to category and audit descriptions (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16997\"\u003e#16997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ellms-txt: adjust titles and descriptions and add smoketests (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/17005\"\u003e#17005\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeps\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade dependencies (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/17006\"\u003e#17006\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esmoke: widen byte efficiency wastedBytes range for ToT (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16996\"\u003e#16996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewebmcp: add webmcp smoketests (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16999\"\u003e#16999\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebundle: update build-bundle-mcp (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16995\"\u003e#16995\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev13.2.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/GoogleChrome/lighthouse/compare/v13.1.0...v13.2.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe expect this release to ship in the DevTools of \u003ca href=\"https://chromiumdash.appspot.com/schedule\"\u003eChrome 150\u003c/a\u003e, and to PageSpeed Insights within 2 weeks.\u003c/p\u003e\n\u003ch2\u003eNew contributors\u003c/h2\u003e\n\u003cp\u003eThanks to our new contributors 👽🐷🐰🐯🐻!\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003educky-duke \u003ca href=\"https://github.com/ducky-duke\"\u003e\u003ccode\u003e@​ducky-duke\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimon Zünd \u003ca href=\"https://github.com/szuend\"\u003e\u003ccode\u003e@​szuend\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Audits\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ewebmcp-form-coverage: add audit for missing webmcp tool annotations (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16964\"\u003e#16964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewebmcp-registered-tools: add audit to list registered webmcp tools (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16959\"\u003e#16959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewebmcp-schema-validity: add audit to check WebMCP schema issues (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16973\"\u003e#16973\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eimplement UKM Invalidate fallback for LCP (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16956\"\u003e#16956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eagentic: add new agentic browsing category (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16953\"\u003e#16953\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/GoogleChrome/lighthouse/blob/main/changelog.md\"\u003elighthouse's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e13.3.0 (2026-05-07)\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/GoogleChrome/lighthouse/compare/v13.2.0...v13.3.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe expect this release to ship in the DevTools of \u003ca href=\"https://chromiumdash.appspot.com/schedule\"\u003eChrome 150\u003c/a\u003e, and to PageSpeed Insights within 2 weeks.\u003c/p\u003e\n\u003ch2\u003eNotable Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew agentic browsing category added to default config (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/17002\"\u003e#17002\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eagentic-web: add links to category and audit descriptions (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16997\"\u003e#16997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ellms-txt: adjust titles and descriptions and add smoketests (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/17005\"\u003e#17005\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeps\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade dependencies (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/17006\"\u003e#17006\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esmoke: widen byte efficiency wastedBytes range for ToT (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16996\"\u003e#16996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewebmcp: add webmcp smoketests (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16999\"\u003e#16999\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebundle: update build-bundle-mcp (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16995\"\u003e#16995\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e13.2.0 (2026-04-30)\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/GoogleChrome/lighthouse/compare/v13.1.0...v13.2.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe expect this release to ship in the DevTools of \u003ca href=\"https://chromiumdash.appspot.com/schedule\"\u003eChrome 150\u003c/a\u003e, and to PageSpeed Insights within 2 weeks.\u003c/p\u003e\n\u003ch2\u003eNew contributors\u003c/h2\u003e\n\u003cp\u003eThanks to our new contributors 👽🐷🐰🐯🐻!\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003educky-duke \u003ca href=\"https://github.com/ducky-duke\"\u003e\u003ccode\u003e@​ducky-duke\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimon Zünd \u003ca href=\"https://github.com/szuend\"\u003e\u003ccode\u003e@​szuend\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Audits\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ewebmcp-form-coverage: add audit for missing webmcp tool annotations (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16964\"\u003e#16964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewebmcp-registered-tools: add audit to list registered webmcp tools (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16959\"\u003e#16959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewebmcp-schema-validity: add audit to check WebMCP schema issues (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16973\"\u003e#16973\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eimplement UKM Invalidate fallback for LCP (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16956\"\u003e#16956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eagentic: add new agentic browsing category (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16953\"\u003e#16953\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/GoogleChrome/lighthouse/commit/7d8dcf5004950cad3faa20664e4a7cf2817bd653\"\u003e\u003ccode\u003e7d8dcf5\u003c/code\u003e\u003c/a\u003e v13.3.0 (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/issues/17008\"\u003e#17008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleChrome/lighthouse/commit/f1460505034cb8c542fd09847a87e20cbf6f31b2\"\u003e\u003ccode\u003ef146050\u003c/code\u003e\u003c/a\u003e deps: upgrade dependencies (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/issues/17006\"\u003e#17006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleChrome/lighthouse/commit/ec66b4af8424d43901f956f3070aca1aa1e4c03b\"\u003e\u003ccode\u003eec66b4a\u003c/code\u003e\u003c/a\u003e core(llms-txt): adjust titles and descriptions and add smoketests (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/issues/17005\"\u003e#17005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleChrome/lighthouse/commit/147d04cee1546d6ce93416495a3750e929224552\"\u003e\u003ccode\u003e147d04c\u003c/code\u003e\u003c/a\u003e tests(webmcp): add webmcp smoketests (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/issues/16999\"\u003e#16999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleChrome/lighthouse/commit/e120fadb6f58a31fb0cdebd30...\n\n_Description has been truncated_","html_url":"https://github.com/Chozen0ne/chrome-devtools-mcp/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chozen0ne%2Fchrome-devtools-mcp/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"},{"uuid":"4552509749","node_id":"PR_kwDOSRkiy87g2dN-","number":26,"state":"closed","title":"Bump the dependencies group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-05T23:14:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-30T00:37:30.000Z","updated_at":"2026-06-05T23:14:42.000Z","time_to_close":599830,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":11,"packages":[{"name":"@opentelemetry/exporter-prometheus","old_version":"0.215.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"ioredis","old_version":"5.10.1","new_version":"5.11.0","repository_url":"https://github.com/luin/ioredis"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"qs","old_version":"6.15.1","new_version":"6.15.2","repository_url":"https://github.com/ljharb/qs"},{"name":"sql-formatter","old_version":"15.7.3","new_version":"15.8.0","repository_url":"https://github.com/sql-formatter-org/sql-formatter"},{"name":"@bufbuild/buf","old_version":"1.68.4","new_version":"1.70.0","repository_url":"https://github.com/bufbuild/buf"},{"name":"@testcontainers/postgresql","old_version":"11.14.0","new_version":"12.0.1","repository_url":"https://github.com/testcontainers/testcontainers-node"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"tar","old_version":"7.5.13","new_version":"7.5.15","repository_url":"https://github.com/isaacs/node-tar"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 10 updates in the /rest directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@opentelemetry/exporter-prometheus](https://github.com/open-telemetry/opentelemetry-js) | `0.215.0` | `0.218.0` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.1` | `5.11.0` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [qs](https://github.com/ljharb/qs) | `6.15.1` | `6.15.2` |\n| [sql-formatter](https://github.com/sql-formatter-org/sql-formatter) | `15.7.3` | `15.8.0` |\n| [@bufbuild/buf](https://github.com/bufbuild/buf) | `1.68.4` | `1.70.0` |\n| [@testcontainers/postgresql](https://github.com/testcontainers/testcontainers-node) | `11.14.0` | `12.0.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |\n| [tar](https://github.com/isaacs/node-tar) | `7.5.13` | `7.5.15` |\n\n\nUpdates `@opentelemetry/exporter-prometheus` from 0.215.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/exporter-prometheus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.215.0...experimental/v0.218.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/sdk-metrics` from 2.7.0 to 2.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-metrics's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.7.1\u003c/h2\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(sdk-metrics): reduce loop overhead in sdk hot paths \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6593\"\u003e#6593\u003c/a\u003e \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md\"\u003e@​opentelemetry/sdk-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: test Node.js 26 in CI \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6671\"\u003e#6671\u003c/a\u003e \u003ca href=\"https://github.com/cjihrig\"\u003e\u003ccode\u003e@​cjihrig\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7\"\u003e\u003ccode\u003e2400d83\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6647\"\u003e#6647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f7a9b7cc854232ebf7dea2d3ec0d6adc49128f53\"\u003e\u003ccode\u003ef7a9b7c\u003c/code\u003e\u003c/a\u003e fix(otlp-transformer): pin protobufjs to 8.0.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6646\"\u003e#6646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/cb38d7f833781c336c990757f773ce9c8360434a\"\u003e\u003ccode\u003ecb38d7f\u003c/code\u003e\u003c/a\u003e test(otlp-transformer): add metrics transfrom benchmark (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6628\"\u003e#6628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a28f12fef5fbdfb3b77a1334175b752883ef708a\"\u003e\u003ccode\u003ea28f12f\u003c/code\u003e\u003c/a\u003e fix(opentelemetry-core): defer tracestate vaidation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6459\"\u003e#6459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b27c5146ac21deb3fb1e8fca370d34f1828f3cc6\"\u003e\u003ccode\u003eb27c514\u003c/code\u003e\u003c/a\u003e refactor(opentelemetry-exporter-prometheus): do not call `enforcePrometheusNa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a2a8186e65a04dfdaf442927fbab268076cd4f5a\"\u003e\u003ccode\u003ea2a8186\u003c/code\u003e\u003c/a\u003e perf(sdk-trace-base): optimize TraceIdRatioBasedSampler hex parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6284\"\u003e#6284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/4c0f3f1b911c4740a085b6c66d267bb74826b475\"\u003e\u003ccode\u003e4c0f3f1\u003c/code\u003e\u003c/a\u003e feat(sdk-node): set TracerProvider in startNodeSDK() (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6607\"\u003e#6607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/417f2f17e4234417b34dbf7bdf8e24c330259dd2\"\u003e\u003ccode\u003e417f2f1\u003c/code\u003e\u003c/a\u003e fix(instr-xhr): do not unpatch XHR methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6611\"\u003e#6611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/47ac523b124be222ac89160e4623e8a60c960f35\"\u003e\u003ccode\u003e47ac523\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: allow browser maintainers to approve changelog edits\u0026quot; (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6627\"\u003e#6627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/86c621d5b8344f1ecdc13a9841a90604912d0055\"\u003e\u003ccode\u003e86c621d\u003c/code\u003e\u003c/a\u003e fix(instrumentation-fetch): tolerate non-writable globalThis.fetch and fix pr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/v2.7.0...v2.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ioredis` from 5.10.1 to 5.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/luin/ioredis/releases\"\u003eioredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/blob/main/CHANGELOG.md\"\u003eioredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/commit/14904327fc212d1f592172d776ebe45178fb7ee7\"\u003e\u003ccode\u003e1490432\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/5359d4d090c17f2ca1e86d92b139cd935ba4643d\"\u003e\u003ccode\u003e5359d4d\u003c/code\u003e\u003c/a\u003e refactor(utils): inline defaults and isArguments helpers (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003e\u003ccode\u003eb7b3def\u003c/code\u003e\u003c/a\u003e feat: add vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/faa53fdfae7f605c19bd74564639640f9d30d404\"\u003e\u003ccode\u003efaa53fd\u003c/code\u003e\u003c/a\u003e ci: update Node.js and Redis test matrix (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e\u003ccode\u003e37d0695\u003c/code\u003e\u003c/a\u003e feat: add increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/612ee9dfe96c1df942eaa415ca94881077191b5c\"\u003e\u003ccode\u003e612ee9d\u003c/code\u003e\u003c/a\u003e chore: update Redis 8.8 test image to custom (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003e\u003ccode\u003ebaf68d6\u003c/code\u003e\u003c/a\u003e feat: add array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/ba3b4cfb6204eccecde928f691a60a869313a0c9\"\u003e\u003ccode\u003eba3b4cf\u003c/code\u003e\u003c/a\u003e test: update Redis 8.8 test image to m03 (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2113\"\u003e#2113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/32dd17b3f714823d9fec09da5f3bc489ef12475d\"\u003e\u003ccode\u003e32dd17b\u003c/code\u003e\u003c/a\u003e test: add hash field subkey notification coverage (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2112\"\u003e#2112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e\u003ccode\u003e04a4615\u003c/code\u003e\u003c/a\u003e feat: add Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 8.20.0 to 8.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epg@8.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3521\"\u003eSASL SCRAM\u003c/a\u003e server error responses properly.\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3667\"\u003enode@26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escramMaxIterations\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3677\"\u003econfig option\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eclient.getTransactionStatus()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3645\"\u003emethod\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/brianc/node-postgres/commit/544b1ce8152bc280e398dc1e8a66920abe6a640e\"\u003e\u003ccode\u003e544b1ce\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/cc03fa5cdf0f1e67b2518ebad5cf2269206aa49c\"\u003e\u003ccode\u003ecc03fa5\u003c/code\u003e\u003c/a\u003e Add scramMaxIterations option to limit SCRAM iteration count (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f776327b3fcdd997c67e866ef7c620ef9c26b3f2\"\u003e\u003ccode\u003ef776327\u003c/code\u003e\u003c/a\u003e Remove compatibility code for unsupported versions of Node (\u0026lt;16) (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3678\"\u003e#3678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f252870eba73c15449b57562e6698b5859e32095\"\u003e\u003ccode\u003ef252870\u003c/code\u003e\u003c/a\u003e cleanup: pg utils (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/c8da6ab9326d93005e6947217cf665f707e08ec7\"\u003e\u003ccode\u003ec8da6ab\u003c/code\u003e\u003c/a\u003e Assorted test cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/fa47e73349786c2a76db98801d60c05371b0a906\"\u003e\u003ccode\u003efa47e73\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eClient#end\u003c/code\u003e callback being called multiple times when first is no-op (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/88a7e60c7191ce8061d6276b299895bf5511e042\"\u003e\u003ccode\u003e88a7e60\u003c/code\u003e\u003c/a\u003e cleanup: Move declaration to more natural place\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/2095247a7b10ebe19cd7d518e07ee2f259dda70a\"\u003e\u003ccode\u003e2095247\u003c/code\u003e\u003c/a\u003e cleanup: Combine duplicated code in \u003ccode\u003eClient#query\u003c/code\u003e and avoid unneeded early n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/0ac3eddef6481f4e4f9359c65d3c0cfd7d2124e1\"\u003e\u003ccode\u003e0ac3edd\u003c/code\u003e\u003c/a\u003e fix: apply SASLprep (RFC 4013) to passwords before SCRAM-SHA-256 PBKDF2 (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/be880d45552269f0b847a3e568014bde6536eae3\"\u003e\u003ccode\u003ebe880d4\u003c/code\u003e\u003c/a\u003e Assorted test fixes and cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `qs` from 6.15.1 to 6.15.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ljharb/qs/blob/main/CHANGELOG.md\"\u003eqs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003cstrong\u003e6.15.2\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + \u003ccode\u003eencodeValuesOnly\u003c/code\u003e instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[readme] fix grammar (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Tests] add regression tests for keys containing percent-encoded bracket text\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/ljharb/qs/commit/9aca4076fe788338c67cf7e115f0be6bc58d85a8\"\u003e\u003ccode\u003e9aca407\u003c/code\u003e\u003c/a\u003e v6.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/5e33d33447ed0bf1ddab9abc41d27dea4687d992\"\u003e\u003ccode\u003e5e33d33\u003c/code\u003e\u003c/a\u003e [Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/21f80b33e5c8b3f7eba1034fff0da4a4a37a1d41\"\u003e\u003ccode\u003e21f80b3\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + `e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a0a81ea2071acce3eff41a040f719ac8f5c4f64c\"\u003e\u003ccode\u003ea0a81ea\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/e3062f78f5233b338ceeb8e8dfa5a07dea4b32a8\"\u003e\u003ccode\u003ee3062f7\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/0c180a40adb8c6703fffc85b2ff06ca209f5c1e0\"\u003e\u003ccode\u003e0c180a4\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/3a8b94aec19bd664720f6f6b1e66c4a0dfe4b656\"\u003e\u003ccode\u003e3a8b94a\u003c/code\u003e\u003c/a\u003e [Tests] add regression tests for keys containing percent-encoded bracket text\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/96755abd357c0e534dd3442a84a04d08864bfe0d\"\u003e\u003ccode\u003e96755ab\u003c/code\u003e\u003c/a\u003e [readme] fix grammar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a419ce5bbfcdb98a299f1a0bb47ea055baef20e6\"\u003e\u003ccode\u003ea419ce5\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ljharb/qs/compare/v6.15.1...v6.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sql-formatter` from 15.7.3 to 15.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/releases\"\u003esql-formatter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e15.8.0\u003c/h2\u003e\n\u003ch3\u003ePostgreSQL formatting\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for PostgreSQL keywords in \u003ccode\u003eCREATE CONSTRAINT TRIGGER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/948\"\u003e#948\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/karlhorky\"\u003e\u003ccode\u003e@​karlhorky\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch from yarn to pnpm (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.4...v15.8.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003e15.7.4\u003c/h2\u003e\n\u003ch3\u003eBugfix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Tcl-style $param(...) syntax in SQLite (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/944\"\u003e#944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/943\"\u003e#943\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\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/sql-formatter-org/sql-formatter/commit/a3bfeeb4e96415efe4820a1b2c7ed592384aa0be\"\u003e\u003ccode\u003ea3bfeeb\u003c/code\u003e\u003c/a\u003e Release v15.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/a7f50d8a68f667b90cfd4e75b1fd683e67413a89\"\u003e\u003ccode\u003ea7f50d8\u003c/code\u003e\u003c/a\u003e Add tagName config to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dab8693b1728696981f3db9b0780b8a7229687c3\"\u003e\u003ccode\u003edab8693\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm as plugin to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/5ab2c8019f9d09ccf3df388d74672821b27ce241\"\u003e\u003ccode\u003e5ab2c80\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/1a000ca83e2e30999f222193ef28c14a949998a2\"\u003e\u003ccode\u003e1a000ca\u003c/code\u003e\u003c/a\u003e Configure release-it to use pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/34fe5b080c11b1cecbe3a0c5d8b89ed8a62941ef\"\u003e\u003ccode\u003e34fe5b0\u003c/code\u003e\u003c/a\u003e Fix scripts using -- (pnpm interprets this as file name)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/6610b6a65a1f7a3654d45bc6100a897649b3136d\"\u003e\u003ccode\u003e6610b6a\u003c/code\u003e\u003c/a\u003e Add pnpm to lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/af633e85fb684650ee7e3b48f1a9dcd897dc050e\"\u003e\u003ccode\u003eaf633e8\u003c/code\u003e\u003c/a\u003e Switch from yarn@1.22.22 to pnpm@11.0.8 (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/ba7437e24b51bb7c5cf38dfcc9f4e58a5dc7fab5\"\u003e\u003ccode\u003eba7437e\u003c/code\u003e\u003c/a\u003e Ignore pnpm-lock.yaml from Prettier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dcee63f96d576ed828dd5af67d26ee9a3728e2db\"\u003e\u003ccode\u003edcee63f\u003c/code\u003e\u003c/a\u003e Work around pnpm bug with pmOnFail + devEngines.packageManager\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.3...v15.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@bufbuild/buf` from 1.68.4 to 1.70.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bufbuild/buf/releases\"\u003e@​bufbuild/buf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.70.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e, \u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules and make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.69.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/blob/main/CHANGELOG.md\"\u003e@​bufbuild/buf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.70.0] - 2026-05-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e,\n\u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules\nand make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v1.69.0] - 2026-04-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/commit/4f657db175eb7418efef85b35db97472ff9df526\"\u003e\u003ccode\u003e4f657db\u003c/code\u003e\u003c/a\u003e Release v1.70.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4556\"\u003e#4556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/f278fa0989621eca516eb5a0a5b00b8ebe94b777\"\u003e\u003ccode\u003ef278fa0\u003c/code\u003e\u003c/a\u003e Bump buf.build/gen/go/bufbuild/registry/connectrpc/go from 1.19.2-20260507063...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/977b89ba82ca288850b6ba64602d6d201d331cd9\"\u003e\u003ccode\u003e977b89b\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4555\"\u003e#4555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/88dfb3409802d618d1fe4f8b6beef84b06df0ea3\"\u003e\u003ccode\u003e88dfb34\u003c/code\u003e\u003c/a\u003e Lint MessageRules.oneof in PROTOVALIDATE check (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4540\"\u003e#4540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/e96239e0572348b8f9d6ee8345b97713aa8e46f6\"\u003e\u003ccode\u003ee96239e\u003c/code\u003e\u003c/a\u003e Filter out GIT_WORK_TREE from cloner environment variables (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d0e7d39ca13bbacc73a3e82d1073fb1fe71a4e3e\"\u003e\u003ccode\u003ed0e7d39\u003c/code\u003e\u003c/a\u003e Add env override test cases to git package (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/37478176d82c2a099f0b4c85b86e40d01c857531\"\u003e\u003ccode\u003e3747817\u003c/code\u003e\u003c/a\u003e Bump actions/create-github-app-token from 3.1.1 to 3.2.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4544\"\u003e#4544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/9eddb9cdeb75daab3c3b699060ae1a38ed199961\"\u003e\u003ccode\u003e9eddb9c\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d46006023cfbff8bd7571a8c8b908455865005b2\"\u003e\u003ccode\u003ed460060\u003c/code\u003e\u003c/a\u003e Update README.md (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/2dae4779331f5d24244176ce168758fcc25b84e7\"\u003e\u003ccode\u003e2dae477\u003c/code\u003e\u003c/a\u003e Fix LSP documentSymbol marking every symbol as deprecated (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4531\"\u003e#4531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bufbuild/buf/compare/v1.68.4...v1.70.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@testcontainers/postgresql` from 11.14.0 to 12.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-node/releases\"\u003e@​testcontainers/postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.0.1\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Podman image healthcheck detection \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd npm dependency release age cooldown \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse Docker Hub Redpanda image \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse preinstalled Podman in checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify affected package checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd npm publish dry run workflow \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade build agents from Ubuntu 22.04 to 24.04 \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove module compile checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1327\"\u003e#1327\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump tmp from 0.2.5 to 0.2.6 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 14 directories with 16 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group with 13 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 13 directories with 12 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 1 directory with 22 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.0\u003c/h2\u003e\n\u003ch2\u003e🚨 Breaking Changes\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eNode 20 is EOL. Minimum engine requirement is now \u003ccode\u003e\u0026gt;= 22.22\u003c/code\u003e, matching the constraints from our dependencies.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePreviously, when no wait strategy was configured, Testcontainers defaulted to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe new default wait strategy uses a Docker healthcheck when one is configured on the container image or service, falling back to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e when no healthcheck is available.\u003c/p\u003e\n\u003cp\u003eTo keep the previous behaviour, configure \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e explicitly:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { DockerComposeEnvironment, GenericContainer, Wait } from \u0026quot;testcontainers\u0026quot;;\r\n\u003cp\u003e// Container: opt back into the previous default of waiting for listening ports\nconst container = await new GenericContainer(\u0026quot;my-image:latest\u0026quot;)\n.withExposedPorts(8080)\n.withWaitStrategy(Wait.forListeningPorts())\n.start();\u003c/p\u003e\n\u003cp\u003e// Compose: apply the previous default to all services\nconst environment = await new DockerComposeEnvironment(composeFilePath, \u0026quot;docker-compose.yml\u0026quot;)\n.withDefaultWaitStrategy(Wait.forListeningPorts())\n.up();\u003c/p\u003e\n\u003cp\u003e// Compose: or apply it to a specific compose container\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/4d8de0cd81c26734b2c95b5fd717fa62ea0648eb\"\u003e\u003ccode\u003e4d8de0c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;v12.0.1\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/d2e4da4b820d5694b120739dad0c360c9e50c3b6\"\u003e\u003ccode\u003ed2e4da4\u003c/code\u003e\u003c/a\u003e v12.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/1077fd6bce442a08fdea707536290a1ae7a0de88\"\u003e\u003ccode\u003e1077fd6\u003c/code\u003e\u003c/a\u003e Revert default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1346\"\u003e#1346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/665feb4f42073eb7394435a84c6eff9f20d7a714\"\u003e\u003ccode\u003e665feb4\u003c/code\u003e\u003c/a\u003e Bump tmp from 0.2.5 to 0.2.6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cdb8366ad8c17692782a2073406209699eeeff73\"\u003e\u003ccode\u003ecdb8366\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 14 directories with 16 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/3148791de679c3208beb6c1a8f37eafe8abb6810\"\u003e\u003ccode\u003e3148791\u003c/code\u003e\u003c/a\u003e Add default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1340\"\u003e#1340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/34c581136a78d3b2098253c8ed86515617d76a52\"\u003e\u003ccode\u003e34c5811\u003c/code\u003e\u003c/a\u003e Add npm dependency release age cooldown (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/c584af1ca12b059c13ba9d76d3b73a2440dbae92\"\u003e\u003ccode\u003ec584af1\u003c/code\u003e\u003c/a\u003e Fix Podman image healthcheck detection (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cae5c26312c234df0001f2866e9d8e58002e54c7\"\u003e\u003ccode\u003ecae5c26\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 13 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/33e1dc109cc94ef9b4e0020b4a6fd9e8b8a354af\"\u003e\u003ccode\u003e33e1dc1\u003c/code\u003e\u003c/a\u003e Use Docker Hub Redpanda image (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-node/compare/v11.14.0...v12.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.3.0 to 30.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003ejest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev30.4.2\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.1\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.0\u003c/h2\u003e\n\u003cp\u003eBig release! 😀\u003c/p\u003e\n\u003cp\u003eMain feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work \u003ccode\u003erequire(esm)\u003c/code\u003e module is now supported on Node 24.9+ (still requires \u003ccode\u003e--experimental-vm-modules\u003c/code\u003e like before).\u003c/p\u003e\n\u003cp\u003eIn addition we now support fake timers for the recently released \u003ccode\u003eTemporal\u003c/code\u003e API in Node v26.\u003c/p\u003e\n\u003cp\u003eReact 19 is also supported properly in \u003ccode\u003epretty-format\u003c/code\u003e, meaning snapshots of React components now work like they should.\u003c/p\u003e\n\u003cp\u003eDue to all the changes, there might be regressions that snuck in. Please report them!\u003c/p\u003e\n\u003cp\u003eFull list of changes below\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\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/jestjs/jest/blob/main/CHANGELOG.md\"\u003ejest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.4.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[pretty-format]\u003c/code\u003e Support React 19 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16123\"\u003e#16123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect-utils]\u003c/code\u003e Fix \u003ccode\u003etoStrictEqual\u003c/code\u003e failing on \u003ccode\u003estructuredClone\u003c/code\u003e results due to cross-realm constructor mismatch (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15959\"\u003e#15959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Prevent \u003ccode\u003etoMatchObject\u003c/code\u003e/subset matching from throwing when encountering exotic iterables (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15952\"\u003e#15952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[fake-timers]\u003c/code\u003e Convert \u003ccode\u003eDate\u003c/code\u003e to milliseconds before passing to \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16029\"\u003e#16029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest]\u003c/code\u003e Export \u003ccode\u003eGlobalConfig\u003c/code\u003e and \u003ccode\u003eProjectConfig\u003c/code\u003e TypeScript types (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Prevent crash when \u003ccode\u003easyncError\u003c/code\u003e is undefined for non-Error throws (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16003\"\u003e#16003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Include \u003ccode\u003eError.cause\u003c/code\u003e in JSON \u003ccode\u003efailureMessages\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15967\"\u003e#15967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Fix preset path resolution on Windows when the preset uses subpath \u003ccode\u003eexports\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15961\"\u003e#15961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config without a validation warning (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Project config validator now emits \u0026quot;is not supported in an individual project configuration\u0026quot; instead of \u0026quot;probably a typing mistake\u0026quot; for known global-only options (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Fix \u003ccode\u003e--localstorage-file\u003c/code\u003e warning on Node 25+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16086\"\u003e#16086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16137\"\u003e#16137\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/jestjs/jest/commit/746f2a0f57c56e3bba555280f0587d40f3db95c0\"\u003e\u003ccode\u003e746f2a0\u003c/code\u003e\u003c/a\u003e v30.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/b3b4a09ed3005369dacc7466d1d2122797283785\"\u003e\u003ccode\u003eb3b4a09\u003c/code\u003e\u003c/a\u003e v30.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/5cbb21e0b3037edb42e503ec1a1ce80efad40c20\"\u003e\u003ccode\u003e5cbb21e\u003c/code\u003e\u003c/a\u003e v30.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/db7141a93cc85fab81cf9c25368e1f2b2c312286\"\u003e\u003ccode\u003edb7141a\u003c/code\u003e\u003c/a\u003e fix: allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.2/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (trunca...\n\n_Description has been truncated_","html_url":"https://github.com/Ojekhile7-v1/hiero-mirror-node--027/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ojekhile7-v1%2Fhiero-mirror-node--027/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"},{"uuid":"4552088434","node_id":"PR_kwDOSRk3gM7g1Gw5","number":25,"state":"closed","title":"Bump the dependencies group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-05T20:14:53.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-29T22:47:07.000Z","updated_at":"2026-06-05T20:14:55.000Z","time_to_close":595666,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":11,"packages":[{"name":"@opentelemetry/exporter-prometheus","old_version":"0.215.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"ioredis","old_version":"5.10.1","new_version":"5.11.0","repository_url":"https://github.com/luin/ioredis"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"qs","old_version":"6.15.1","new_version":"6.15.2","repository_url":"https://github.com/ljharb/qs"},{"name":"sql-formatter","old_version":"15.7.3","new_version":"15.8.0","repository_url":"https://github.com/sql-formatter-org/sql-formatter"},{"name":"@bufbuild/buf","old_version":"1.68.4","new_version":"1.70.0","repository_url":"https://github.com/bufbuild/buf"},{"name":"@testcontainers/postgresql","old_version":"11.14.0","new_version":"12.0.1","repository_url":"https://github.com/testcontainers/testcontainers-node"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"tar","old_version":"7.5.13","new_version":"7.5.15","repository_url":"https://github.com/isaacs/node-tar"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 10 updates in the /rest directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@opentelemetry/exporter-prometheus](https://github.com/open-telemetry/opentelemetry-js) | `0.215.0` | `0.218.0` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.1` | `5.11.0` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [qs](https://github.com/ljharb/qs) | `6.15.1` | `6.15.2` |\n| [sql-formatter](https://github.com/sql-formatter-org/sql-formatter) | `15.7.3` | `15.8.0` |\n| [@bufbuild/buf](https://github.com/bufbuild/buf) | `1.68.4` | `1.70.0` |\n| [@testcontainers/postgresql](https://github.com/testcontainers/testcontainers-node) | `11.14.0` | `12.0.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |\n| [tar](https://github.com/isaacs/node-tar) | `7.5.13` | `7.5.15` |\n\n\nUpdates `@opentelemetry/exporter-prometheus` from 0.215.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/exporter-prometheus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.215.0...experimental/v0.218.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/sdk-metrics` from 2.7.0 to 2.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-metrics's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.7.1\u003c/h2\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(sdk-metrics): reduce loop overhead in sdk hot paths \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6593\"\u003e#6593\u003c/a\u003e \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md\"\u003e@​opentelemetry/sdk-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: test Node.js 26 in CI \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6671\"\u003e#6671\u003c/a\u003e \u003ca href=\"https://github.com/cjihrig\"\u003e\u003ccode\u003e@​cjihrig\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7\"\u003e\u003ccode\u003e2400d83\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6647\"\u003e#6647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f7a9b7cc854232ebf7dea2d3ec0d6adc49128f53\"\u003e\u003ccode\u003ef7a9b7c\u003c/code\u003e\u003c/a\u003e fix(otlp-transformer): pin protobufjs to 8.0.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6646\"\u003e#6646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/cb38d7f833781c336c990757f773ce9c8360434a\"\u003e\u003ccode\u003ecb38d7f\u003c/code\u003e\u003c/a\u003e test(otlp-transformer): add metrics transfrom benchmark (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6628\"\u003e#6628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a28f12fef5fbdfb3b77a1334175b752883ef708a\"\u003e\u003ccode\u003ea28f12f\u003c/code\u003e\u003c/a\u003e fix(opentelemetry-core): defer tracestate vaidation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6459\"\u003e#6459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b27c5146ac21deb3fb1e8fca370d34f1828f3cc6\"\u003e\u003ccode\u003eb27c514\u003c/code\u003e\u003c/a\u003e refactor(opentelemetry-exporter-prometheus): do not call `enforcePrometheusNa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a2a8186e65a04dfdaf442927fbab268076cd4f5a\"\u003e\u003ccode\u003ea2a8186\u003c/code\u003e\u003c/a\u003e perf(sdk-trace-base): optimize TraceIdRatioBasedSampler hex parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6284\"\u003e#6284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/4c0f3f1b911c4740a085b6c66d267bb74826b475\"\u003e\u003ccode\u003e4c0f3f1\u003c/code\u003e\u003c/a\u003e feat(sdk-node): set TracerProvider in startNodeSDK() (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6607\"\u003e#6607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/417f2f17e4234417b34dbf7bdf8e24c330259dd2\"\u003e\u003ccode\u003e417f2f1\u003c/code\u003e\u003c/a\u003e fix(instr-xhr): do not unpatch XHR methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6611\"\u003e#6611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/47ac523b124be222ac89160e4623e8a60c960f35\"\u003e\u003ccode\u003e47ac523\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: allow browser maintainers to approve changelog edits\u0026quot; (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6627\"\u003e#6627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/86c621d5b8344f1ecdc13a9841a90604912d0055\"\u003e\u003ccode\u003e86c621d\u003c/code\u003e\u003c/a\u003e fix(instrumentation-fetch): tolerate non-writable globalThis.fetch and fix pr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/v2.7.0...v2.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ioredis` from 5.10.1 to 5.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/luin/ioredis/releases\"\u003eioredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/blob/main/CHANGELOG.md\"\u003eioredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/commit/14904327fc212d1f592172d776ebe45178fb7ee7\"\u003e\u003ccode\u003e1490432\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/5359d4d090c17f2ca1e86d92b139cd935ba4643d\"\u003e\u003ccode\u003e5359d4d\u003c/code\u003e\u003c/a\u003e refactor(utils): inline defaults and isArguments helpers (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003e\u003ccode\u003eb7b3def\u003c/code\u003e\u003c/a\u003e feat: add vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/faa53fdfae7f605c19bd74564639640f9d30d404\"\u003e\u003ccode\u003efaa53fd\u003c/code\u003e\u003c/a\u003e ci: update Node.js and Redis test matrix (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e\u003ccode\u003e37d0695\u003c/code\u003e\u003c/a\u003e feat: add increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/612ee9dfe96c1df942eaa415ca94881077191b5c\"\u003e\u003ccode\u003e612ee9d\u003c/code\u003e\u003c/a\u003e chore: update Redis 8.8 test image to custom (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003e\u003ccode\u003ebaf68d6\u003c/code\u003e\u003c/a\u003e feat: add array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/ba3b4cfb6204eccecde928f691a60a869313a0c9\"\u003e\u003ccode\u003eba3b4cf\u003c/code\u003e\u003c/a\u003e test: update Redis 8.8 test image to m03 (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2113\"\u003e#2113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/32dd17b3f714823d9fec09da5f3bc489ef12475d\"\u003e\u003ccode\u003e32dd17b\u003c/code\u003e\u003c/a\u003e test: add hash field subkey notification coverage (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2112\"\u003e#2112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e\u003ccode\u003e04a4615\u003c/code\u003e\u003c/a\u003e feat: add Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 8.20.0 to 8.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epg@8.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3521\"\u003eSASL SCRAM\u003c/a\u003e server error responses properly.\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3667\"\u003enode@26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escramMaxIterations\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3677\"\u003econfig option\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eclient.getTransactionStatus()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3645\"\u003emethod\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/brianc/node-postgres/commit/544b1ce8152bc280e398dc1e8a66920abe6a640e\"\u003e\u003ccode\u003e544b1ce\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/cc03fa5cdf0f1e67b2518ebad5cf2269206aa49c\"\u003e\u003ccode\u003ecc03fa5\u003c/code\u003e\u003c/a\u003e Add scramMaxIterations option to limit SCRAM iteration count (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f776327b3fcdd997c67e866ef7c620ef9c26b3f2\"\u003e\u003ccode\u003ef776327\u003c/code\u003e\u003c/a\u003e Remove compatibility code for unsupported versions of Node (\u0026lt;16) (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3678\"\u003e#3678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f252870eba73c15449b57562e6698b5859e32095\"\u003e\u003ccode\u003ef252870\u003c/code\u003e\u003c/a\u003e cleanup: pg utils (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/c8da6ab9326d93005e6947217cf665f707e08ec7\"\u003e\u003ccode\u003ec8da6ab\u003c/code\u003e\u003c/a\u003e Assorted test cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/fa47e73349786c2a76db98801d60c05371b0a906\"\u003e\u003ccode\u003efa47e73\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eClient#end\u003c/code\u003e callback being called multiple times when first is no-op (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/88a7e60c7191ce8061d6276b299895bf5511e042\"\u003e\u003ccode\u003e88a7e60\u003c/code\u003e\u003c/a\u003e cleanup: Move declaration to more natural place\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/2095247a7b10ebe19cd7d518e07ee2f259dda70a\"\u003e\u003ccode\u003e2095247\u003c/code\u003e\u003c/a\u003e cleanup: Combine duplicated code in \u003ccode\u003eClient#query\u003c/code\u003e and avoid unneeded early n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/0ac3eddef6481f4e4f9359c65d3c0cfd7d2124e1\"\u003e\u003ccode\u003e0ac3edd\u003c/code\u003e\u003c/a\u003e fix: apply SASLprep (RFC 4013) to passwords before SCRAM-SHA-256 PBKDF2 (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/be880d45552269f0b847a3e568014bde6536eae3\"\u003e\u003ccode\u003ebe880d4\u003c/code\u003e\u003c/a\u003e Assorted test fixes and cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `qs` from 6.15.1 to 6.15.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ljharb/qs/blob/main/CHANGELOG.md\"\u003eqs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003cstrong\u003e6.15.2\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + \u003ccode\u003eencodeValuesOnly\u003c/code\u003e instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[readme] fix grammar (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Tests] add regression tests for keys containing percent-encoded bracket text\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/ljharb/qs/commit/9aca4076fe788338c67cf7e115f0be6bc58d85a8\"\u003e\u003ccode\u003e9aca407\u003c/code\u003e\u003c/a\u003e v6.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/5e33d33447ed0bf1ddab9abc41d27dea4687d992\"\u003e\u003ccode\u003e5e33d33\u003c/code\u003e\u003c/a\u003e [Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/21f80b33e5c8b3f7eba1034fff0da4a4a37a1d41\"\u003e\u003ccode\u003e21f80b3\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + `e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a0a81ea2071acce3eff41a040f719ac8f5c4f64c\"\u003e\u003ccode\u003ea0a81ea\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/e3062f78f5233b338ceeb8e8dfa5a07dea4b32a8\"\u003e\u003ccode\u003ee3062f7\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/0c180a40adb8c6703fffc85b2ff06ca209f5c1e0\"\u003e\u003ccode\u003e0c180a4\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/3a8b94aec19bd664720f6f6b1e66c4a0dfe4b656\"\u003e\u003ccode\u003e3a8b94a\u003c/code\u003e\u003c/a\u003e [Tests] add regression tests for keys containing percent-encoded bracket text\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/96755abd357c0e534dd3442a84a04d08864bfe0d\"\u003e\u003ccode\u003e96755ab\u003c/code\u003e\u003c/a\u003e [readme] fix grammar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a419ce5bbfcdb98a299f1a0bb47ea055baef20e6\"\u003e\u003ccode\u003ea419ce5\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ljharb/qs/compare/v6.15.1...v6.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sql-formatter` from 15.7.3 to 15.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/releases\"\u003esql-formatter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e15.8.0\u003c/h2\u003e\n\u003ch3\u003ePostgreSQL formatting\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for PostgreSQL keywords in \u003ccode\u003eCREATE CONSTRAINT TRIGGER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/948\"\u003e#948\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/karlhorky\"\u003e\u003ccode\u003e@​karlhorky\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch from yarn to pnpm (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.4...v15.8.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003e15.7.4\u003c/h2\u003e\n\u003ch3\u003eBugfix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Tcl-style $param(...) syntax in SQLite (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/944\"\u003e#944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/943\"\u003e#943\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\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/sql-formatter-org/sql-formatter/commit/a3bfeeb4e96415efe4820a1b2c7ed592384aa0be\"\u003e\u003ccode\u003ea3bfeeb\u003c/code\u003e\u003c/a\u003e Release v15.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/a7f50d8a68f667b90cfd4e75b1fd683e67413a89\"\u003e\u003ccode\u003ea7f50d8\u003c/code\u003e\u003c/a\u003e Add tagName config to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dab8693b1728696981f3db9b0780b8a7229687c3\"\u003e\u003ccode\u003edab8693\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm as plugin to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/5ab2c8019f9d09ccf3df388d74672821b27ce241\"\u003e\u003ccode\u003e5ab2c80\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/1a000ca83e2e30999f222193ef28c14a949998a2\"\u003e\u003ccode\u003e1a000ca\u003c/code\u003e\u003c/a\u003e Configure release-it to use pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/34fe5b080c11b1cecbe3a0c5d8b89ed8a62941ef\"\u003e\u003ccode\u003e34fe5b0\u003c/code\u003e\u003c/a\u003e Fix scripts using -- (pnpm interprets this as file name)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/6610b6a65a1f7a3654d45bc6100a897649b3136d\"\u003e\u003ccode\u003e6610b6a\u003c/code\u003e\u003c/a\u003e Add pnpm to lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/af633e85fb684650ee7e3b48f1a9dcd897dc050e\"\u003e\u003ccode\u003eaf633e8\u003c/code\u003e\u003c/a\u003e Switch from yarn@1.22.22 to pnpm@11.0.8 (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/ba7437e24b51bb7c5cf38dfcc9f4e58a5dc7fab5\"\u003e\u003ccode\u003eba7437e\u003c/code\u003e\u003c/a\u003e Ignore pnpm-lock.yaml from Prettier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dcee63f96d576ed828dd5af67d26ee9a3728e2db\"\u003e\u003ccode\u003edcee63f\u003c/code\u003e\u003c/a\u003e Work around pnpm bug with pmOnFail + devEngines.packageManager\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.3...v15.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@bufbuild/buf` from 1.68.4 to 1.70.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bufbuild/buf/releases\"\u003e@​bufbuild/buf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.70.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e, \u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules and make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.69.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/blob/main/CHANGELOG.md\"\u003e@​bufbuild/buf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.70.0] - 2026-05-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e,\n\u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules\nand make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v1.69.0] - 2026-04-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/commit/4f657db175eb7418efef85b35db97472ff9df526\"\u003e\u003ccode\u003e4f657db\u003c/code\u003e\u003c/a\u003e Release v1.70.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4556\"\u003e#4556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/f278fa0989621eca516eb5a0a5b00b8ebe94b777\"\u003e\u003ccode\u003ef278fa0\u003c/code\u003e\u003c/a\u003e Bump buf.build/gen/go/bufbuild/registry/connectrpc/go from 1.19.2-20260507063...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/977b89ba82ca288850b6ba64602d6d201d331cd9\"\u003e\u003ccode\u003e977b89b\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4555\"\u003e#4555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/88dfb3409802d618d1fe4f8b6beef84b06df0ea3\"\u003e\u003ccode\u003e88dfb34\u003c/code\u003e\u003c/a\u003e Lint MessageRules.oneof in PROTOVALIDATE check (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4540\"\u003e#4540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/e96239e0572348b8f9d6ee8345b97713aa8e46f6\"\u003e\u003ccode\u003ee96239e\u003c/code\u003e\u003c/a\u003e Filter out GIT_WORK_TREE from cloner environment variables (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d0e7d39ca13bbacc73a3e82d1073fb1fe71a4e3e\"\u003e\u003ccode\u003ed0e7d39\u003c/code\u003e\u003c/a\u003e Add env override test cases to git package (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/37478176d82c2a099f0b4c85b86e40d01c857531\"\u003e\u003ccode\u003e3747817\u003c/code\u003e\u003c/a\u003e Bump actions/create-github-app-token from 3.1.1 to 3.2.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4544\"\u003e#4544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/9eddb9cdeb75daab3c3b699060ae1a38ed199961\"\u003e\u003ccode\u003e9eddb9c\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d46006023cfbff8bd7571a8c8b908455865005b2\"\u003e\u003ccode\u003ed460060\u003c/code\u003e\u003c/a\u003e Update README.md (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/2dae4779331f5d24244176ce168758fcc25b84e7\"\u003e\u003ccode\u003e2dae477\u003c/code\u003e\u003c/a\u003e Fix LSP documentSymbol marking every symbol as deprecated (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4531\"\u003e#4531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bufbuild/buf/compare/v1.68.4...v1.70.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@testcontainers/postgresql` from 11.14.0 to 12.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-node/releases\"\u003e@​testcontainers/postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.0.1\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Podman image healthcheck detection \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd npm dependency release age cooldown \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse Docker Hub Redpanda image \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse preinstalled Podman in checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify affected package checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd npm publish dry run workflow \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade build agents from Ubuntu 22.04 to 24.04 \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove module compile checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1327\"\u003e#1327\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump tmp from 0.2.5 to 0.2.6 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 14 directories with 16 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group with 13 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 13 directories with 12 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 1 directory with 22 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.0\u003c/h2\u003e\n\u003ch2\u003e🚨 Breaking Changes\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eNode 20 is EOL. Minimum engine requirement is now \u003ccode\u003e\u0026gt;= 22.22\u003c/code\u003e, matching the constraints from our dependencies.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePreviously, when no wait strategy was configured, Testcontainers defaulted to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe new default wait strategy uses a Docker healthcheck when one is configured on the container image or service, falling back to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e when no healthcheck is available.\u003c/p\u003e\n\u003cp\u003eTo keep the previous behaviour, configure \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e explicitly:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { DockerComposeEnvironment, GenericContainer, Wait } from \u0026quot;testcontainers\u0026quot;;\r\n\u003cp\u003e// Container: opt back into the previous default of waiting for listening ports\nconst container = await new GenericContainer(\u0026quot;my-image:latest\u0026quot;)\n.withExposedPorts(8080)\n.withWaitStrategy(Wait.forListeningPorts())\n.start();\u003c/p\u003e\n\u003cp\u003e// Compose: apply the previous default to all services\nconst environment = await new DockerComposeEnvironment(composeFilePath, \u0026quot;docker-compose.yml\u0026quot;)\n.withDefaultWaitStrategy(Wait.forListeningPorts())\n.up();\u003c/p\u003e\n\u003cp\u003e// Compose: or apply it to a specific compose container\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/4d8de0cd81c26734b2c95b5fd717fa62ea0648eb\"\u003e\u003ccode\u003e4d8de0c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;v12.0.1\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/d2e4da4b820d5694b120739dad0c360c9e50c3b6\"\u003e\u003ccode\u003ed2e4da4\u003c/code\u003e\u003c/a\u003e v12.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/1077fd6bce442a08fdea707536290a1ae7a0de88\"\u003e\u003ccode\u003e1077fd6\u003c/code\u003e\u003c/a\u003e Revert default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1346\"\u003e#1346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/665feb4f42073eb7394435a84c6eff9f20d7a714\"\u003e\u003ccode\u003e665feb4\u003c/code\u003e\u003c/a\u003e Bump tmp from 0.2.5 to 0.2.6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cdb8366ad8c17692782a2073406209699eeeff73\"\u003e\u003ccode\u003ecdb8366\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 14 directories with 16 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/3148791de679c3208beb6c1a8f37eafe8abb6810\"\u003e\u003ccode\u003e3148791\u003c/code\u003e\u003c/a\u003e Add default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1340\"\u003e#1340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/34c581136a78d3b2098253c8ed86515617d76a52\"\u003e\u003ccode\u003e34c5811\u003c/code\u003e\u003c/a\u003e Add npm dependency release age cooldown (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/c584af1ca12b059c13ba9d76d3b73a2440dbae92\"\u003e\u003ccode\u003ec584af1\u003c/code\u003e\u003c/a\u003e Fix Podman image healthcheck detection (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cae5c26312c234df0001f2866e9d8e58002e54c7\"\u003e\u003ccode\u003ecae5c26\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 13 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/33e1dc109cc94ef9b4e0020b4a6fd9e8b8a354af\"\u003e\u003ccode\u003e33e1dc1\u003c/code\u003e\u003c/a\u003e Use Docker Hub Redpanda image (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-node/compare/v11.14.0...v12.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.3.0 to 30.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003ejest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev30.4.2\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.1\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.0\u003c/h2\u003e\n\u003cp\u003eBig release! 😀\u003c/p\u003e\n\u003cp\u003eMain feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work \u003ccode\u003erequire(esm)\u003c/code\u003e module is now supported on Node 24.9+ (still requires \u003ccode\u003e--experimental-vm-modules\u003c/code\u003e like before).\u003c/p\u003e\n\u003cp\u003eIn addition we now support fake timers for the recently released \u003ccode\u003eTemporal\u003c/code\u003e API in Node v26.\u003c/p\u003e\n\u003cp\u003eReact 19 is also supported properly in \u003ccode\u003epretty-format\u003c/code\u003e, meaning snapshots of React components now work like they should.\u003c/p\u003e\n\u003cp\u003eDue to all the changes, there might be regressions that snuck in. Please report them!\u003c/p\u003e\n\u003cp\u003eFull list of changes below\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\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/jestjs/jest/blob/main/CHANGELOG.md\"\u003ejest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.4.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[pretty-format]\u003c/code\u003e Support React 19 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16123\"\u003e#16123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect-utils]\u003c/code\u003e Fix \u003ccode\u003etoStrictEqual\u003c/code\u003e failing on \u003ccode\u003estructuredClone\u003c/code\u003e results due to cross-realm constructor mismatch (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15959\"\u003e#15959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Prevent \u003ccode\u003etoMatchObject\u003c/code\u003e/subset matching from throwing when encountering exotic iterables (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15952\"\u003e#15952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[fake-timers]\u003c/code\u003e Convert \u003ccode\u003eDate\u003c/code\u003e to milliseconds before passing to \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16029\"\u003e#16029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest]\u003c/code\u003e Export \u003ccode\u003eGlobalConfig\u003c/code\u003e and \u003ccode\u003eProjectConfig\u003c/code\u003e TypeScript types (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Prevent crash when \u003ccode\u003easyncError\u003c/code\u003e is undefined for non-Error throws (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16003\"\u003e#16003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Include \u003ccode\u003eError.cause\u003c/code\u003e in JSON \u003ccode\u003efailureMessages\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15967\"\u003e#15967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Fix preset path resolution on Windows when the preset uses subpath \u003ccode\u003eexports\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15961\"\u003e#15961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config without a validation warning (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Project config validator now emits \u0026quot;is not supported in an individual project configuration\u0026quot; instead of \u0026quot;probably a typing mistake\u0026quot; for known global-only options (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Fix \u003ccode\u003e--localstorage-file\u003c/code\u003e warning on Node 25+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16086\"\u003e#16086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16137\"\u003e#16137\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/jestjs/jest/commit/746f2a0f57c56e3bba555280f0587d40f3db95c0\"\u003e\u003ccode\u003e746f2a0\u003c/code\u003e\u003c/a\u003e v30.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/b3b4a09ed3005369dacc7466d1d2122797283785\"\u003e\u003ccode\u003eb3b4a09\u003c/code\u003e\u003c/a\u003e v30.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/5cbb21e0b3037edb42e503ec1a1ce80efad40c20\"\u003e\u003ccode\u003e5cbb21e\u003c/code\u003e\u003c/a\u003e v30.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/db7141a93cc85fab81cf9c25368e1f2b2c312286\"\u003e\u003ccode\u003edb7141a\u003c/code\u003e\u003c/a\u003e fix: allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.2/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (trunca...\n\n_Description has been truncated_","html_url":"https://github.com/Ojekhile7-v1/hiero-mirror-node--047/pull/25","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ojekhile7-v1%2Fhiero-mirror-node--047/issues/25","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/25/packages"},{"uuid":"4513508506","node_id":"PR_kwDOBiuY-M7e3iKo","number":454,"state":"open","title":"Bump sinon from 21.1.2 to 22.0.0","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-05-25T00:48:08.000Z","updated_at":"2026-05-25T00:48:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"}],"path":null,"ecosystem":"npm"},"body":"Bumps [sinon](https://github.com/sinonjs/sinon) from 21.1.2 to 22.0.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.0\"\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=sinon\u0026package-manager=npm_and_yarn\u0026previous-version=21.1.2\u0026new-version=22.0.0)](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/MiSchroe/ioBroker.klf200/pull/454","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiSchroe%2FioBroker.klf200/issues/454","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/454/packages"},{"uuid":"4512492802","node_id":"PR_kwDOSmp8t87e0d4b","number":5,"state":"open","title":"build(deps-dev): bump sinon from 7.5.0 to 22.0.0","user":"dependabot[bot]","labels":["CI/run-audit-deps","CI/storybook-url"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-24T18:09:32.000Z","updated_at":"2026-05-24T18:09:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"sinon","old_version":"7.5.0","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"}],"path":null,"ecosystem":"npm"},"body":"Bumps [sinon](https://github.com/sinonjs/sinon) from 7.5.0 to 22.0.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v7.5.0...v22.0.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/~fatso83\"\u003efatso83\u003c/a\u003e, a new releaser for sinon since your current version.\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=sinon\u0026package-manager=npm_and_yarn\u0026previous-version=7.5.0\u0026new-version=22.0.0)](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/awfixers-stuff/browser/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/awfixers-stuff%2Fbrowser/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"4476323287","node_id":"PR_kwDOSOOzwc7dAzEb","number":21,"state":"closed","title":"Bump the dependencies group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-26T05:04:22.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T09:49:53.000Z","updated_at":"2026-05-26T05:04:24.000Z","time_to_close":587669,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":9,"packages":[{"name":"@opentelemetry/exporter-prometheus","old_version":"0.215.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"qs","old_version":"6.15.1","new_version":"6.15.2","repository_url":"https://github.com/ljharb/qs"},{"name":"sql-formatter","old_version":"15.7.3","new_version":"15.8.0","repository_url":"https://github.com/sql-formatter-org/sql-formatter"},{"name":"@bufbuild/buf","old_version":"1.68.4","new_version":"1.69.0","repository_url":"https://github.com/bufbuild/buf"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"tar","old_version":"7.5.13","new_version":"7.5.15","repository_url":"https://github.com/isaacs/node-tar"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 8 updates in the /rest directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@opentelemetry/exporter-prometheus](https://github.com/open-telemetry/opentelemetry-js) | `0.215.0` | `0.218.0` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [qs](https://github.com/ljharb/qs) | `6.15.1` | `6.15.2` |\n| [sql-formatter](https://github.com/sql-formatter-org/sql-formatter) | `15.7.3` | `15.8.0` |\n| [@bufbuild/buf](https://github.com/bufbuild/buf) | `1.68.4` | `1.69.0` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |\n| [tar](https://github.com/isaacs/node-tar) | `7.5.13` | `7.5.15` |\n\n\nUpdates `@opentelemetry/exporter-prometheus` from 0.215.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/exporter-prometheus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.215.0...experimental/v0.218.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/sdk-metrics` from 2.7.0 to 2.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-metrics's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.7.1\u003c/h2\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(sdk-metrics): reduce loop overhead in sdk hot paths \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6593\"\u003e#6593\u003c/a\u003e \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md\"\u003e@​opentelemetry/sdk-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: test Node.js 26 in CI \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6671\"\u003e#6671\u003c/a\u003e \u003ca href=\"https://github.com/cjihrig\"\u003e\u003ccode\u003e@​cjihrig\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7\"\u003e\u003ccode\u003e2400d83\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6647\"\u003e#6647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f7a9b7cc854232ebf7dea2d3ec0d6adc49128f53\"\u003e\u003ccode\u003ef7a9b7c\u003c/code\u003e\u003c/a\u003e fix(otlp-transformer): pin protobufjs to 8.0.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6646\"\u003e#6646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/cb38d7f833781c336c990757f773ce9c8360434a\"\u003e\u003ccode\u003ecb38d7f\u003c/code\u003e\u003c/a\u003e test(otlp-transformer): add metrics transfrom benchmark (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6628\"\u003e#6628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a28f12fef5fbdfb3b77a1334175b752883ef708a\"\u003e\u003ccode\u003ea28f12f\u003c/code\u003e\u003c/a\u003e fix(opentelemetry-core): defer tracestate vaidation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6459\"\u003e#6459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b27c5146ac21deb3fb1e8fca370d34f1828f3cc6\"\u003e\u003ccode\u003eb27c514\u003c/code\u003e\u003c/a\u003e refactor(opentelemetry-exporter-prometheus): do not call `enforcePrometheusNa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a2a8186e65a04dfdaf442927fbab268076cd4f5a\"\u003e\u003ccode\u003ea2a8186\u003c/code\u003e\u003c/a\u003e perf(sdk-trace-base): optimize TraceIdRatioBasedSampler hex parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6284\"\u003e#6284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/4c0f3f1b911c4740a085b6c66d267bb74826b475\"\u003e\u003ccode\u003e4c0f3f1\u003c/code\u003e\u003c/a\u003e feat(sdk-node): set TracerProvider in startNodeSDK() (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6607\"\u003e#6607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/417f2f17e4234417b34dbf7bdf8e24c330259dd2\"\u003e\u003ccode\u003e417f2f1\u003c/code\u003e\u003c/a\u003e fix(instr-xhr): do not unpatch XHR methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6611\"\u003e#6611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/47ac523b124be222ac89160e4623e8a60c960f35\"\u003e\u003ccode\u003e47ac523\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: allow browser maintainers to approve changelog edits\u0026quot; (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6627\"\u003e#6627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/86c621d5b8344f1ecdc13a9841a90604912d0055\"\u003e\u003ccode\u003e86c621d\u003c/code\u003e\u003c/a\u003e fix(instrumentation-fetch): tolerate non-writable globalThis.fetch and fix pr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/v2.7.0...v2.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 8.20.0 to 8.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epg@8.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3521\"\u003eSASL SCRAM\u003c/a\u003e server error responses properly.\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3667\"\u003enode@26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escramMaxIterations\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3677\"\u003econfig option\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eclient.getTransactionStatus()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3645\"\u003emethod\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/brianc/node-postgres/commit/544b1ce8152bc280e398dc1e8a66920abe6a640e\"\u003e\u003ccode\u003e544b1ce\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/cc03fa5cdf0f1e67b2518ebad5cf2269206aa49c\"\u003e\u003ccode\u003ecc03fa5\u003c/code\u003e\u003c/a\u003e Add scramMaxIterations option to limit SCRAM iteration count (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f776327b3fcdd997c67e866ef7c620ef9c26b3f2\"\u003e\u003ccode\u003ef776327\u003c/code\u003e\u003c/a\u003e Remove compatibility code for unsupported versions of Node (\u0026lt;16) (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3678\"\u003e#3678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f252870eba73c15449b57562e6698b5859e32095\"\u003e\u003ccode\u003ef252870\u003c/code\u003e\u003c/a\u003e cleanup: pg utils (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/c8da6ab9326d93005e6947217cf665f707e08ec7\"\u003e\u003ccode\u003ec8da6ab\u003c/code\u003e\u003c/a\u003e Assorted test cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/fa47e73349786c2a76db98801d60c05371b0a906\"\u003e\u003ccode\u003efa47e73\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eClient#end\u003c/code\u003e callback being called multiple times when first is no-op (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/88a7e60c7191ce8061d6276b299895bf5511e042\"\u003e\u003ccode\u003e88a7e60\u003c/code\u003e\u003c/a\u003e cleanup: Move declaration to more natural place\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/2095247a7b10ebe19cd7d518e07ee2f259dda70a\"\u003e\u003ccode\u003e2095247\u003c/code\u003e\u003c/a\u003e cleanup: Combine duplicated code in \u003ccode\u003eClient#query\u003c/code\u003e and avoid unneeded early n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/0ac3eddef6481f4e4f9359c65d3c0cfd7d2124e1\"\u003e\u003ccode\u003e0ac3edd\u003c/code\u003e\u003c/a\u003e fix: apply SASLprep (RFC 4013) to passwords before SCRAM-SHA-256 PBKDF2 (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/be880d45552269f0b847a3e568014bde6536eae3\"\u003e\u003ccode\u003ebe880d4\u003c/code\u003e\u003c/a\u003e Assorted test fixes and cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `qs` from 6.15.1 to 6.15.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ljharb/qs/blob/main/CHANGELOG.md\"\u003eqs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003cstrong\u003e6.15.2\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + \u003ccode\u003eencodeValuesOnly\u003c/code\u003e instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[readme] fix grammar (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Tests] add regression tests for keys containing percent-encoded bracket text\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/ljharb/qs/commit/9aca4076fe788338c67cf7e115f0be6bc58d85a8\"\u003e\u003ccode\u003e9aca407\u003c/code\u003e\u003c/a\u003e v6.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/5e33d33447ed0bf1ddab9abc41d27dea4687d992\"\u003e\u003ccode\u003e5e33d33\u003c/code\u003e\u003c/a\u003e [Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/21f80b33e5c8b3f7eba1034fff0da4a4a37a1d41\"\u003e\u003ccode\u003e21f80b3\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + `e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a0a81ea2071acce3eff41a040f719ac8f5c4f64c\"\u003e\u003ccode\u003ea0a81ea\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/e3062f78f5233b338ceeb8e8dfa5a07dea4b32a8\"\u003e\u003ccode\u003ee3062f7\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/0c180a40adb8c6703fffc85b2ff06ca209f5c1e0\"\u003e\u003ccode\u003e0c180a4\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/3a8b94aec19bd664720f6f6b1e66c4a0dfe4b656\"\u003e\u003ccode\u003e3a8b94a\u003c/code\u003e\u003c/a\u003e [Tests] add regression tests for keys containing percent-encoded bracket text\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/96755abd357c0e534dd3442a84a04d08864bfe0d\"\u003e\u003ccode\u003e96755ab\u003c/code\u003e\u003c/a\u003e [readme] fix grammar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a419ce5bbfcdb98a299f1a0bb47ea055baef20e6\"\u003e\u003ccode\u003ea419ce5\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ljharb/qs/compare/v6.15.1...v6.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sql-formatter` from 15.7.3 to 15.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/releases\"\u003esql-formatter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e15.8.0\u003c/h2\u003e\n\u003ch3\u003ePostgreSQL formatting\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for PostgreSQL keywords in \u003ccode\u003eCREATE CONSTRAINT TRIGGER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/948\"\u003e#948\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/karlhorky\"\u003e\u003ccode\u003e@​karlhorky\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch from yarn to pnpm (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.4...v15.8.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003e15.7.4\u003c/h2\u003e\n\u003ch3\u003eBugfix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Tcl-style $param(...) syntax in SQLite (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/944\"\u003e#944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/943\"\u003e#943\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\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/sql-formatter-org/sql-formatter/commit/a3bfeeb4e96415efe4820a1b2c7ed592384aa0be\"\u003e\u003ccode\u003ea3bfeeb\u003c/code\u003e\u003c/a\u003e Release v15.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/a7f50d8a68f667b90cfd4e75b1fd683e67413a89\"\u003e\u003ccode\u003ea7f50d8\u003c/code\u003e\u003c/a\u003e Add tagName config to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dab8693b1728696981f3db9b0780b8a7229687c3\"\u003e\u003ccode\u003edab8693\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm as plugin to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/5ab2c8019f9d09ccf3df388d74672821b27ce241\"\u003e\u003ccode\u003e5ab2c80\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/1a000ca83e2e30999f222193ef28c14a949998a2\"\u003e\u003ccode\u003e1a000ca\u003c/code\u003e\u003c/a\u003e Configure release-it to use pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/34fe5b080c11b1cecbe3a0c5d8b89ed8a62941ef\"\u003e\u003ccode\u003e34fe5b0\u003c/code\u003e\u003c/a\u003e Fix scripts using -- (pnpm interprets this as file name)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/6610b6a65a1f7a3654d45bc6100a897649b3136d\"\u003e\u003ccode\u003e6610b6a\u003c/code\u003e\u003c/a\u003e Add pnpm to lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/af633e85fb684650ee7e3b48f1a9dcd897dc050e\"\u003e\u003ccode\u003eaf633e8\u003c/code\u003e\u003c/a\u003e Switch from yarn@1.22.22 to pnpm@11.0.8 (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/ba7437e24b51bb7c5cf38dfcc9f4e58a5dc7fab5\"\u003e\u003ccode\u003eba7437e\u003c/code\u003e\u003c/a\u003e Ignore pnpm-lock.yaml from Prettier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dcee63f96d576ed828dd5af67d26ee9a3728e2db\"\u003e\u003ccode\u003edcee63f\u003c/code\u003e\u003c/a\u003e Work around pnpm bug with pmOnFail + devEngines.packageManager\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.3...v15.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@bufbuild/buf` from 1.68.4 to 1.69.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bufbuild/buf/releases\"\u003e@​bufbuild/buf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.69.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/blob/main/CHANGELOG.md\"\u003e@​bufbuild/buf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.69.0] - 2026-04-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/commit/88829eb3bd5b9ee297b6005ffdf3675e23842511\"\u003e\u003ccode\u003e88829eb\u003c/code\u003e\u003c/a\u003e Release v1.69.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4521\"\u003e#4521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/4a92ff394f12e70adb913cda152eb51075877a82\"\u003e\u003ccode\u003e4a92ff3\u003c/code\u003e\u003c/a\u003e Upgrade protocompile to latest \u003ccode\u003emain\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4520\"\u003e#4520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/04ed9c9179fc71d0dab7bf2919fcdc7b0bd9fe60\"\u003e\u003ccode\u003e04ed9c9\u003c/code\u003e\u003c/a\u003e Add YAML files to license header generation (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4518\"\u003e#4518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/ddb85216e15f47f547f5da9d84ce5594caebd66e\"\u003e\u003ccode\u003eddb8521\u003c/code\u003e\u003c/a\u003e Upgrade protocompile to latest main (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4519\"\u003e#4519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/7e1e2770d66b4746f33d35c43f971c2e4b977f8a\"\u003e\u003ccode\u003e7e1e277\u003c/code\u003e\u003c/a\u003e Propagate DuplicateProtoPathError as typed error from new compiler path (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4517\"\u003e#4517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/f781a0e1e22682243e0688206ffa510fdade0960\"\u003e\u003ccode\u003ef781a0e\u003c/code\u003e\u003c/a\u003e Reduce allocations in shake256.NewDigestForContent (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4505\"\u003e#4505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/5f4233e4b9acac0d836dbfdfba02ac2ef96bf3e4\"\u003e\u003ccode\u003e5f4233e\u003c/code\u003e\u003c/a\u003e Add concurrency checks for CI workflows (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4516\"\u003e#4516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/b10141d371f2b70218b74b8dec9eb08f5180e248\"\u003e\u003ccode\u003eb10141d\u003c/code\u003e\u003c/a\u003e Add LSP code lenses for \u003ccode\u003ebuf generate\u003c/code\u003e and checking for plugin updates (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4480\"\u003e#4480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/637ea97f5bfcf93b2b419f0c15e46c6541561d55\"\u003e\u003ccode\u003e637ea97\u003c/code\u003e\u003c/a\u003e Upgrade protocompile and update changelog (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4515\"\u003e#4515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d960fc0c53bb0be27a3fcb32da5153224771c0bb\"\u003e\u003ccode\u003ed960fc0\u003c/code\u003e\u003c/a\u003e Add LSP warning diagnostics for invalid buf.yaml ignore paths (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4498\"\u003e#4498\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bufbuild/buf/compare/v1.68.4...v1.69.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.3.0 to 30.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003ejest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev30.4.2\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.1\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.0\u003c/h2\u003e\n\u003cp\u003eBig release! 😀\u003c/p\u003e\n\u003cp\u003eMain feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work \u003ccode\u003erequire(esm)\u003c/code\u003e module is now supported on Node 24.9+ (still requires \u003ccode\u003e--experimental-vm-modules\u003c/code\u003e like before).\u003c/p\u003e\n\u003cp\u003eIn addition we now support fake timers for the recently released \u003ccode\u003eTemporal\u003c/code\u003e API in Node v26.\u003c/p\u003e\n\u003cp\u003eReact 19 is also supported properly in \u003ccode\u003epretty-format\u003c/code\u003e, meaning snapshots of React components now work like they should.\u003c/p\u003e\n\u003cp\u003eDue to all the changes, there might be regressions that snuck in. Please report them!\u003c/p\u003e\n\u003cp\u003eFull list of changes below\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\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/jestjs/jest/blob/main/CHANGELOG.md\"\u003ejest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.4.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[pretty-format]\u003c/code\u003e Support React 19 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16123\"\u003e#16123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect-utils]\u003c/code\u003e Fix \u003ccode\u003etoStrictEqual\u003c/code\u003e failing on \u003ccode\u003estructuredClone\u003c/code\u003e results due to cross-realm constructor mismatch (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15959\"\u003e#15959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Prevent \u003ccode\u003etoMatchObject\u003c/code\u003e/subset matching from throwing when encountering exotic iterables (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15952\"\u003e#15952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[fake-timers]\u003c/code\u003e Convert \u003ccode\u003eDate\u003c/code\u003e to milliseconds before passing to \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16029\"\u003e#16029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest]\u003c/code\u003e Export \u003ccode\u003eGlobalConfig\u003c/code\u003e and \u003ccode\u003eProjectConfig\u003c/code\u003e TypeScript types (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Prevent crash when \u003ccode\u003easyncError\u003c/code\u003e is undefined for non-Error throws (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16003\"\u003e#16003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Include \u003ccode\u003eError.cause\u003c/code\u003e in JSON \u003ccode\u003efailureMessages\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15967\"\u003e#15967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Fix preset path resolution on Windows when the preset uses subpath \u003ccode\u003eexports\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15961\"\u003e#15961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config without a validation warning (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Project config validator now emits \u0026quot;is not supported in an individual project configuration\u0026quot; instead of \u0026quot;probably a typing mistake\u0026quot; for known global-only options (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Fix \u003ccode\u003e--localstorage-file\u003c/code\u003e warning on Node 25+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16086\"\u003e#16086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16137\"\u003e#16137\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/jestjs/jest/commit/746f2a0f57c56e3bba555280f0587d40f3db95c0\"\u003e\u003ccode\u003e746f2a0\u003c/code\u003e\u003c/a\u003e v30.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/b3b4a09ed3005369dacc7466d1d2122797283785\"\u003e\u003ccode\u003eb3b4a09\u003c/code\u003e\u003c/a\u003e v30.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/5cbb21e0b3037edb42e503ec1a1ce80efad40c20\"\u003e\u003ccode\u003e5cbb21e\u003c/code\u003e\u003c/a\u003e v30.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/db7141a93cc85fab81cf9c25368e1f2b2c312286\"\u003e\u003ccode\u003edb7141a\u003c/code\u003e\u003c/a\u003e fix: allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.2/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tar` from 7.5.13 to 7.5.15\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/87cc309f13c21d598b0b833235d387a252455058\"\u003e\u003ccode\u003e87cc309\u003c/code\u003e\u003c/a\u003e 7.5.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7aef486f0d21c10fd7790b16b1b28f04648cf334\"\u003e\u003ccode\u003e7aef486\u003c/code\u003e\u003c/a\u003e fix: regression in pending links detection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6244eb33846bbd407443f5d0e339bd8c91663cd6\"\u003e\u003ccode\u003e6244eb3\u003c/code\u003e\u003c/a\u003e 7.5.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/9704d8c6f639573775133cbbd541aba83cb46c9c\"\u003e\u003ccode\u003e9704d8c\u003c/code\u003e\u003c/a\u003e stricter protection against hardlinks preempting their targets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/700734f9aeb113bcc5f1400d81b8be7d499e54a2\"\u003e\u003ccode\u003e700734f\u003c/code\u003e\u003c/a\u003e update workflows and deps\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v7.5.13...v7.5.15\"\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/oyakh1/hiero-mirror-node--040/pull/21","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyakh1%2Fhiero-mirror-node--040/issues/21","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/21/packages"}],"issue_packages":[{"old_version":"11.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-07-20T11:15:34.000Z","version_change":"11.1.2 → 22.0.0","issue":{"uuid":"4928382932","node_id":"PR_kwDOSRFXP87z0PdH","number":71,"state":"closed","title":"deps(deps): bump the major group with 56 updates","user":"dependabot[bot]","labels":["invalid","dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-07-20T11:15:53.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-20T11:15:34.000Z","updated_at":"2026-07-20T11:16:02.000Z","time_to_close":19,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"major","update_count":56,"packages":[{"name":"body-parser","old_version":"1.20.6","new_version":"2.3.0","repository_url":"https://github.com/expressjs/body-parser"},{"name":"check-dependencies","old_version":"1.1.1","new_version":"2.0.0","repository_url":"https://github.com/mgol/check-dependencies"},{"name":"config","old_version":"3.3.12","new_version":"4.4.2","repository_url":"https://github.com/node-config/node-config"},{"name":"express","old_version":"4.22.2","new_version":"5.2.1","repository_url":"https://github.com/expressjs/express"},{"name":"express-jwt","old_version":"0.1.3","new_version":"8.5.1","repository_url":"https://github.com/auth0/express-jwt"},{"name":"express-rate-limit","old_version":"7.5.1","new_version":"8.6.0","repository_url":"https://github.com/express-rate-limit/express-rate-limit"},{"name":"express-robots-txt","old_version":"0.5.0","new_version":"1.0.0","repository_url":"https://github.com/modosc/express-robots-txt"},{"name":"file-type","old_version":"16.5.4","new_version":"22.0.1","repository_url":"https://github.com/sindresorhus/file-type"},{"name":"fs-extra","old_version":"9.1.0","new_version":"11.3.6","repository_url":"https://github.com/jprichardson/node-fs-extra"},{"name":"fuzzball","old_version":"1.4.0","new_version":"2.2.6","repository_url":"https://github.com/nol13/fuzzball.js"},{"name":"glob","old_version":"10.5.0","new_version":"13.0.6","repository_url":"https://github.com/isaacs/node-glob"},{"name":"grunt-contrib-compress","old_version":"1.6.0","new_version":"2.0.0","repository_url":"https://github.com/gruntjs/grunt-contrib-compress"},{"name":"helmet","old_version":"4.6.0","new_version":"8.3.0","repository_url":"https://github.com/helmetjs/helmet"},{"name":"html-entities","old_version":"1.4.0","new_version":"2.6.0","repository_url":"https://github.com/mdevils/html-entities"},{"name":"js-yaml","old_version":"3.15.0","new_version":"5.2.1","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"jsonwebtoken","old_version":"0.4.0","new_version":"9.0.3","repository_url":"https://github.com/auth0/node-jsonwebtoken"},{"name":"multer","old_version":"1.4.5-lts.2","new_version":"2.2.0","repository_url":"https://github.com/expressjs/multer"},{"name":"otplib","old_version":"12.0.1","new_version":"13.4.1","repository_url":"https://github.com/yeojz/otplib"},{"name":"prom-client","old_version":"14.2.0","new_version":"15.1.3","repository_url":"https://github.com/siimon/prom-client"},{"name":"sanitize-html","old_version":"1.4.2","new_version":"2.17.6","repository_url":"https://github.com/apostrophecms/apostrophe"},{"name":"socket.io","old_version":"3.1.2","new_version":"4.8.3","repository_url":"https://github.com/socketio/socket.io"},{"name":"sqlite3","old_version":"5.1.7","new_version":"6.0.1","repository_url":"https://github.com/TryGhost/node-sqlite3"},{"name":"ts-node-dev","old_version":"1.1.8","new_version":"2.0.0","repository_url":"https://github.com/whitecolor/ts-node-dev"},{"name":"@types/chai","old_version":"4.3.20","new_version":"5.2.3","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/config","old_version":"3.3.5","new_version":"4.4.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/diff","old_version":"7.0.2","new_version":"8.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/express","old_version":"4.17.25","new_version":"5.0.6","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/express-jwt","old_version":"6.0.4","new_version":"7.4.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/fs-extra","old_version":"9.0.13","new_version":"11.0.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/glob","old_version":"7.2.0","new_version":"9.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/jest","old_version":"26.0.24","new_version":"30.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/js-yaml","old_version":"3.12.10","new_version":"4.0.9","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/jsonwebtoken","old_version":"8.5.9","new_version":"9.0.10","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/mocha","old_version":"8.2.3","new_version":"10.0.10","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/multer","old_version":"1.4.13","new_version":"2.2.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/node","old_version":"20.19.43","new_version":"26.1.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sanitize-html","old_version":"1.27.2","new_version":"2.16.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sequelize","old_version":"4.28.20","new_version":"6.12.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sinon","old_version":"10.0.20","new_version":"22.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sinon-chai","old_version":"3.2.12","new_version":"4.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/socket.io","old_version":"2.1.13","new_version":"3.0.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/socket.io-client","old_version":"1.4.36","new_version":"3.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"6.18.1","new_version":"8.64.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"6.18.1","new_version":"8.64.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"chai","old_version":"4.5.0","new_version":"6.2.2","repository_url":"https://github.com/chaijs/chai"},{"name":"concurrently","old_version":"5.3.0","new_version":"10.0.3","repository_url":"https://github.com/open-cli-tools/concurrently"},{"name":"cypress","old_version":"13.17.0","new_version":"15.18.1","repository_url":"https://github.com/cypress-io/cypress"},{"name":"eslint","old_version":"8.57.1","new_version":"10.7.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-promise","old_version":"6.6.0","new_version":"7.3.0","repository_url":"https://github.com/eslint-community/eslint-plugin-promise"},{"name":"jest","old_version":"29.7.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"mocha","old_version":"8.4.0","new_version":"11.7.6","repository_url":"https://github.com/mochajs/mocha"},{"name":"nyc","old_version":"15.1.0","new_version":"18.0.0","repository_url":"https://github.com/istanbuljs/nyc"},{"name":"sinon","old_version":"11.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"sinon-chai","old_version":"3.7.0","new_version":"4.0.1","repository_url":"https://github.com/chaijs/sinon-chai"},{"name":"socket.io-client","old_version":"3.1.3","new_version":"4.8.3","repository_url":"https://github.com/socketio/socket.io"},{"name":"typescript","old_version":"5.3.3","new_version":"7.0.2","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the major group with 56 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [body-parser](https://github.com/expressjs/body-parser) | `1.20.6` | `2.3.0` |\n| [check-dependencies](https://github.com/mgol/check-dependencies) | `1.1.1` | `2.0.0` |\n| [config](https://github.com/node-config/node-config) | `3.3.12` | `4.4.2` |\n| [express](https://github.com/expressjs/express) | `4.22.2` | `5.2.1` |\n| [express-jwt](https://github.com/auth0/express-jwt) | `0.1.3` | `8.5.1` |\n| [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit) | `7.5.1` | `8.6.0` |\n| [express-robots-txt](https://github.com/modosc/express-robots-txt) | `0.5.0` | `1.0.0` |\n| [file-type](https://github.com/sindresorhus/file-type) | `16.5.4` | `22.0.1` |\n| [fs-extra](https://github.com/jprichardson/node-fs-extra) | `9.1.0` | `11.3.6` |\n| [fuzzball](https://github.com/nol13/fuzzball.js) | `1.4.0` | `2.2.6` |\n| [glob](https://github.com/isaacs/node-glob) | `10.5.0` | `13.0.6` |\n| [grunt-contrib-compress](https://github.com/gruntjs/grunt-contrib-compress) | `1.6.0` | `2.0.0` |\n| [helmet](https://github.com/helmetjs/helmet) | `4.6.0` | `8.3.0` |\n| [html-entities](https://github.com/mdevils/html-entities) | `1.4.0` | `2.6.0` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `3.15.0` | `5.2.1` |\n| [jsonwebtoken](https://github.com/auth0/node-jsonwebtoken) | `0.4.0` | `9.0.3` |\n| [multer](https://github.com/expressjs/multer) | `1.4.5-lts.2` | `2.2.0` |\n| [otplib](https://github.com/yeojz/otplib/tree/HEAD/packages/otplib) | `12.0.1` | `13.4.1` |\n| [prom-client](https://github.com/siimon/prom-client) | `14.2.0` | `15.1.3` |\n| [sanitize-html](https://github.com/apostrophecms/apostrophe/tree/HEAD/packages/sanitize-html) | `1.4.2` | `2.17.6` |\n| [socket.io](https://github.com/socketio/socket.io) | `3.1.2` | `4.8.3` |\n| [sqlite3](https://github.com/TryGhost/node-sqlite3) | `5.1.7` | `6.0.1` |\n| [ts-node-dev](https://github.com/whitecolor/ts-node-dev) | `1.1.8` | `2.0.0` |\n| [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai) | `4.3.20` | `5.2.3` |\n| [@types/config](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/config) | `3.3.5` | `4.4.0` |\n| [@types/diff](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/diff) | `7.0.2` | `8.0.0` |\n| [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express) | `4.17.25` | `5.0.6` |\n| [@types/express-jwt](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express-jwt) | `6.0.4` | `7.4.4` |\n| [@types/fs-extra](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/fs-extra) | `9.0.13` | `11.0.4` |\n| [@types/glob](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/glob) | `7.2.0` | `9.0.0` |\n| [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) | `26.0.24` | `30.0.0` |\n| [@types/js-yaml](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/js-yaml) | `3.12.10` | `4.0.9` |\n| [@types/jsonwebtoken](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsonwebtoken) | `8.5.9` | `9.0.10` |\n| [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) | `8.2.3` | `10.0.10` |\n| [@types/multer](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/multer) | `1.4.13` | `2.2.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `20.19.43` | `26.1.1` |\n| [@types/sanitize-html](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sanitize-html) | `1.27.2` | `2.16.1` |\n| [@types/sequelize](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sequelize) | `4.28.20` | `6.12.0` |\n| [@types/sinon](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon) | `10.0.20` | `22.0.0` |\n| [@types/sinon-chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon-chai) | `3.2.12` | `4.0.0` |\n| [@types/socket.io](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/socket.io) | `2.1.13` | `3.0.2` |\n| [@types/socket.io-client](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/socket.io-client) | `1.4.36` | `3.0.0` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `6.18.1` | `8.64.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `6.18.1` | `8.64.0` |\n| [chai](https://github.com/chaijs/chai) | `4.5.0` | `6.2.2` |\n| [concurrently](https://github.com/open-cli-tools/concurrently) | `5.3.0` | `10.0.3` |\n| [cypress](https://github.com/cypress-io/cypress) | `13.17.0` | `15.18.1` |\n| [eslint](https://github.com/eslint/eslint) | `8.57.1` | `10.7.0` |\n| [eslint-plugin-promise](https://github.com/eslint-community/eslint-plugin-promise) | `6.6.0` | `7.3.0` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.4.2` |\n| [mocha](https://github.com/mochajs/mocha) | `8.4.0` | `11.7.6` |\n| [nyc](https://github.com/istanbuljs/nyc) | `15.1.0` | `18.0.0` |\n| [sinon](https://github.com/sinonjs/sinon) | `11.1.2` | `22.0.0` |\n| [sinon-chai](https://github.com/chaijs/sinon-chai) | `3.7.0` | `4.0.1` |\n| [socket.io-client](https://github.com/socketio/socket.io) | `3.1.3` | `4.8.3` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.3.3` | `7.0.2` |\n\nUpdates `body-parser` from 1.20.6 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/body-parser/releases\"\u003ebody-parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.0\u003c/h2\u003e\n\u003ch2\u003eImportant: Security\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2025-13466\"\u003eCVE-2026-12590\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/body-parser/security/advisories/GHSA-v422-hmwv-36x6\"\u003eGHSA-v422-hmwv-36x6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 6.0.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/expressjs/body-parser/pull/681\"\u003eexpressjs/body-parser#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 5.0.0 to 6.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/expressjs/body-parser/pull/682\"\u003eexpressjs/body-parser#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 6.0.0 to 6.1.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/expressjs/body-parser/pull/683\"\u003eexpressjs/body-parser#683\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 5.0.0 to 6.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/expressjs/body-parser/pull/685\"\u003eexpressjs/body-parser#685\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.31.2 to 4.31.9 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/expressjs/body-parser/pull/684\"\u003eexpressjs/body-parser#684\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(urlencoded): move empty-body guard to avoid extra function closure by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/647\"\u003eexpressjs/body-parser#647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove ESM compatibility by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/697\"\u003eexpressjs/body-parser#697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add recommendations for configuring payload limits by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/699\"\u003eexpressjs/body-parser#699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 6.1.0 to 6.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/701\"\u003eexpressjs/body-parser#701\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.31.10 to 4.32.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/expressjs/body-parser/pull/702\"\u003eexpressjs/body-parser#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 6.0.1 to 6.0.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/700\"\u003eexpressjs/body-parser#700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore:  add explicit type commonjs to package.json by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/711\"\u003eexpressjs/body-parser#711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: update dependencies to latest versions by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/708\"\u003eexpressjs/body-parser#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 7.0.0 to 8.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/expressjs/body-parser/pull/712\"\u003eexpressjs/body-parser#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.32.0 to 4.32.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/expressjs/body-parser/pull/713\"\u003eexpressjs/body-parser#713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 6.0.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/expressjs/body-parser/pull/714\"\u003eexpressjs/body-parser#714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: improve limit option validation by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/698\"\u003eexpressjs/body-parser#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.32.4 to 4.35.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/expressjs/body-parser/pull/719\"\u003eexpressjs/body-parser#719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 6.2.0 to 6.3.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/expressjs/body-parser/pull/718\"\u003eexpressjs/body-parser#718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/717\"\u003eexpressjs/body-parser#717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: eliminate conditional check in json strict mode hot path by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/651\"\u003eexpressjs/body-parser#651\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add node.js 26 to text matrix by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/726\"\u003eexpressjs/body-parser#726\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 6.3.0 to 6.4.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/expressjs/body-parser/pull/725\"\u003eexpressjs/body-parser#725\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact 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/expressjs/body-parser/pull/724\"\u003eexpressjs/body-parser#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.35.1 to 4.35.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/723\"\u003eexpressjs/body-parser#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade \u0026quot;content-type\u0026quot; by \u003ca href=\"https://github.com/blakeembrey\"\u003e\u003ccode\u003e@​blakeembrey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/728\"\u003eexpressjs/body-parser#728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: switch to const/let and enable eslint no-var rule by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/729\"\u003eexpressjs/body-parser#729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate outdated reference to MDN docs by \u003ca href=\"https://github.com/krzysdz\"\u003e\u003ccode\u003e@​krzysdz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/730\"\u003eexpressjs/body-parser#730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.35.3 to 4.36.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/expressjs/body-parser/pull/731\"\u003eexpressjs/body-parser#731\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 6.0.2 to 6.0.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/732\"\u003eexpressjs/body-parser#732\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updated deps to latest by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/733\"\u003eexpressjs/body-parser#733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e2.3.0 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/735\"\u003eexpressjs/body-parser#735\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/krzysdz\"\u003e\u003ccode\u003e@​krzysdz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/730\"\u003eexpressjs/body-parser#730\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/body-parser/compare/v2.2.2...v2.3.0\"\u003ehttps://github.com/expressjs/body-parser/compare/v2.2.2...v2.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update README links by \u003ca href=\"https://github.com/efekrskl\"\u003e\u003ccode\u003e@​efekrskl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/673\"\u003eexpressjs/body-parser#673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: release notes for the v1.20.4 release by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/674\"\u003eexpressjs/body-parser#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update URL-encoded parser description to include ISO-8859-1 encoding support by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/679\"\u003eexpressjs/body-parser#679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: use standard jsdoc tags everywhere by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/677\"\u003eexpressjs/body-parser#677\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/expressjs/body-parser/blob/master/HISTORY.md\"\u003ebody-parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.3.0 / 2026-06-15\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://github.com/expressjs/body-parser/security/advisories/GHSA-v422-hmwv-36x6\"\u003eGHSA-v422-hmwv-36x6\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use static exports instead of lazy getters to improve ESM compatibility\u003c/li\u003e\n\u003cli\u003efeat: add subpath exports for individual parsers\u003c/li\u003e\n\u003cli\u003efix: improve \u003ccode\u003elimit\u003c/code\u003e option validation (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/698\"\u003e#698\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eInvalid \u003ccode\u003elimit\u003c/code\u003e values (e.g. unparseable strings or \u003ccode\u003eNaN\u003c/code\u003e) now throw instead of being silently ignored, which previously disabled size limit enforcement\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enull\u003c/code\u003e and \u003ccode\u003eundefined\u003c/code\u003e fall back to the default 100kb limit\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003econtent-type@^2.0.0\u003c/li\u003e\n\u003cli\u003ehttp-errors@^2.0.1\u003c/li\u003e\n\u003cli\u003eiconv-lite^0.7.2\u003c/li\u003e\n\u003cli\u003eqs@^6.15.2\u003c/li\u003e\n\u003cli\u003eraw-body@^3.0.2\u003c/li\u003e\n\u003cli\u003etype-is@^2.1.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.2 / 2026-01-07\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003edeps: qs@^6.14.1\u003c/li\u003e\n\u003cli\u003erefactor(json): simplify strict mode error string construction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.1 / 2025-11-24\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://github.com/expressjs/body-parser/security/advisories/GHSA-wqch-xfxh-vrr4\"\u003eGHSA-wqch-xfxh-vrr4\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003etype-is@^2.0.1\u003c/li\u003e\n\u003cli\u003eiconv-lite@^0.7.0\n\u003cul\u003e\n\u003cli\u003eHandle split surrogate pairs when encoding UTF-8\u003c/li\u003e\n\u003cli\u003eAvoid false positives in \u003ccode\u003eencodingExists\u003c/code\u003e by using prototype-less objects\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eraw-body@^3.0.1\u003c/li\u003e\n\u003cli\u003edebug@^4.4.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.0 / 2025-03-27\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: normalize common options for all parsers\u003c/li\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003eiconv-lite@^0.6.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.1.0 / 2025-02-10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003etype-is@^2.0.0\u003c/li\u003e\n\u003cli\u003edebug@^4.4.0\u003c/li\u003e\n\u003cli\u003eRemoved destroy\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003erefactor: prefix built-in node module imports\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/expressjs/body-parser/commit/d0f2ace6c74769da7d19b8661b9a01c01bdb0bf7\"\u003e\u003ccode\u003ed0f2ace\u003c/code\u003e\u003c/a\u003e 2.3.0 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/735\"\u003e#735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/7d03f2f9d561dafd1576b137713353c95253512c\"\u003e\u003ccode\u003e7d03f2f\u003c/code\u003e\u003c/a\u003e chore: updated deps to latest (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/733\"\u003e#733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/8024ba7a813e6647ed63832d209a2abb8531267a\"\u003e\u003ccode\u003e8024ba7\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 6.0.2 to 6.0.3 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/732\"\u003e#732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/32b4ed4639281f04563adcd41d724ab06c9105d4\"\u003e\u003ccode\u003e32b4ed4\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 4.35.3 to 4.36.1 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/ff0f6b907106ec5a1b81c80f5a552d921c1bc9a5\"\u003e\u003ccode\u003eff0f6b9\u003c/code\u003e\u003c/a\u003e docs: update outdated reference to MDN docs (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/730\"\u003e#730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/14d001a9c90abc05891d895ad3e9cf0a65b7b34a\"\u003e\u003ccode\u003e14d001a\u003c/code\u003e\u003c/a\u003e refactor: switch to const/let and enable eslint no-var rule (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/729\"\u003e#729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/37f36a27528e65d7216f2c31c7039d3458c72147\"\u003e\u003ccode\u003e37f36a2\u003c/code\u003e\u003c/a\u003e deps: update content-type and type-is (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/728\"\u003e#728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/e1c244bf55fb00a6de4be882b4ed9fc20807d864\"\u003e\u003ccode\u003ee1c244b\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 4.35.1 to 4.35.3 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/723\"\u003e#723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/e01087f52192e20e2d0f8726d4f28a8d49d06c87\"\u003e\u003ccode\u003ee01087f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/724\"\u003e#724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/a7698d30280a3e931ea8841396e5d0ac5414e429\"\u003e\u003ccode\u003ea7698d3\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-node from 6.3.0 to 6.4.0 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/725\"\u003e#725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/expressjs/body-parser/compare/1.20.6...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `check-dependencies` from 1.1.1 to 2.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mgol/check-dependencies/releases\"\u003echeck-dependencies's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.0\u003c/h2\u003e\n\u003cp\u003eNotable non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport npm package aliases (\u003ca href=\"https://redirect.github.com/mgol/check-dependencies/issues/50\"\u003e#50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereduced a number of external dependencies\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enpm prune\u003c/code\u003e is no longer called as\u003ccode\u003enpm install\u003c/code\u003e already prunes\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edropped the callback interface - use promises instead\u003c/li\u003e\n\u003cli\u003edropped the \u003ccode\u003echeckCustomPackageNames\u003c/code\u003e option\u003c/li\u003e\n\u003cli\u003eCLI argument parsing is more strict now; camelCase parameter versions like \u003ccode\u003e--packageDir\u003c/code\u003e are no longer supported; use their kebab-case versions like \u003ccode\u003e--package-dir\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003edropped Bower support\u003c/li\u003e\n\u003cli\u003edropped support for Node.js \u003ccode\u003e\u0026lt;18.3\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/mgol/check-dependencies/commit/03c88471d9b99857bcc78171fc5dd89a4a402a16\"\u003e\u003ccode\u003e03c8847\u003c/code\u003e\u003c/a\u003e Tag 2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/65d9ef555c2e986b849e7abeac0474bfee663b0e\"\u003e\u003ccode\u003e65d9ef5\u003c/code\u003e\u003c/a\u003e Set Node.js requirement in package.json engines to \u0026gt;=18.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/4917ab0b9362530a95cc2bef028c2a6dcedf2ab7\"\u003e\u003ccode\u003e4917ab0\u003c/code\u003e\u003c/a\u003e Simplify the spawn logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/fc04cc87fe4284c083702e36a9a4055034d9fcc9\"\u003e\u003ccode\u003efc04cc8\u003c/code\u003e\u003c/a\u003e Drop support for the callback interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/28257dd04168aab66793fd0fe8ed0f46d52abec9\"\u003e\u003ccode\u003e28257dd\u003c/code\u003e\u003c/a\u003e Tweak ESLint settings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/dc16e8ac809502cf7509ef2de7429895b806535e\"\u003e\u003ccode\u003edc16e8a\u003c/code\u003e\u003c/a\u003e Drop the bluebird devDependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/412337ae3691296cbe7c2d69f0c51201894afc07\"\u003e\u003ccode\u003e412337a\u003c/code\u003e\u003c/a\u003e Drop fs-extra \u0026amp; graceful-fs devDependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/091279a22472c299cbdba0ab6e3e8a2dfbba11b5\"\u003e\u003ccode\u003e091279a\u003c/code\u003e\u003c/a\u003e Drop the findup-sync dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/10ac9c5b2ed92cdad11ce0f390551072e7509f18\"\u003e\u003ccode\u003e10ac9c5\u003c/code\u003e\u003c/a\u003e Drop lodash.camelcase \u0026amp; minimist dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/35dce52450b99241942c24d18a572c55fecc44d9\"\u003e\u003ccode\u003e35dce52\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mgol/check-dependencies/compare/1.1.1...2.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `config` from 3.3.12 to 4.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/node-config/node-config/releases\"\u003econfig's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.4.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e4.4 branch: Guard against odd object prototype issues triggered by changes in TOML 4.0 by \u003ca href=\"https://github.com/jdmarshall\"\u003e\u003ccode\u003e@​jdmarshall\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/916\"\u003enode-config/node-config#916\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.4.1...v4.4.2\"\u003ehttps://github.com/node-config/node-config/compare/v4.4.1...v4.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.4.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes for some method signature declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.4.0...v4.4.1\"\u003ehttps://github.com/node-config/node-config/compare/v4.4.0...v4.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTypescript types added to project by \u003ca href=\"https://github.com/mdkitzman\"\u003e\u003ccode\u003e@​mdkitzman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewithModuleDefaults()\u003c/code\u003e function added to support separate module defaults for multiple versions\u003c/li\u003e\n\u003cli\u003eRework raw.js to function like the new defer mechanism.\u003c/li\u003e\n\u003cli\u003e./raw.js is also now deprecated, and will be removed in 5.0\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/mdkitzman\"\u003e\u003ccode\u003e@​mdkitzman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/877\"\u003enode-config/node-config#877\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.3.0...v4.4.0\"\u003ehttps://github.com/node-config/node-config/compare/v4.3.0...v4.4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enew callback mechanism for handling deferred and async configuration evaluation\u003c/li\u003e\n\u003cli\u003e./async.js and ./defer.js are now deprecated\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Async and Deferred mechanism\u003c/h3\u003e\n\u003cp\u003eInstead of using async.js and defer.js, your executable config files can return a synchronous or asynchronous function. Note that if you use async deferred functions through the new mechanism, \u003cstrong\u003eyou need to call Util.resolveAsyncConfig()\u003c/strong\u003e instead of the old version.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eUtil.resolveAsyncConfig()\u003c/code\u003e also fixes an issue where using defer in an array did not function properly \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/876\"\u003e#876\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe old implementations have been marked as deprecated and will issue warnings to console.error to indicate use of the old pathways. The old functions are incompatible with ESM loading conventions and will be removed at the beginning of the 5.0 cycle to facilitate conversion of the library to ESM.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.2.1...v4.3.0\"\u003ehttps://github.com/node-config/node-config/compare/v4.2.1...v4.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore config.util.getEnv() by \u003ca href=\"https://github.com/jdmarshall\"\u003e\u003ccode\u003e@​jdmarshall\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/874\"\u003enode-config/node-config#874\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.2.0...v4.2.1\"\u003ehttps://github.com/node-config/node-config/compare/v4.2.0...v4.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\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/node-config/node-config/commit/24306540f0742d2ed51cb560cea424841af85ea7\"\u003e\u003ccode\u003e2430654\u003c/code\u003e\u003c/a\u003e 4.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/1537469260b2d02a08e783d35af89d62d29c150b\"\u003e\u003ccode\u003e1537469\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/916\"\u003e#916\u003c/a\u003e from jdmarshall/tomlFix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/07483cd6bdb0a47584581a7d2ffcfa85cb497021\"\u003e\u003ccode\u003e07483cd\u003c/code\u003e\u003c/a\u003e Workflow config change.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/aa818e6a4a45a607854d7f767d5dcb88159d03ed\"\u003e\u003ccode\u003eaa818e6\u003c/code\u003e\u003c/a\u003e Guard against odd object prototypes triggered by changes in TOML 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/890084d1d36796d289b38805c7e5166c32278f66\"\u003e\u003ccode\u003e890084d\u003c/code\u003e\u003c/a\u003e 4.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/878648c638abb25dcfa9673defff3068802fa383\"\u003e\u003ccode\u003e878648c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/892\"\u003e#892\u003c/a\u003e from jdmarshall/typefixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/506149bfce3b4101e2d323433d8da57a51cc7f33\"\u003e\u003ccode\u003e506149b\u003c/code\u003e\u003c/a\u003e Fix some type declarations, including those for \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/890\"\u003e#890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/228c4ad3c62769dbb0ea336d25c182c8fb547195\"\u003e\u003ccode\u003e228c4ad\u003c/code\u003e\u003c/a\u003e 4.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/407f80c51d8532bb00cb01fa12c7d662645af27d\"\u003e\u003ccode\u003e407f80c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/888\"\u003e#888\u003c/a\u003e from jdmarshall/getRegression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/d71db3c92f0d8d1c20ca6f6574f0c30d1e05c819\"\u003e\u003ccode\u003ed71db3c\u003c/code\u003e\u003c/a\u003e Update baseline and add 4.3 to the test matrix.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/node-config/node-config/compare/v3.3.12...v4.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/~jdmarshall\"\u003ejdmarshall\u003c/a\u003e, a new releaser for config since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express` from 4.22.2 to 5.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/express/releases\"\u003eexpress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\u003cbr /\u003e\nThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003eRelease: 5.2.1 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6933\"\u003eexpressjs/express#6933\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/express/compare/v5.2.0...v5.2.1\"\u003ehttps://github.com/expressjs/express/compare/v5.2.0...v5.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.2.0\u003c/h2\u003e\n\u003ch2\u003eImportant: Security\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.11 to 3.28.13 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/expressjs/express/pull/6429\"\u003eexpressjs/express#6429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: simplify \u003ccode\u003eacceptsLanguages\u003c/code\u003e implementation using spread operator by \u003ca href=\"https://github.com/Ayoub-Mabrouk\"\u003e\u003ccode\u003e@​Ayoub-Mabrouk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6137\"\u003eexpressjs/express#6137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eincreased code coverage of utils.js file by \u003ca href=\"https://github.com/ashish3011\"\u003e\u003ccode\u003e@​ashish3011\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6386\"\u003eexpressjs/express#6386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove duplicate word by \u003ca href=\"https://github.com/dufucun\"\u003e\u003ccode\u003e@​dufucun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6456\"\u003eexpressjs/express#6456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.13 to 3.28.16 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/expressjs/express/pull/6498\"\u003eexpressjs/express#6498\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 4.3.0 to 4.4.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/expressjs/express/pull/6497\"\u003eexpressjs/express#6497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 4.2.1 to 4.3.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/expressjs/express/pull/6496\"\u003eexpressjs/express#6496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add node.js 24 to test matrix by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6504\"\u003eexpressjs/express#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update codeql config by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6488\"\u003eexpressjs/express#6488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: wider range for query test skip by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6512\"\u003eexpressjs/express#6512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typos in test by \u003ca href=\"https://github.com/noritaka1166\"\u003e\u003ccode\u003e@​noritaka1166\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6535\"\u003eexpressjs/express#6535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: disable credential persistence for checkout actions by \u003ca href=\"https://github.com/mertssmnoglu\"\u003e\u003ccode\u003e@​mertssmnoglu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6522\"\u003eexpressjs/express#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: allow manual triggering of workflow by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6515\"\u003eexpressjs/express#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: add coverage for app.listen() variants by \u003ca href=\"https://github.com/kgarg1\"\u003e\u003ccode\u003e@​kgarg1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6476\"\u003eexpressjs/express#6476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: move documentation and charters to the discussions and .github … by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6427\"\u003eexpressjs/express#6427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.16 to 3.28.18 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/expressjs/express/pull/6549\"\u003eexpressjs/express#6549\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.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/expressjs/express/pull/6548\"\u003eexpressjs/express#6548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: enforce explicit \u003ccode\u003eBuffer\u003c/code\u003e import and add lint rule by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6525\"\u003eexpressjs/express#6525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: use node protocol for querystring by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6520\"\u003eexpressjs/express#6520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typo by \u003ca href=\"https://github.com/mountdisk\"\u003e\u003ccode\u003e@​mountdisk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6609\"\u003eexpressjs/express#6609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.18 to 3.29.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/expressjs/express/pull/6618\"\u003eexpressjs/express#6618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deprecation warnings for redirect arguments undefined by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6405\"\u003eexpressjs/express#6405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run CI when the markdown changes by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6632\"\u003eexpressjs/express#6632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: fix CONTRIBUTING link by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6653\"\u003eexpressjs/express#6653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update contributing guidelines and code of conduct links by \u003ca href=\"https://github.com/ShubhamOulkar\"\u003e\u003ccode\u003e@​ShubhamOulkar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6601\"\u003eexpressjs/express#6601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump morgan from 1.10.0 to 1.10.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/expressjs/express/pull/6679\"\u003eexpressjs/express#6679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump cookie-session from 2.1.0 to 2.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/expressjs/express/pull/6678\"\u003eexpressjs/express#6678\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elint: add --fix flag to automatic fix linting issue by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6644\"\u003eexpressjs/express#6644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: ignore yarn.lock file and update example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6588\"\u003eexpressjs/express#6588\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elib: use req.socket over deprecated req.connection by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6705\"\u003eexpressjs/express#6705\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update express app example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6718\"\u003eexpressjs/express#6718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.2 to 3.29.5 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/expressjs/express/pull/6675\"\u003eexpressjs/express#6675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove history.md from being packaged on publish by \u003ca href=\"https://github.com/sheplu\"\u003e\u003ccode\u003e@​sheplu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6780\"\u003eexpressjs/express#6780\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/expressjs/express/blob/master/History.md\"\u003eexpress's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.2.1 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRevert security fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.2.0 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eA deprecation warning was added when using \u003ccode\u003eres.redirect\u003c/code\u003e with undefined arguments, Express now emits a warning to help detect calls that pass undefined as the status or URL and make them easier to fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.1.0 / 2025-03-31\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eUint8Array\u003c/code\u003e in \u003ccode\u003eres.send()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for ETag option in \u003ccode\u003eres.sendFile()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for multiple links with the same rel in \u003ccode\u003eres.links()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd funding field to package.json\u003c/li\u003e\n\u003cli\u003eperf: use loop for acceptParams\u003c/li\u003e\n\u003cli\u003erefactor: prefix built-in node module imports\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esetprototypeof\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esafe-buffer\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003eutils-merge\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003emethods\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003edepd\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003edebug@^4.4.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003erouter@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003econtent-type@^1.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003efinalhandler@^2.1.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eqs@^6.14.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eserver-static@2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003etype-is@2.0.1\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.1 / 2024-10-08\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecookie\u003c/code\u003e semver lock to address \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2024-47764\"\u003eCVE-2024-47764\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.0 / 2024-09-10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eremove:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epath-is-absolute\u003c/code\u003e dependency - use \u003ccode\u003epath.isAbsolute\u003c/code\u003e instead\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ebreaking:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eres.status()\u003c/code\u003e accepts only integers, and input must be greater than 99 and less than 1000\n\u003cul\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eRangeError: Invalid status code: ${code}. Status code must be greater than 99 and less than 1000.\u003c/code\u003e for inputs outside this range\u003c/li\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eTypeError: Invalid status code: ${code}. Status code must be an integer.\u003c/code\u003e for non integer inputs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003edeps: send@1.0.0\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/expressjs/express/commit/dbac741a49a5a64336b70c06e85c2e2706e36336\"\u003e\u003ccode\u003edbac741\u003c/code\u003e\u003c/a\u003e 5.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/697547cde621d8b0a47b4fff6e98b29337f8c980\"\u003e\u003ccode\u003e697547c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;sec: security patch for CVE-2024-51999\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/4007ad103ba29f6426b2ec9eccfb1ceb792682a8\"\u003e\u003ccode\u003e4007ad1\u003c/code\u003e\u003c/a\u003e Release: 5.2.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6920\"\u003e#6920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/2f64f68c37c64ae333e41ff38032d21860f22255\"\u003e\u003ccode\u003e2f64f68\u003c/code\u003e\u003c/a\u003e sec: security patch for CVE-2024-51999\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/ed0ba3f1dc905d6b62eabf23bd383abcae4901ba\"\u003e\u003ccode\u003eed0ba3f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6928\"\u003e#6928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/8eace4603cb2547608578a4fbb259dc984216f71\"\u003e\u003ccode\u003e8eace46\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 4.31.2 to 4.31.6 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6929\"\u003e#6929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/30bae810279b2ea162bed5b14ce6c35a110a87f5\"\u003e\u003ccode\u003e30bae81\u003c/code\u003e\u003c/a\u003e build(deps): bump coverallsapp/github-action from 2.3.6 to 2.3.7 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6930\"\u003e#6930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/758d4355d45322b4c8cd347ebcefbf3b154c7e7f\"\u003e\u003ccode\u003e758d435\u003c/code\u003e\u003c/a\u003e deps: body-parser@^2.2.1 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6922\"\u003e#6922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/77bcd5274a87047e5b3fe2f17f6c342db3909c53\"\u003e\u003ccode\u003e77bcd52\u003c/code\u003e\u003c/a\u003e docs: update emeritus triagers (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6890\"\u003e#6890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/f33caf1f89a028f0ea98ff5a156a68e65a2eabdd\"\u003e\u003ccode\u003ef33caf1\u003c/code\u003e\u003c/a\u003e Nominate to \u003ca href=\"https://github.com/efekrskl\"\u003e\u003ccode\u003e@​efekrskl\u003c/code\u003e\u003c/a\u003e for triage team (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6888\"\u003e#6888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/expressjs/express/compare/v4.22.2...v5.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-jwt` from 0.1.3 to 8.5.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/auth0/express-jwt/blob/master/CHANGELOG.md\"\u003eexpress-jwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file starting from version \u003cstrong\u003ev4.0.0\u003c/strong\u003e.\nThis project adheres to \u003ca href=\"http://semver.org/\"\u003eSemantic Versioning\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e8.3.0 - 2023-01-04\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003erequestProperty support for nested properties (\u003ca href=\"https://github.com/auth0/express-jwt/commit/bbd3606ce68da2602733d6e4ac32564570753ca1\"\u003ebbd3606ce68da2602733d6e4ac32564570753ca1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Typescript instructions in Readme.MD (\u003ca href=\"https://github.com/auth0/express-jwt/commit/3c1d5cf8a08a6afbcfc78640b8cdb26fac8002ca\"\u003e3c1d5cf8a08a6afbcfc78640b8cdb26fac8002ca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.1 - 2022-12-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd secret rotation example in readme. close \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/310\"\u003e#310\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/0000a44ed58aac97798007af19b0324f28acc436\"\u003e0000a44ed58aac97798007af19b0324f28acc436\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/310\"\u003e#310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003e@​types/jsonwebtoken\u003c/code\u003e and fix deps in package-lock (\u003ca href=\"https://github.com/auth0/express-jwt/commit/2322a9b67a5b5c716f953a53a0bb4bbc696d0a11\"\u003e2322a9b67a5b5c716f953a53a0bb4bbc696d0a11\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.0 - 2022-12-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd an optional handler for expired tokens. closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/6048\"\u003e#6048\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/ca6c90ccbb4b61b91f417a5dfa56f0b931b81528\"\u003eca6c90ccbb4b61b91f417a5dfa56f0b931b81528\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/6048\"\u003e#6048\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.1.0 - 2022-12-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdate type to match jwks-rsa (\u003ca href=\"https://github.com/auth0/express-jwt/commit/bcad8af9cad82b3777cc38d1c05864a35f82bc53\"\u003ebcad8af9cad82b3777cc38d1c05864a35f82bc53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: export middleware options type. closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/308\"\u003e#308\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/25a30f0d50c02cc75ab17b09f3592e76e09f9666\"\u003e25a30f0d50c02cc75ab17b09f3592e76e09f9666\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/308\"\u003e#308\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.0 - 2022-12-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade jsonwebtoken to v9. \u003ca href=\"https://github.com/advisories/GHSA-27h2-hvpr-p74q\"\u003ehttps://github.com/advisories/GHSA-27h2-hvpr-p74q\u003c/a\u003e .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.3 - 2022-05-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix tsc build error for express-unless (\u003ca href=\"https://github.com/auth0/express-jwt/commit/e1fe1d264bc5363e008d23fea9d8c5d2ac0d8198\"\u003ee1fe1d264bc5363e008d23fea9d8c5d2ac0d8198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove esModuleInterop and fix assert import in tests (\u003ca href=\"https://github.com/auth0/express-jwt/commit/9ccf0cfd6aaa4cc61fce2f8ccdb961c4b0358201\"\u003e9ccf0cfd6aaa4cc61fce2f8ccdb961c4b0358201\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.2 - 2022-05-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix instaceof comparison for UnauthorizedError. closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/292\"\u003e#292\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/6c87fe401ecba868feda1ffa530082c7c539321a\"\u003e6c87fe401ecba868feda1ffa530082c7c539321a\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/292\"\u003e#292\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate changelog (\u003ca href=\"https://github.com/auth0/express-jwt/commit/b1344fa7f6f9dd3d27115a9107b3ef4323733895\"\u003eb1344fa7f6f9dd3d27115a9107b3ef4323733895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.1 - 2022-05-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix readme and package-lock (\u003ca href=\"https://github.com/auth0/express-jwt/commit/7a02ca76c5d7842cfa8b256dcc89dcef1ffbcdc1\"\u003e7a02ca76c5d7842cfa8b256dcc89dcef1ffbcdc1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): required runtime types (\u003ca href=\"https://github.com/auth0/express-jwt/commit/f3f5af5c214241b4f92b91c49db8586ec20e4526\"\u003ef3f5af5c214241b4f92b91c49db8586ec20e4526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: fix tiny typo (\u003ca href=\"https://github.com/auth0/express-jwt/commit/07e771857489b6344a8dc457069d040a76e84230\"\u003e07e771857489b6344a8dc457069d040a76e84230\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.0 - 2022-05-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edeprecate ExpressJwtRequest in favor of Request with optional auth, closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/284\"\u003e#284\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/de169def56f98f4237741aa6755d0c5e248bd561\"\u003ede169def56f98f4237741aa6755d0c5e248bd561\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/284\"\u003e#284\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.6.2 - 2022-05-02\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/auth0/express-jwt/commit/0dfe63b9a702b0755ec60d171152747942210be6\"\u003e\u003ccode\u003e0dfe63b\u003c/code\u003e\u003c/a\u003e 8.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/105ef5ec66fa32aa5861a09d3290545253adcbbb\"\u003e\u003ccode\u003e105ef5e\u003c/code\u003e\u003c/a\u003e add readme to package.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/c028e7098ea3dbdd4684f6e4960564e38fccdb96\"\u003e\u003ccode\u003ec028e70\u003c/code\u003e\u003c/a\u003e 8.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/75203815ab759f65aa114f4eb01faa58bc0e1e0c\"\u003e\u003ccode\u003e7520381\u003c/code\u003e\u003c/a\u003e fix: signature of middleware returned\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/ecd42788a7a24641ec78c8b21767c5f8aca5600a\"\u003e\u003ccode\u003eecd4278\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/f42a0e99422fe85fadd0a209b8497b64995e94cf\"\u003e\u003ccode\u003ef42a0e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/339\"\u003e#339\u003c/a\u003e from auth0/integrate-semgrep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/dacb316f8d485a9c335434f2812561ca9c282ecb\"\u003e\u003ccode\u003edacb316\u003c/code\u003e\u003c/a\u003e Create semgrep.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/00763facd650da5aa378ed876f4a1e863957642b\"\u003e\u003ccode\u003e00763fa\u003c/code\u003e\u003c/a\u003e Modify tests to actually exercise wrong signature case by removing base64 pad...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/d15b92c3424ecb1713df106f615c2a770ddbc0b8\"\u003e\u003ccode\u003ed15b92c\u003c/code\u003e\u003c/a\u003e 8.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/d1e88c73ed81b67d8f43eb748f8f33aa5c5b4aaf\"\u003e\u003ccode\u003ed1e88c7\u003c/code\u003e\u003c/a\u003e Merge branch 'glensc-patch-1'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/auth0/express-jwt/compare/v0.1.3...v8.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-rate-limit` from 7.5.1 to 8.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/releases\"\u003eexpress-rate-limit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.6.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.5.2\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.5.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.5.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.4.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.4.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.3.2\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.3.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.3.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.2.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.2.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.1.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.0.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\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/express-rate-limit/express-rate-limit/commit/fffb3c4d6e614e79fcb5a6617c06cc57fd587ef0\"\u003e\u003ccode\u003efffb3c4\u003c/code\u003e\u003c/a\u003e 8.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/f366b2d3602abace7e053cfb5a7e80d1f664f094\"\u003e\u003ccode\u003ef366b2d\u003c/code\u003e\u003c/a\u003e docs: debugging guide, time constants, \u0026amp; v8.6.0 changelog (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/652\"\u003e#652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/593ddd2f4fdf9111034ff81aef404d89cb07ad09\"\u003e\u003ccode\u003e593ddd2\u003c/code\u003e\u003c/a\u003e fix: make debug output easier to read (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/ef8c1295ff7f500717c9c0ceb099bbd873f8e9c2\"\u003e\u003ccode\u003eef8c129\u003c/code\u003e\u003c/a\u003e fix: Pin safe version of \u003ccode\u003e@​asyncapi/specs\u003c/code\u003e dev dep (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/659\"\u003e#659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/7b05e0dbd8b838075498af4fee7eccff4bd6c8a5\"\u003e\u003ccode\u003e7b05e0d\u003c/code\u003e\u003c/a\u003e feat: add time constants to support more readable values for windowMs (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/863e730c2f61e97e45315a7db8be42fc088d5234\"\u003e\u003ccode\u003e863e730\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the development-dependencies group with 3 updates (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/657\"\u003e#657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/e0e711e4c05b98d136203147cb811129fba79f81\"\u003e\u003ccode\u003ee0e711e\u003c/code\u003e\u003c/a\u003e fix: correct wording in usage documentation for express-rate-limit (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/fcd3aa7d5eef9d78a3609142491e9dbb4ba7d338\"\u003e\u003ccode\u003efcd3aa7\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the development-dependencies group with 3 updates (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/651\"\u003e#651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/99d4298bda0d9cd11ba4a1d518cabc22ec74d241\"\u003e\u003ccode\u003e99d4298\u003c/code\u003e\u003c/a\u003e feat: use \u003ccode\u003edebug\u003c/code\u003e for debug logging (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/641\"\u003e#641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/23e4ddef557f300a3a6d759ab7af7de44f21ab4f\"\u003e\u003ccode\u003e23e4dde\u003c/code\u003e\u003c/a\u003e feat: Run validations once each (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/compare/v7.5.1...v8.6.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 express-rate-limit since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-robots-txt` from 0.5.0 to 1.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modosc/express-robots-txt/blob/main/HISTORY.md\"\u003eexpress-robots-txt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.0.0] - {2021-08-20}\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite as es6, add separate commonjs + esm exports\u003c/li\u003e\n\u003cli\u003eUpdate deps\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/modosc/express-robots-txt/commit/2791589d8c96fc4d2190cc217d262d70cc569a93\"\u003e\u003ccode\u003e2791589\u003c/code\u003e\u003c/a\u003e es6 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/55\"\u003e#55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/0eb20919053c95e94b5d439a9fd48a98147d35bd\"\u003e\u003ccode\u003e0eb2091\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/940a03c2ebc9b8b8798df855ac92535e4240b060\"\u003e\u003ccode\u003e940a03c\u003c/code\u003e\u003c/a\u003e Bump supertest from 6.1.3 to 6.1.5 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/52\"\u003e#52\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/6c933f1f9936c1470b0ad405310b5979294ccdff\"\u003e\u003ccode\u003e6c933f1\u003c/code\u003e\u003c/a\u003e Bump jest from 27.0.4 to 27.0.6 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/50\"\u003e#50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/308c9057a4baf7365d515cae1920f57653229711\"\u003e\u003ccode\u003e308c905\u003c/code\u003e\u003c/a\u003e Bump path-parse from 1.0.6 to 1.0.7 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/0bdaaa00b7781540b145fe18abdca11c7a924aee\"\u003e\u003ccode\u003e0bdaaa0\u003c/code\u003e\u003c/a\u003e Bump jest from 26.6.3 to 27.0.4 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/48\"\u003e#48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/974a926e5dfbfcca2d99742032e4750ca478c22d\"\u003e\u003ccode\u003e974a926\u003c/code\u003e\u003c/a\u003e Bump ws from 7.4.3 to 7.4.6 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/46\"\u003e#46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/c12444cfcf67cde0d249495d11bbc9b4a7e3f686\"\u003e\u003ccode\u003ec12444c\u003c/code\u003e\u003c/a\u003e Bump hosted-git-info from 2.8.8 to 2.8.9 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/43\"\u003e#43\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/72f7ca8ab5f45592e9d9a49df94e73e03814c793\"\u003e\u003ccode\u003e72f7ca8\u003c/code\u003e\u003c/a\u003e Bump lodash from 4.17.20 to 4.17.21 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/44\"\u003e#44\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/6c35250df606de1bd355cd93850514cea82bb037\"\u003e\u003ccode\u003e6c35250\u003c/code\u003e\u003c/a\u003e Bump chai from 4.3.3 to 4.3.4 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/42\"\u003e#42\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modosc/express-robots-txt/compare/v0.5.0...v1.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `file-type` from 16.5.4 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/file-type/releases\"\u003efile-type's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev22.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Work around esbuild resolving Node-only imports  ce4262f\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/compare/v22.0.0...v22.0.1\"\u003ehttps://github.com/sindresorhus/file-type/compare/v22.0.0...v22.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRequires Node.js 22\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped Node.js \u003ccode\u003estream.Readable\u003c/code\u003e support from \u003ccode\u003efileTypeFromStream()\u003c/code\u003e and \u003ccode\u003efileTypeStream()\u003c/code\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThese now only accept a web \u003ccode\u003eReadableStream\u003c/code\u003e. Migrate with \u003ca href=\"https://nodejs.org/api/stream.html#streamreadabletowebstreamreadable-options\"\u003e\u003ccode\u003eReadable.toWeb()\u003c/code\u003e\u003c/a\u003e:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003e// Before\r\nimport fs from 'node:fs';\r\nfileTypeFromStream(fs.createReadStream('file.mp4'));\r\n\u003cp\u003e// After\u003cbr /\u003e\nimport fs from 'node:fs';\u003cbr /\u003e\nimport {Readable} from 'node:stream';\u003cbr /\u003e\nfileTypeFromStream(Readable.toWeb(fs.createReadStream('file.mp4')));\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSub-exports (e.g. \u003ccode\u003efile-type/core\u003c/code\u003e) have been removed. Import everything from \u003ccode\u003efile-type\u003c/code\u003e directly.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eReadableStreamWithFileType\u003c/code\u003e type has been removed. Use \u003ccode\u003eAnyWebReadableByteStreamWithFileType\u003c/code\u003e instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSeveral MIME types have been corrected or normalized:\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eOld MIME\u003c/th\u003e\n\u003cth\u003eNew MIME\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003elz\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-lzip\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/lzip\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003elnk\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x.ms.shortcut\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ms-shortcut\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eApple Alias\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x.apple.alias\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ft-apple.alias\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efbx\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x.autodesk.fbx\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ft-fbx\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDraco\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/vnd.google.draco\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ft-draco\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003eMIME subtypes prefixed with \u003ccode\u003ex-ft-\u003c/code\u003e are custom types defined by this package (not IANA-registered).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded detection for Apple iWork files: \u003ccode\u003e.key\u003c/code\u003e (Keynote), \u003ccode\u003e.pages\u003c/code\u003e (Pages), \u003ccode\u003e.numbers\u003c/code\u003e (Numbers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed LibreOffice OOXML files being incorrectly detected as ZIP when reading from streams\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/compare/v21.3.4...v22.0.0\"\u003ehttps://github.com/sindresorhus/file-type/compare/v21.3.4...v22.0.0\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/3c4b7e049171753c2f733c09afaf3f7ec9e09b13\"\u003e\u003ccode\u003e3c4b7e0\u003c/code\u003e\u003c/a\u003e 22.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/ce4262f69e2ed1d048162914a845fcb89cd80b01\"\u003e\u003ccode\u003ece4262f\u003c/code\u003e\u003c/a\u003e Fix: Work around esbuild resolving Node-only imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/2c54d066efdf7511e42fa9f5e4cd160b67fb51e9\"\u003e\u003ccode\u003e2c54d06\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/0ba6e0b2b76382f9b61e7b9e8610bbf7ca0e5273\"\u003e\u003ccode\u003e0ba6e0b\u003c/code\u003e\u003c/a\u003e Tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/0e679c74a9cab31c7b2aa65f9ba8e241fbc205f1\"\u003e\u003ccode\u003e0e679c7\u003c/code\u003e\u003c/a\u003e Remove sub-exports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/7079af7357c8d0a3651d6aa2015ba3cbe0121b48\"\u003e\u003ccode\u003e7079af7\u003c/code\u003e\u003c/a\u003e Tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/ec77458ce49d89bdf8de808569c2c87b43e8ca73\"\u003e\u003ccode\u003eec77458\u003c/code\u003e\u003c/a\u003e Add support for iWork files (.key, .pages, .numbers)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/d4a975c316429d8ec0bccc6e92483e625be0f6b1\"\u003e\u003ccode\u003ed4a975c\u003c/code\u003e\u003c/a\u003e Fix LibreOffice OOXML files detected as ZIP in streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/5de64e26f81ad14b1f07cb5c5108de6e303f3b60\"\u003e\u003ccode\u003e5de64e2\u003c/code\u003e\u003c/a\u003e Normalize MIME types we invented with \u003ccode\u003ex-ft-\u003c/code\u003e prefix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/7a60fa9dc0b7dad71ad6d3146a28ab92eb079983\"\u003e\u003ccode\u003e7a60fa9\u003c/code\u003e\u003c/a\u003e Require Node.js 22\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sindresorhus/file-type/compare/v16.5.4...v22.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fs-extra` from 9.1.0 to 11.3.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jprichardson/node-fs-extra/blob/master/CHANGELOG.md\"\u003efs-extra's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e11.3.6 / 2026-06-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of symlinked destination ancestors in copy/move methods (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/issues/1071\"\u003e#1071\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1073\"\u003e#1073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs typo fixed (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1074\"\u003e#1074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3.5 / 2026-05-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eensureLink*\u003c/code\u003e/\u003ccode\u003eensureSymlink*\u003c/code\u003e identical file detection on Windows (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1068\"\u003e#1068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix error handling in timestamp preservation code (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1065\"\u003e#1065\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1069\"\u003e#1069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix potential file descriptor leak on error in synchronous timestamp preservation code (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1066\"\u003e#1066\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3.4 / 2026-03-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where calling \u003ccode\u003eensureSymlink\u003c/code\u003e/\u003ccode\u003eensureSymlinkSync\u003c/code\u003e with a relative \u003ccode\u003esrcPath\u003c/code\u003e would fail if the symlink already existed (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/issues/1038\"\u003e#1038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node...\n\n_Description has been truncated_","html_url":"https://github.com/SriKaratalapu/juice-shop-krishna/pull/71","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SriKaratalapu%2Fjuice-shop-krishna/issues/71","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/71/packages"}},{"old_version":"11.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-07-20T11:15:14.000Z","version_change":"11.1.2 → 22.0.0","issue":{"uuid":"4928380756","node_id":"PR_kwDOSRFrns7z0O_e","number":65,"state":"closed","title":"deps(deps): bump the major group with 56 updates","user":"dependabot[bot]","labels":["invalid","dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-07-20T11:15:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-20T11:15:14.000Z","updated_at":"2026-07-20T11:16:01.000Z","time_to_close":38,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"major","update_count":56,"packages":[{"name":"body-parser","old_version":"1.20.6","new_version":"2.3.0","repository_url":"https://github.com/expressjs/body-parser"},{"name":"check-dependencies","old_version":"1.1.1","new_version":"2.0.0","repository_url":"https://github.com/mgol/check-dependencies"},{"name":"config","old_version":"3.3.12","new_version":"4.4.2","repository_url":"https://github.com/node-config/node-config"},{"name":"express","old_version":"4.22.2","new_version":"5.2.1","repository_url":"https://github.com/expressjs/express"},{"name":"express-jwt","old_version":"0.1.3","new_version":"8.5.1","repository_url":"https://github.com/auth0/express-jwt"},{"name":"express-rate-limit","old_version":"7.5.1","new_version":"8.6.0","repository_url":"https://github.com/express-rate-limit/express-rate-limit"},{"name":"express-robots-txt","old_version":"0.5.0","new_version":"1.0.0","repository_url":"https://github.com/modosc/express-robots-txt"},{"name":"file-type","old_version":"16.5.4","new_version":"22.0.1","repository_url":"https://github.com/sindresorhus/file-type"},{"name":"fs-extra","old_version":"9.1.0","new_version":"11.3.6","repository_url":"https://github.com/jprichardson/node-fs-extra"},{"name":"fuzzball","old_version":"1.4.0","new_version":"2.2.6","repository_url":"https://github.com/nol13/fuzzball.js"},{"name":"glob","old_version":"10.5.0","new_version":"13.0.6","repository_url":"https://github.com/isaacs/node-glob"},{"name":"grunt-contrib-compress","old_version":"1.6.0","new_version":"2.0.0","repository_url":"https://github.com/gruntjs/grunt-contrib-compress"},{"name":"helmet","old_version":"4.6.0","new_version":"8.3.0","repository_url":"https://github.com/helmetjs/helmet"},{"name":"html-entities","old_version":"1.4.0","new_version":"2.6.0","repository_url":"https://github.com/mdevils/html-entities"},{"name":"js-yaml","old_version":"3.15.0","new_version":"5.2.1","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"jsonwebtoken","old_version":"0.4.0","new_version":"9.0.3","repository_url":"https://github.com/auth0/node-jsonwebtoken"},{"name":"multer","old_version":"1.4.5-lts.2","new_version":"2.2.0","repository_url":"https://github.com/expressjs/multer"},{"name":"otplib","old_version":"12.0.1","new_version":"13.4.1","repository_url":"https://github.com/yeojz/otplib"},{"name":"prom-client","old_version":"14.2.0","new_version":"15.1.3","repository_url":"https://github.com/siimon/prom-client"},{"name":"sanitize-html","old_version":"1.4.2","new_version":"2.17.6","repository_url":"https://github.com/apostrophecms/apostrophe"},{"name":"socket.io","old_version":"3.1.2","new_version":"4.8.3","repository_url":"https://github.com/socketio/socket.io"},{"name":"sqlite3","old_version":"5.1.7","new_version":"6.0.1","repository_url":"https://github.com/TryGhost/node-sqlite3"},{"name":"ts-node-dev","old_version":"1.1.8","new_version":"2.0.0","repository_url":"https://github.com/whitecolor/ts-node-dev"},{"name":"@types/chai","old_version":"4.3.20","new_version":"5.2.3","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/config","old_version":"3.3.5","new_version":"4.4.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/diff","old_version":"7.0.2","new_version":"8.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/express","old_version":"4.17.25","new_version":"5.0.6","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/express-jwt","old_version":"6.0.4","new_version":"7.4.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/fs-extra","old_version":"9.0.13","new_version":"11.0.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/glob","old_version":"7.2.0","new_version":"9.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/jest","old_version":"26.0.24","new_version":"30.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/js-yaml","old_version":"3.12.10","new_version":"4.0.9","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/jsonwebtoken","old_version":"8.5.9","new_version":"9.0.10","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/mocha","old_version":"8.2.3","new_version":"10.0.10","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/multer","old_version":"1.4.13","new_version":"2.2.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/node","old_version":"20.19.43","new_version":"26.1.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sanitize-html","old_version":"1.27.2","new_version":"2.16.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sequelize","old_version":"4.28.20","new_version":"6.12.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sinon","old_version":"10.0.20","new_version":"22.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sinon-chai","old_version":"3.2.12","new_version":"4.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/socket.io","old_version":"2.1.13","new_version":"3.0.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/socket.io-client","old_version":"1.4.36","new_version":"3.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"6.18.1","new_version":"8.64.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"6.18.1","new_version":"8.64.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"chai","old_version":"4.5.0","new_version":"6.2.2","repository_url":"https://github.com/chaijs/chai"},{"name":"concurrently","old_version":"5.3.0","new_version":"10.0.3","repository_url":"https://github.com/open-cli-tools/concurrently"},{"name":"cypress","old_version":"13.17.0","new_version":"15.18.1","repository_url":"https://github.com/cypress-io/cypress"},{"name":"eslint","old_version":"8.57.1","new_version":"10.7.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-promise","old_version":"6.6.0","new_version":"7.3.0","repository_url":"https://github.com/eslint-community/eslint-plugin-promise"},{"name":"jest","old_version":"29.7.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"mocha","old_version":"8.4.0","new_version":"11.7.6","repository_url":"https://github.com/mochajs/mocha"},{"name":"nyc","old_version":"15.1.0","new_version":"18.0.0","repository_url":"https://github.com/istanbuljs/nyc"},{"name":"sinon","old_version":"11.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"sinon-chai","old_version":"3.7.0","new_version":"4.0.1","repository_url":"https://github.com/chaijs/sinon-chai"},{"name":"socket.io-client","old_version":"3.1.3","new_version":"4.8.3","repository_url":"https://github.com/socketio/socket.io"},{"name":"typescript","old_version":"5.3.3","new_version":"7.0.2","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the major group with 56 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [body-parser](https://github.com/expressjs/body-parser) | `1.20.6` | `2.3.0` |\n| [check-dependencies](https://github.com/mgol/check-dependencies) | `1.1.1` | `2.0.0` |\n| [config](https://github.com/node-config/node-config) | `3.3.12` | `4.4.2` |\n| [express](https://github.com/expressjs/express) | `4.22.2` | `5.2.1` |\n| [express-jwt](https://github.com/auth0/express-jwt) | `0.1.3` | `8.5.1` |\n| [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit) | `7.5.1` | `8.6.0` |\n| [express-robots-txt](https://github.com/modosc/express-robots-txt) | `0.5.0` | `1.0.0` |\n| [file-type](https://github.com/sindresorhus/file-type) | `16.5.4` | `22.0.1` |\n| [fs-extra](https://github.com/jprichardson/node-fs-extra) | `9.1.0` | `11.3.6` |\n| [fuzzball](https://github.com/nol13/fuzzball.js) | `1.4.0` | `2.2.6` |\n| [glob](https://github.com/isaacs/node-glob) | `10.5.0` | `13.0.6` |\n| [grunt-contrib-compress](https://github.com/gruntjs/grunt-contrib-compress) | `1.6.0` | `2.0.0` |\n| [helmet](https://github.com/helmetjs/helmet) | `4.6.0` | `8.3.0` |\n| [html-entities](https://github.com/mdevils/html-entities) | `1.4.0` | `2.6.0` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `3.15.0` | `5.2.1` |\n| [jsonwebtoken](https://github.com/auth0/node-jsonwebtoken) | `0.4.0` | `9.0.3` |\n| [multer](https://github.com/expressjs/multer) | `1.4.5-lts.2` | `2.2.0` |\n| [otplib](https://github.com/yeojz/otplib/tree/HEAD/packages/otplib) | `12.0.1` | `13.4.1` |\n| [prom-client](https://github.com/siimon/prom-client) | `14.2.0` | `15.1.3` |\n| [sanitize-html](https://github.com/apostrophecms/apostrophe/tree/HEAD/packages/sanitize-html) | `1.4.2` | `2.17.6` |\n| [socket.io](https://github.com/socketio/socket.io) | `3.1.2` | `4.8.3` |\n| [sqlite3](https://github.com/TryGhost/node-sqlite3) | `5.1.7` | `6.0.1` |\n| [ts-node-dev](https://github.com/whitecolor/ts-node-dev) | `1.1.8` | `2.0.0` |\n| [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai) | `4.3.20` | `5.2.3` |\n| [@types/config](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/config) | `3.3.5` | `4.4.0` |\n| [@types/diff](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/diff) | `7.0.2` | `8.0.0` |\n| [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express) | `4.17.25` | `5.0.6` |\n| [@types/express-jwt](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express-jwt) | `6.0.4` | `7.4.4` |\n| [@types/fs-extra](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/fs-extra) | `9.0.13` | `11.0.4` |\n| [@types/glob](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/glob) | `7.2.0` | `9.0.0` |\n| [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) | `26.0.24` | `30.0.0` |\n| [@types/js-yaml](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/js-yaml) | `3.12.10` | `4.0.9` |\n| [@types/jsonwebtoken](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsonwebtoken) | `8.5.9` | `9.0.10` |\n| [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) | `8.2.3` | `10.0.10` |\n| [@types/multer](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/multer) | `1.4.13` | `2.2.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `20.19.43` | `26.1.1` |\n| [@types/sanitize-html](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sanitize-html) | `1.27.2` | `2.16.1` |\n| [@types/sequelize](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sequelize) | `4.28.20` | `6.12.0` |\n| [@types/sinon](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon) | `10.0.20` | `22.0.0` |\n| [@types/sinon-chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon-chai) | `3.2.12` | `4.0.0` |\n| [@types/socket.io](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/socket.io) | `2.1.13` | `3.0.2` |\n| [@types/socket.io-client](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/socket.io-client) | `1.4.36` | `3.0.0` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `6.18.1` | `8.64.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `6.18.1` | `8.64.0` |\n| [chai](https://github.com/chaijs/chai) | `4.5.0` | `6.2.2` |\n| [concurrently](https://github.com/open-cli-tools/concurrently) | `5.3.0` | `10.0.3` |\n| [cypress](https://github.com/cypress-io/cypress) | `13.17.0` | `15.18.1` |\n| [eslint](https://github.com/eslint/eslint) | `8.57.1` | `10.7.0` |\n| [eslint-plugin-promise](https://github.com/eslint-community/eslint-plugin-promise) | `6.6.0` | `7.3.0` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.4.2` |\n| [mocha](https://github.com/mochajs/mocha) | `8.4.0` | `11.7.6` |\n| [nyc](https://github.com/istanbuljs/nyc) | `15.1.0` | `18.0.0` |\n| [sinon](https://github.com/sinonjs/sinon) | `11.1.2` | `22.0.0` |\n| [sinon-chai](https://github.com/chaijs/sinon-chai) | `3.7.0` | `4.0.1` |\n| [socket.io-client](https://github.com/socketio/socket.io) | `3.1.3` | `4.8.3` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.3.3` | `7.0.2` |\n\nUpdates `body-parser` from 1.20.6 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/body-parser/releases\"\u003ebody-parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.0\u003c/h2\u003e\n\u003ch2\u003eImportant: Security\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2025-13466\"\u003eCVE-2026-12590\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/body-parser/security/advisories/GHSA-v422-hmwv-36x6\"\u003eGHSA-v422-hmwv-36x6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 6.0.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/expressjs/body-parser/pull/681\"\u003eexpressjs/body-parser#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 5.0.0 to 6.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/expressjs/body-parser/pull/682\"\u003eexpressjs/body-parser#682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 6.0.0 to 6.1.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/expressjs/body-parser/pull/683\"\u003eexpressjs/body-parser#683\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 5.0.0 to 6.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/expressjs/body-parser/pull/685\"\u003eexpressjs/body-parser#685\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.31.2 to 4.31.9 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/expressjs/body-parser/pull/684\"\u003eexpressjs/body-parser#684\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(urlencoded): move empty-body guard to avoid extra function closure by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/647\"\u003eexpressjs/body-parser#647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove ESM compatibility by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/697\"\u003eexpressjs/body-parser#697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add recommendations for configuring payload limits by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/699\"\u003eexpressjs/body-parser#699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 6.1.0 to 6.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/701\"\u003eexpressjs/body-parser#701\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.31.10 to 4.32.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/expressjs/body-parser/pull/702\"\u003eexpressjs/body-parser#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 6.0.1 to 6.0.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/700\"\u003eexpressjs/body-parser#700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore:  add explicit type commonjs to package.json by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/711\"\u003eexpressjs/body-parser#711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: update dependencies to latest versions by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/708\"\u003eexpressjs/body-parser#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 7.0.0 to 8.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/expressjs/body-parser/pull/712\"\u003eexpressjs/body-parser#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.32.0 to 4.32.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/expressjs/body-parser/pull/713\"\u003eexpressjs/body-parser#713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact from 6.0.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/expressjs/body-parser/pull/714\"\u003eexpressjs/body-parser#714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: improve limit option validation by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/698\"\u003eexpressjs/body-parser#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.32.4 to 4.35.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/expressjs/body-parser/pull/719\"\u003eexpressjs/body-parser#719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 6.2.0 to 6.3.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/expressjs/body-parser/pull/718\"\u003eexpressjs/body-parser#718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/717\"\u003eexpressjs/body-parser#717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: eliminate conditional check in json strict mode hot path by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/651\"\u003eexpressjs/body-parser#651\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add node.js 26 to text matrix by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/726\"\u003eexpressjs/body-parser#726\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 6.3.0 to 6.4.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/expressjs/body-parser/pull/725\"\u003eexpressjs/body-parser#725\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/upload-artifact 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/expressjs/body-parser/pull/724\"\u003eexpressjs/body-parser#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.35.1 to 4.35.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/723\"\u003eexpressjs/body-parser#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade \u0026quot;content-type\u0026quot; by \u003ca href=\"https://github.com/blakeembrey\"\u003e\u003ccode\u003e@​blakeembrey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/728\"\u003eexpressjs/body-parser#728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: switch to const/let and enable eslint no-var rule by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/729\"\u003eexpressjs/body-parser#729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate outdated reference to MDN docs by \u003ca href=\"https://github.com/krzysdz\"\u003e\u003ccode\u003e@​krzysdz\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/730\"\u003eexpressjs/body-parser#730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 4.35.3 to 4.36.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/expressjs/body-parser/pull/731\"\u003eexpressjs/body-parser#731\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 6.0.2 to 6.0.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/732\"\u003eexpressjs/body-parser#732\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: updated deps to latest by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/733\"\u003eexpressjs/body-parser#733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e2.3.0 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/735\"\u003eexpressjs/body-parser#735\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/krzysdz\"\u003e\u003ccode\u003e@​krzysdz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/730\"\u003eexpressjs/body-parser#730\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/body-parser/compare/v2.2.2...v2.3.0\"\u003ehttps://github.com/expressjs/body-parser/compare/v2.2.2...v2.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update README links by \u003ca href=\"https://github.com/efekrskl\"\u003e\u003ccode\u003e@​efekrskl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/673\"\u003eexpressjs/body-parser#673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: release notes for the v1.20.4 release by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/674\"\u003eexpressjs/body-parser#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update URL-encoded parser description to include ISO-8859-1 encoding support by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/679\"\u003eexpressjs/body-parser#679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: use standard jsdoc tags everywhere by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/677\"\u003eexpressjs/body-parser#677\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/expressjs/body-parser/blob/master/HISTORY.md\"\u003ebody-parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.3.0 / 2026-06-15\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://github.com/expressjs/body-parser/security/advisories/GHSA-v422-hmwv-36x6\"\u003eGHSA-v422-hmwv-36x6\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use static exports instead of lazy getters to improve ESM compatibility\u003c/li\u003e\n\u003cli\u003efeat: add subpath exports for individual parsers\u003c/li\u003e\n\u003cli\u003efix: improve \u003ccode\u003elimit\u003c/code\u003e option validation (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/698\"\u003e#698\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eInvalid \u003ccode\u003elimit\u003c/code\u003e values (e.g. unparseable strings or \u003ccode\u003eNaN\u003c/code\u003e) now throw instead of being silently ignored, which previously disabled size limit enforcement\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enull\u003c/code\u003e and \u003ccode\u003eundefined\u003c/code\u003e fall back to the default 100kb limit\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003econtent-type@^2.0.0\u003c/li\u003e\n\u003cli\u003ehttp-errors@^2.0.1\u003c/li\u003e\n\u003cli\u003eiconv-lite^0.7.2\u003c/li\u003e\n\u003cli\u003eqs@^6.15.2\u003c/li\u003e\n\u003cli\u003eraw-body@^3.0.2\u003c/li\u003e\n\u003cli\u003etype-is@^2.1.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.2 / 2026-01-07\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003edeps: qs@^6.14.1\u003c/li\u003e\n\u003cli\u003erefactor(json): simplify strict mode error string construction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.1 / 2025-11-24\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://github.com/expressjs/body-parser/security/advisories/GHSA-wqch-xfxh-vrr4\"\u003eGHSA-wqch-xfxh-vrr4\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003etype-is@^2.0.1\u003c/li\u003e\n\u003cli\u003eiconv-lite@^0.7.0\n\u003cul\u003e\n\u003cli\u003eHandle split surrogate pairs when encoding UTF-8\u003c/li\u003e\n\u003cli\u003eAvoid false positives in \u003ccode\u003eencodingExists\u003c/code\u003e by using prototype-less objects\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eraw-body@^3.0.1\u003c/li\u003e\n\u003cli\u003edebug@^4.4.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.0 / 2025-03-27\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: normalize common options for all parsers\u003c/li\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003eiconv-lite@^0.6.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.1.0 / 2025-02-10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003etype-is@^2.0.0\u003c/li\u003e\n\u003cli\u003edebug@^4.4.0\u003c/li\u003e\n\u003cli\u003eRemoved destroy\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003erefactor: prefix built-in node module imports\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/expressjs/body-parser/commit/d0f2ace6c74769da7d19b8661b9a01c01bdb0bf7\"\u003e\u003ccode\u003ed0f2ace\u003c/code\u003e\u003c/a\u003e 2.3.0 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/735\"\u003e#735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/7d03f2f9d561dafd1576b137713353c95253512c\"\u003e\u003ccode\u003e7d03f2f\u003c/code\u003e\u003c/a\u003e chore: updated deps to latest (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/733\"\u003e#733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/8024ba7a813e6647ed63832d209a2abb8531267a\"\u003e\u003ccode\u003e8024ba7\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 6.0.2 to 6.0.3 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/732\"\u003e#732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/32b4ed4639281f04563adcd41d724ab06c9105d4\"\u003e\u003ccode\u003e32b4ed4\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 4.35.3 to 4.36.1 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/ff0f6b907106ec5a1b81c80f5a552d921c1bc9a5\"\u003e\u003ccode\u003eff0f6b9\u003c/code\u003e\u003c/a\u003e docs: update outdated reference to MDN docs (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/730\"\u003e#730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/14d001a9c90abc05891d895ad3e9cf0a65b7b34a\"\u003e\u003ccode\u003e14d001a\u003c/code\u003e\u003c/a\u003e refactor: switch to const/let and enable eslint no-var rule (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/729\"\u003e#729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/37f36a27528e65d7216f2c31c7039d3458c72147\"\u003e\u003ccode\u003e37f36a2\u003c/code\u003e\u003c/a\u003e deps: update content-type and type-is (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/728\"\u003e#728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/e1c244bf55fb00a6de4be882b4ed9fc20807d864\"\u003e\u003ccode\u003ee1c244b\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 4.35.1 to 4.35.3 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/723\"\u003e#723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/e01087f52192e20e2d0f8726d4f28a8d49d06c87\"\u003e\u003ccode\u003ee01087f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/724\"\u003e#724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/a7698d30280a3e931ea8841396e5d0ac5414e429\"\u003e\u003ccode\u003ea7698d3\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-node from 6.3.0 to 6.4.0 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/725\"\u003e#725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/expressjs/body-parser/compare/1.20.6...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `check-dependencies` from 1.1.1 to 2.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mgol/check-dependencies/releases\"\u003echeck-dependencies's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.0\u003c/h2\u003e\n\u003cp\u003eNotable non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport npm package aliases (\u003ca href=\"https://redirect.github.com/mgol/check-dependencies/issues/50\"\u003e#50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereduced a number of external dependencies\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enpm prune\u003c/code\u003e is no longer called as\u003ccode\u003enpm install\u003c/code\u003e already prunes\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edropped the callback interface - use promises instead\u003c/li\u003e\n\u003cli\u003edropped the \u003ccode\u003echeckCustomPackageNames\u003c/code\u003e option\u003c/li\u003e\n\u003cli\u003eCLI argument parsing is more strict now; camelCase parameter versions like \u003ccode\u003e--packageDir\u003c/code\u003e are no longer supported; use their kebab-case versions like \u003ccode\u003e--package-dir\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003edropped Bower support\u003c/li\u003e\n\u003cli\u003edropped support for Node.js \u003ccode\u003e\u0026lt;18.3\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/mgol/check-dependencies/commit/03c88471d9b99857bcc78171fc5dd89a4a402a16\"\u003e\u003ccode\u003e03c8847\u003c/code\u003e\u003c/a\u003e Tag 2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/65d9ef555c2e986b849e7abeac0474bfee663b0e\"\u003e\u003ccode\u003e65d9ef5\u003c/code\u003e\u003c/a\u003e Set Node.js requirement in package.json engines to \u0026gt;=18.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/4917ab0b9362530a95cc2bef028c2a6dcedf2ab7\"\u003e\u003ccode\u003e4917ab0\u003c/code\u003e\u003c/a\u003e Simplify the spawn logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/fc04cc87fe4284c083702e36a9a4055034d9fcc9\"\u003e\u003ccode\u003efc04cc8\u003c/code\u003e\u003c/a\u003e Drop support for the callback interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/28257dd04168aab66793fd0fe8ed0f46d52abec9\"\u003e\u003ccode\u003e28257dd\u003c/code\u003e\u003c/a\u003e Tweak ESLint settings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/dc16e8ac809502cf7509ef2de7429895b806535e\"\u003e\u003ccode\u003edc16e8a\u003c/code\u003e\u003c/a\u003e Drop the bluebird devDependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/412337ae3691296cbe7c2d69f0c51201894afc07\"\u003e\u003ccode\u003e412337a\u003c/code\u003e\u003c/a\u003e Drop fs-extra \u0026amp; graceful-fs devDependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/091279a22472c299cbdba0ab6e3e8a2dfbba11b5\"\u003e\u003ccode\u003e091279a\u003c/code\u003e\u003c/a\u003e Drop the findup-sync dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/10ac9c5b2ed92cdad11ce0f390551072e7509f18\"\u003e\u003ccode\u003e10ac9c5\u003c/code\u003e\u003c/a\u003e Drop lodash.camelcase \u0026amp; minimist dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/35dce52450b99241942c24d18a572c55fecc44d9\"\u003e\u003ccode\u003e35dce52\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mgol/check-dependencies/compare/1.1.1...2.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `config` from 3.3.12 to 4.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/node-config/node-config/releases\"\u003econfig's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.4.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e4.4 branch: Guard against odd object prototype issues triggered by changes in TOML 4.0 by \u003ca href=\"https://github.com/jdmarshall\"\u003e\u003ccode\u003e@​jdmarshall\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/916\"\u003enode-config/node-config#916\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.4.1...v4.4.2\"\u003ehttps://github.com/node-config/node-config/compare/v4.4.1...v4.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.4.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes for some method signature declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.4.0...v4.4.1\"\u003ehttps://github.com/node-config/node-config/compare/v4.4.0...v4.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTypescript types added to project by \u003ca href=\"https://github.com/mdkitzman\"\u003e\u003ccode\u003e@​mdkitzman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewithModuleDefaults()\u003c/code\u003e function added to support separate module defaults for multiple versions\u003c/li\u003e\n\u003cli\u003eRework raw.js to function like the new defer mechanism.\u003c/li\u003e\n\u003cli\u003e./raw.js is also now deprecated, and will be removed in 5.0\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/mdkitzman\"\u003e\u003ccode\u003e@​mdkitzman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/877\"\u003enode-config/node-config#877\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.3.0...v4.4.0\"\u003ehttps://github.com/node-config/node-config/compare/v4.3.0...v4.4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enew callback mechanism for handling deferred and async configuration evaluation\u003c/li\u003e\n\u003cli\u003e./async.js and ./defer.js are now deprecated\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Async and Deferred mechanism\u003c/h3\u003e\n\u003cp\u003eInstead of using async.js and defer.js, your executable config files can return a synchronous or asynchronous function. Note that if you use async deferred functions through the new mechanism, \u003cstrong\u003eyou need to call Util.resolveAsyncConfig()\u003c/strong\u003e instead of the old version.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eUtil.resolveAsyncConfig()\u003c/code\u003e also fixes an issue where using defer in an array did not function properly \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/876\"\u003e#876\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe old implementations have been marked as deprecated and will issue warnings to console.error to indicate use of the old pathways. The old functions are incompatible with ESM loading conventions and will be removed at the beginning of the 5.0 cycle to facilitate conversion of the library to ESM.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.2.1...v4.3.0\"\u003ehttps://github.com/node-config/node-config/compare/v4.2.1...v4.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore config.util.getEnv() by \u003ca href=\"https://github.com/jdmarshall\"\u003e\u003ccode\u003e@​jdmarshall\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/874\"\u003enode-config/node-config#874\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.2.0...v4.2.1\"\u003ehttps://github.com/node-config/node-config/compare/v4.2.0...v4.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\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/node-config/node-config/commit/24306540f0742d2ed51cb560cea424841af85ea7\"\u003e\u003ccode\u003e2430654\u003c/code\u003e\u003c/a\u003e 4.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/1537469260b2d02a08e783d35af89d62d29c150b\"\u003e\u003ccode\u003e1537469\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/916\"\u003e#916\u003c/a\u003e from jdmarshall/tomlFix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/07483cd6bdb0a47584581a7d2ffcfa85cb497021\"\u003e\u003ccode\u003e07483cd\u003c/code\u003e\u003c/a\u003e Workflow config change.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/aa818e6a4a45a607854d7f767d5dcb88159d03ed\"\u003e\u003ccode\u003eaa818e6\u003c/code\u003e\u003c/a\u003e Guard against odd object prototypes triggered by changes in TOML 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/890084d1d36796d289b38805c7e5166c32278f66\"\u003e\u003ccode\u003e890084d\u003c/code\u003e\u003c/a\u003e 4.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/878648c638abb25dcfa9673defff3068802fa383\"\u003e\u003ccode\u003e878648c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/892\"\u003e#892\u003c/a\u003e from jdmarshall/typefixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/506149bfce3b4101e2d323433d8da57a51cc7f33\"\u003e\u003ccode\u003e506149b\u003c/code\u003e\u003c/a\u003e Fix some type declarations, including those for \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/890\"\u003e#890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/228c4ad3c62769dbb0ea336d25c182c8fb547195\"\u003e\u003ccode\u003e228c4ad\u003c/code\u003e\u003c/a\u003e 4.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/407f80c51d8532bb00cb01fa12c7d662645af27d\"\u003e\u003ccode\u003e407f80c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/888\"\u003e#888\u003c/a\u003e from jdmarshall/getRegression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/d71db3c92f0d8d1c20ca6f6574f0c30d1e05c819\"\u003e\u003ccode\u003ed71db3c\u003c/code\u003e\u003c/a\u003e Update baseline and add 4.3 to the test matrix.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/node-config/node-config/compare/v3.3.12...v4.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/~jdmarshall\"\u003ejdmarshall\u003c/a\u003e, a new releaser for config since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express` from 4.22.2 to 5.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/express/releases\"\u003eexpress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\u003cbr /\u003e\nThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003eRelease: 5.2.1 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6933\"\u003eexpressjs/express#6933\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/express/compare/v5.2.0...v5.2.1\"\u003ehttps://github.com/expressjs/express/compare/v5.2.0...v5.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.2.0\u003c/h2\u003e\n\u003ch2\u003eImportant: Security\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.11 to 3.28.13 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/expressjs/express/pull/6429\"\u003eexpressjs/express#6429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: simplify \u003ccode\u003eacceptsLanguages\u003c/code\u003e implementation using spread operator by \u003ca href=\"https://github.com/Ayoub-Mabrouk\"\u003e\u003ccode\u003e@​Ayoub-Mabrouk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6137\"\u003eexpressjs/express#6137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eincreased code coverage of utils.js file by \u003ca href=\"https://github.com/ashish3011\"\u003e\u003ccode\u003e@​ashish3011\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6386\"\u003eexpressjs/express#6386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove duplicate word by \u003ca href=\"https://github.com/dufucun\"\u003e\u003ccode\u003e@​dufucun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6456\"\u003eexpressjs/express#6456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.13 to 3.28.16 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/expressjs/express/pull/6498\"\u003eexpressjs/express#6498\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 4.3.0 to 4.4.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/expressjs/express/pull/6497\"\u003eexpressjs/express#6497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 4.2.1 to 4.3.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/expressjs/express/pull/6496\"\u003eexpressjs/express#6496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add node.js 24 to test matrix by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6504\"\u003eexpressjs/express#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update codeql config by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6488\"\u003eexpressjs/express#6488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: wider range for query test skip by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6512\"\u003eexpressjs/express#6512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typos in test by \u003ca href=\"https://github.com/noritaka1166\"\u003e\u003ccode\u003e@​noritaka1166\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6535\"\u003eexpressjs/express#6535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: disable credential persistence for checkout actions by \u003ca href=\"https://github.com/mertssmnoglu\"\u003e\u003ccode\u003e@​mertssmnoglu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6522\"\u003eexpressjs/express#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: allow manual triggering of workflow by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6515\"\u003eexpressjs/express#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: add coverage for app.listen() variants by \u003ca href=\"https://github.com/kgarg1\"\u003e\u003ccode\u003e@​kgarg1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6476\"\u003eexpressjs/express#6476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: move documentation and charters to the discussions and .github … by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6427\"\u003eexpressjs/express#6427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.16 to 3.28.18 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/expressjs/express/pull/6549\"\u003eexpressjs/express#6549\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.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/expressjs/express/pull/6548\"\u003eexpressjs/express#6548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: enforce explicit \u003ccode\u003eBuffer\u003c/code\u003e import and add lint rule by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6525\"\u003eexpressjs/express#6525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: use node protocol for querystring by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6520\"\u003eexpressjs/express#6520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typo by \u003ca href=\"https://github.com/mountdisk\"\u003e\u003ccode\u003e@​mountdisk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6609\"\u003eexpressjs/express#6609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.18 to 3.29.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/expressjs/express/pull/6618\"\u003eexpressjs/express#6618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deprecation warnings for redirect arguments undefined by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6405\"\u003eexpressjs/express#6405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run CI when the markdown changes by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6632\"\u003eexpressjs/express#6632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: fix CONTRIBUTING link by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6653\"\u003eexpressjs/express#6653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update contributing guidelines and code of conduct links by \u003ca href=\"https://github.com/ShubhamOulkar\"\u003e\u003ccode\u003e@​ShubhamOulkar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6601\"\u003eexpressjs/express#6601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump morgan from 1.10.0 to 1.10.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/expressjs/express/pull/6679\"\u003eexpressjs/express#6679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump cookie-session from 2.1.0 to 2.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/expressjs/express/pull/6678\"\u003eexpressjs/express#6678\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elint: add --fix flag to automatic fix linting issue by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6644\"\u003eexpressjs/express#6644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: ignore yarn.lock file and update example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6588\"\u003eexpressjs/express#6588\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elib: use req.socket over deprecated req.connection by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6705\"\u003eexpressjs/express#6705\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update express app example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6718\"\u003eexpressjs/express#6718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.2 to 3.29.5 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/expressjs/express/pull/6675\"\u003eexpressjs/express#6675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove history.md from being packaged on publish by \u003ca href=\"https://github.com/sheplu\"\u003e\u003ccode\u003e@​sheplu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6780\"\u003eexpressjs/express#6780\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/expressjs/express/blob/master/History.md\"\u003eexpress's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.2.1 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRevert security fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.2.0 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eA deprecation warning was added when using \u003ccode\u003eres.redirect\u003c/code\u003e with undefined arguments, Express now emits a warning to help detect calls that pass undefined as the status or URL and make them easier to fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.1.0 / 2025-03-31\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eUint8Array\u003c/code\u003e in \u003ccode\u003eres.send()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for ETag option in \u003ccode\u003eres.sendFile()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for multiple links with the same rel in \u003ccode\u003eres.links()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd funding field to package.json\u003c/li\u003e\n\u003cli\u003eperf: use loop for acceptParams\u003c/li\u003e\n\u003cli\u003erefactor: prefix built-in node module imports\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esetprototypeof\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esafe-buffer\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003eutils-merge\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003emethods\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003edepd\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003edebug@^4.4.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003erouter@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003econtent-type@^1.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003efinalhandler@^2.1.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eqs@^6.14.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eserver-static@2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003etype-is@2.0.1\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.1 / 2024-10-08\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecookie\u003c/code\u003e semver lock to address \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2024-47764\"\u003eCVE-2024-47764\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.0 / 2024-09-10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eremove:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epath-is-absolute\u003c/code\u003e dependency - use \u003ccode\u003epath.isAbsolute\u003c/code\u003e instead\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ebreaking:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eres.status()\u003c/code\u003e accepts only integers, and input must be greater than 99 and less than 1000\n\u003cul\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eRangeError: Invalid status code: ${code}. Status code must be greater than 99 and less than 1000.\u003c/code\u003e for inputs outside this range\u003c/li\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eTypeError: Invalid status code: ${code}. Status code must be an integer.\u003c/code\u003e for non integer inputs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003edeps: send@1.0.0\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/expressjs/express/commit/dbac741a49a5a64336b70c06e85c2e2706e36336\"\u003e\u003ccode\u003edbac741\u003c/code\u003e\u003c/a\u003e 5.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/697547cde621d8b0a47b4fff6e98b29337f8c980\"\u003e\u003ccode\u003e697547c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;sec: security patch for CVE-2024-51999\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/4007ad103ba29f6426b2ec9eccfb1ceb792682a8\"\u003e\u003ccode\u003e4007ad1\u003c/code\u003e\u003c/a\u003e Release: 5.2.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6920\"\u003e#6920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/2f64f68c37c64ae333e41ff38032d21860f22255\"\u003e\u003ccode\u003e2f64f68\u003c/code\u003e\u003c/a\u003e sec: security patch for CVE-2024-51999\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/ed0ba3f1dc905d6b62eabf23bd383abcae4901ba\"\u003e\u003ccode\u003eed0ba3f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6928\"\u003e#6928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/8eace4603cb2547608578a4fbb259dc984216f71\"\u003e\u003ccode\u003e8eace46\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 4.31.2 to 4.31.6 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6929\"\u003e#6929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/30bae810279b2ea162bed5b14ce6c35a110a87f5\"\u003e\u003ccode\u003e30bae81\u003c/code\u003e\u003c/a\u003e build(deps): bump coverallsapp/github-action from 2.3.6 to 2.3.7 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6930\"\u003e#6930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/758d4355d45322b4c8cd347ebcefbf3b154c7e7f\"\u003e\u003ccode\u003e758d435\u003c/code\u003e\u003c/a\u003e deps: body-parser@^2.2.1 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6922\"\u003e#6922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/77bcd5274a87047e5b3fe2f17f6c342db3909c53\"\u003e\u003ccode\u003e77bcd52\u003c/code\u003e\u003c/a\u003e docs: update emeritus triagers (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6890\"\u003e#6890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/f33caf1f89a028f0ea98ff5a156a68e65a2eabdd\"\u003e\u003ccode\u003ef33caf1\u003c/code\u003e\u003c/a\u003e Nominate to \u003ca href=\"https://github.com/efekrskl\"\u003e\u003ccode\u003e@​efekrskl\u003c/code\u003e\u003c/a\u003e for triage team (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6888\"\u003e#6888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/expressjs/express/compare/v4.22.2...v5.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-jwt` from 0.1.3 to 8.5.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/auth0/express-jwt/blob/master/CHANGELOG.md\"\u003eexpress-jwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file starting from version \u003cstrong\u003ev4.0.0\u003c/strong\u003e.\nThis project adheres to \u003ca href=\"http://semver.org/\"\u003eSemantic Versioning\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e8.3.0 - 2023-01-04\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003erequestProperty support for nested properties (\u003ca href=\"https://github.com/auth0/express-jwt/commit/bbd3606ce68da2602733d6e4ac32564570753ca1\"\u003ebbd3606ce68da2602733d6e4ac32564570753ca1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Typescript instructions in Readme.MD (\u003ca href=\"https://github.com/auth0/express-jwt/commit/3c1d5cf8a08a6afbcfc78640b8cdb26fac8002ca\"\u003e3c1d5cf8a08a6afbcfc78640b8cdb26fac8002ca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.1 - 2022-12-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd secret rotation example in readme. close \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/310\"\u003e#310\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/0000a44ed58aac97798007af19b0324f28acc436\"\u003e0000a44ed58aac97798007af19b0324f28acc436\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/310\"\u003e#310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003e@​types/jsonwebtoken\u003c/code\u003e and fix deps in package-lock (\u003ca href=\"https://github.com/auth0/express-jwt/commit/2322a9b67a5b5c716f953a53a0bb4bbc696d0a11\"\u003e2322a9b67a5b5c716f953a53a0bb4bbc696d0a11\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.0 - 2022-12-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd an optional handler for expired tokens. closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/6048\"\u003e#6048\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/ca6c90ccbb4b61b91f417a5dfa56f0b931b81528\"\u003eca6c90ccbb4b61b91f417a5dfa56f0b931b81528\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/6048\"\u003e#6048\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.1.0 - 2022-12-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdate type to match jwks-rsa (\u003ca href=\"https://github.com/auth0/express-jwt/commit/bcad8af9cad82b3777cc38d1c05864a35f82bc53\"\u003ebcad8af9cad82b3777cc38d1c05864a35f82bc53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: export middleware options type. closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/308\"\u003e#308\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/25a30f0d50c02cc75ab17b09f3592e76e09f9666\"\u003e25a30f0d50c02cc75ab17b09f3592e76e09f9666\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/308\"\u003e#308\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.0 - 2022-12-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade jsonwebtoken to v9. \u003ca href=\"https://github.com/advisories/GHSA-27h2-hvpr-p74q\"\u003ehttps://github.com/advisories/GHSA-27h2-hvpr-p74q\u003c/a\u003e .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.3 - 2022-05-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix tsc build error for express-unless (\u003ca href=\"https://github.com/auth0/express-jwt/commit/e1fe1d264bc5363e008d23fea9d8c5d2ac0d8198\"\u003ee1fe1d264bc5363e008d23fea9d8c5d2ac0d8198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove esModuleInterop and fix assert import in tests (\u003ca href=\"https://github.com/auth0/express-jwt/commit/9ccf0cfd6aaa4cc61fce2f8ccdb961c4b0358201\"\u003e9ccf0cfd6aaa4cc61fce2f8ccdb961c4b0358201\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.2 - 2022-05-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix instaceof comparison for UnauthorizedError. closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/292\"\u003e#292\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/6c87fe401ecba868feda1ffa530082c7c539321a\"\u003e6c87fe401ecba868feda1ffa530082c7c539321a\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/292\"\u003e#292\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate changelog (\u003ca href=\"https://github.com/auth0/express-jwt/commit/b1344fa7f6f9dd3d27115a9107b3ef4323733895\"\u003eb1344fa7f6f9dd3d27115a9107b3ef4323733895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.1 - 2022-05-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix readme and package-lock (\u003ca href=\"https://github.com/auth0/express-jwt/commit/7a02ca76c5d7842cfa8b256dcc89dcef1ffbcdc1\"\u003e7a02ca76c5d7842cfa8b256dcc89dcef1ffbcdc1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): required runtime types (\u003ca href=\"https://github.com/auth0/express-jwt/commit/f3f5af5c214241b4f92b91c49db8586ec20e4526\"\u003ef3f5af5c214241b4f92b91c49db8586ec20e4526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: fix tiny typo (\u003ca href=\"https://github.com/auth0/express-jwt/commit/07e771857489b6344a8dc457069d040a76e84230\"\u003e07e771857489b6344a8dc457069d040a76e84230\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.0 - 2022-05-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edeprecate ExpressJwtRequest in favor of Request with optional auth, closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/284\"\u003e#284\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/de169def56f98f4237741aa6755d0c5e248bd561\"\u003ede169def56f98f4237741aa6755d0c5e248bd561\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/284\"\u003e#284\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.6.2 - 2022-05-02\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/auth0/express-jwt/commit/0dfe63b9a702b0755ec60d171152747942210be6\"\u003e\u003ccode\u003e0dfe63b\u003c/code\u003e\u003c/a\u003e 8.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/105ef5ec66fa32aa5861a09d3290545253adcbbb\"\u003e\u003ccode\u003e105ef5e\u003c/code\u003e\u003c/a\u003e add readme to package.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/c028e7098ea3dbdd4684f6e4960564e38fccdb96\"\u003e\u003ccode\u003ec028e70\u003c/code\u003e\u003c/a\u003e 8.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/75203815ab759f65aa114f4eb01faa58bc0e1e0c\"\u003e\u003ccode\u003e7520381\u003c/code\u003e\u003c/a\u003e fix: signature of middleware returned\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/ecd42788a7a24641ec78c8b21767c5f8aca5600a\"\u003e\u003ccode\u003eecd4278\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/f42a0e99422fe85fadd0a209b8497b64995e94cf\"\u003e\u003ccode\u003ef42a0e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/339\"\u003e#339\u003c/a\u003e from auth0/integrate-semgrep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/dacb316f8d485a9c335434f2812561ca9c282ecb\"\u003e\u003ccode\u003edacb316\u003c/code\u003e\u003c/a\u003e Create semgrep.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/00763facd650da5aa378ed876f4a1e863957642b\"\u003e\u003ccode\u003e00763fa\u003c/code\u003e\u003c/a\u003e Modify tests to actually exercise wrong signature case by removing base64 pad...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/d15b92c3424ecb1713df106f615c2a770ddbc0b8\"\u003e\u003ccode\u003ed15b92c\u003c/code\u003e\u003c/a\u003e 8.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/d1e88c73ed81b67d8f43eb748f8f33aa5c5b4aaf\"\u003e\u003ccode\u003ed1e88c7\u003c/code\u003e\u003c/a\u003e Merge branch 'glensc-patch-1'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/auth0/express-jwt/compare/v0.1.3...v8.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-rate-limit` from 7.5.1 to 8.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/releases\"\u003eexpress-rate-limit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.6.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.5.2\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.5.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.5.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.4.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.4.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.3.2\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.3.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.3.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.2.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.2.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.1.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.0.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\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/express-rate-limit/express-rate-limit/commit/fffb3c4d6e614e79fcb5a6617c06cc57fd587ef0\"\u003e\u003ccode\u003efffb3c4\u003c/code\u003e\u003c/a\u003e 8.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/f366b2d3602abace7e053cfb5a7e80d1f664f094\"\u003e\u003ccode\u003ef366b2d\u003c/code\u003e\u003c/a\u003e docs: debugging guide, time constants, \u0026amp; v8.6.0 changelog (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/652\"\u003e#652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/593ddd2f4fdf9111034ff81aef404d89cb07ad09\"\u003e\u003ccode\u003e593ddd2\u003c/code\u003e\u003c/a\u003e fix: make debug output easier to read (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/653\"\u003e#653\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/ef8c1295ff7f500717c9c0ceb099bbd873f8e9c2\"\u003e\u003ccode\u003eef8c129\u003c/code\u003e\u003c/a\u003e fix: Pin safe version of \u003ccode\u003e@​asyncapi/specs\u003c/code\u003e dev dep (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/659\"\u003e#659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/7b05e0dbd8b838075498af4fee7eccff4bd6c8a5\"\u003e\u003ccode\u003e7b05e0d\u003c/code\u003e\u003c/a\u003e feat: add time constants to support more readable values for windowMs (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/655\"\u003e#655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/863e730c2f61e97e45315a7db8be42fc088d5234\"\u003e\u003ccode\u003e863e730\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the development-dependencies group with 3 updates (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/657\"\u003e#657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/e0e711e4c05b98d136203147cb811129fba79f81\"\u003e\u003ccode\u003ee0e711e\u003c/code\u003e\u003c/a\u003e fix: correct wording in usage documentation for express-rate-limit (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/656\"\u003e#656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/fcd3aa7d5eef9d78a3609142491e9dbb4ba7d338\"\u003e\u003ccode\u003efcd3aa7\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the development-dependencies group with 3 updates (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/651\"\u003e#651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/99d4298bda0d9cd11ba4a1d518cabc22ec74d241\"\u003e\u003ccode\u003e99d4298\u003c/code\u003e\u003c/a\u003e feat: use \u003ccode\u003edebug\u003c/code\u003e for debug logging (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/641\"\u003e#641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/23e4ddef557f300a3a6d759ab7af7de44f21ab4f\"\u003e\u003ccode\u003e23e4dde\u003c/code\u003e\u003c/a\u003e feat: Run validations once each (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/650\"\u003e#650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/compare/v7.5.1...v8.6.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 express-rate-limit since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-robots-txt` from 0.5.0 to 1.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modosc/express-robots-txt/blob/main/HISTORY.md\"\u003eexpress-robots-txt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.0.0] - {2021-08-20}\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite as es6, add separate commonjs + esm exports\u003c/li\u003e\n\u003cli\u003eUpdate deps\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/modosc/express-robots-txt/commit/2791589d8c96fc4d2190cc217d262d70cc569a93\"\u003e\u003ccode\u003e2791589\u003c/code\u003e\u003c/a\u003e es6 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/55\"\u003e#55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/0eb20919053c95e94b5d439a9fd48a98147d35bd\"\u003e\u003ccode\u003e0eb2091\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/940a03c2ebc9b8b8798df855ac92535e4240b060\"\u003e\u003ccode\u003e940a03c\u003c/code\u003e\u003c/a\u003e Bump supertest from 6.1.3 to 6.1.5 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/52\"\u003e#52\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/6c933f1f9936c1470b0ad405310b5979294ccdff\"\u003e\u003ccode\u003e6c933f1\u003c/code\u003e\u003c/a\u003e Bump jest from 27.0.4 to 27.0.6 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/50\"\u003e#50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/308c9057a4baf7365d515cae1920f57653229711\"\u003e\u003ccode\u003e308c905\u003c/code\u003e\u003c/a\u003e Bump path-parse from 1.0.6 to 1.0.7 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/0bdaaa00b7781540b145fe18abdca11c7a924aee\"\u003e\u003ccode\u003e0bdaaa0\u003c/code\u003e\u003c/a\u003e Bump jest from 26.6.3 to 27.0.4 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/48\"\u003e#48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/974a926e5dfbfcca2d99742032e4750ca478c22d\"\u003e\u003ccode\u003e974a926\u003c/code\u003e\u003c/a\u003e Bump ws from 7.4.3 to 7.4.6 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/46\"\u003e#46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/c12444cfcf67cde0d249495d11bbc9b4a7e3f686\"\u003e\u003ccode\u003ec12444c\u003c/code\u003e\u003c/a\u003e Bump hosted-git-info from 2.8.8 to 2.8.9 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/43\"\u003e#43\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/72f7ca8ab5f45592e9d9a49df94e73e03814c793\"\u003e\u003ccode\u003e72f7ca8\u003c/code\u003e\u003c/a\u003e Bump lodash from 4.17.20 to 4.17.21 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/44\"\u003e#44\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/6c35250df606de1bd355cd93850514cea82bb037\"\u003e\u003ccode\u003e6c35250\u003c/code\u003e\u003c/a\u003e Bump chai from 4.3.3 to 4.3.4 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/42\"\u003e#42\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modosc/express-robots-txt/compare/v0.5.0...v1.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `file-type` from 16.5.4 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/file-type/releases\"\u003efile-type's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev22.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Work around esbuild resolving Node-only imports  ce4262f\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/compare/v22.0.0...v22.0.1\"\u003ehttps://github.com/sindresorhus/file-type/compare/v22.0.0...v22.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRequires Node.js 22\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped Node.js \u003ccode\u003estream.Readable\u003c/code\u003e support from \u003ccode\u003efileTypeFromStream()\u003c/code\u003e and \u003ccode\u003efileTypeStream()\u003c/code\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThese now only accept a web \u003ccode\u003eReadableStream\u003c/code\u003e. Migrate with \u003ca href=\"https://nodejs.org/api/stream.html#streamreadabletowebstreamreadable-options\"\u003e\u003ccode\u003eReadable.toWeb()\u003c/code\u003e\u003c/a\u003e:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003e// Before\r\nimport fs from 'node:fs';\r\nfileTypeFromStream(fs.createReadStream('file.mp4'));\r\n\u003cp\u003e// After\u003cbr /\u003e\nimport fs from 'node:fs';\u003cbr /\u003e\nimport {Readable} from 'node:stream';\u003cbr /\u003e\nfileTypeFromStream(Readable.toWeb(fs.createReadStream('file.mp4')));\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSub-exports (e.g. \u003ccode\u003efile-type/core\u003c/code\u003e) have been removed. Import everything from \u003ccode\u003efile-type\u003c/code\u003e directly.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eReadableStreamWithFileType\u003c/code\u003e type has been removed. Use \u003ccode\u003eAnyWebReadableByteStreamWithFileType\u003c/code\u003e instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSeveral MIME types have been corrected or normalized:\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eOld MIME\u003c/th\u003e\n\u003cth\u003eNew MIME\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003elz\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-lzip\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/lzip\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003elnk\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x.ms.shortcut\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ms-shortcut\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eApple Alias\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x.apple.alias\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ft-apple.alias\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efbx\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x.autodesk.fbx\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ft-fbx\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDraco\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/vnd.google.draco\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ft-draco\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003eMIME subtypes prefixed with \u003ccode\u003ex-ft-\u003c/code\u003e are custom types defined by this package (not IANA-registered).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded detection for Apple iWork files: \u003ccode\u003e.key\u003c/code\u003e (Keynote), \u003ccode\u003e.pages\u003c/code\u003e (Pages), \u003ccode\u003e.numbers\u003c/code\u003e (Numbers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed LibreOffice OOXML files being incorrectly detected as ZIP when reading from streams\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/compare/v21.3.4...v22.0.0\"\u003ehttps://github.com/sindresorhus/file-type/compare/v21.3.4...v22.0.0\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/3c4b7e049171753c2f733c09afaf3f7ec9e09b13\"\u003e\u003ccode\u003e3c4b7e0\u003c/code\u003e\u003c/a\u003e 22.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/ce4262f69e2ed1d048162914a845fcb89cd80b01\"\u003e\u003ccode\u003ece4262f\u003c/code\u003e\u003c/a\u003e Fix: Work around esbuild resolving Node-only imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/2c54d066efdf7511e42fa9f5e4cd160b67fb51e9\"\u003e\u003ccode\u003e2c54d06\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/0ba6e0b2b76382f9b61e7b9e8610bbf7ca0e5273\"\u003e\u003ccode\u003e0ba6e0b\u003c/code\u003e\u003c/a\u003e Tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/0e679c74a9cab31c7b2aa65f9ba8e241fbc205f1\"\u003e\u003ccode\u003e0e679c7\u003c/code\u003e\u003c/a\u003e Remove sub-exports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/7079af7357c8d0a3651d6aa2015ba3cbe0121b48\"\u003e\u003ccode\u003e7079af7\u003c/code\u003e\u003c/a\u003e Tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/ec77458ce49d89bdf8de808569c2c87b43e8ca73\"\u003e\u003ccode\u003eec77458\u003c/code\u003e\u003c/a\u003e Add support for iWork files (.key, .pages, .numbers)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/d4a975c316429d8ec0bccc6e92483e625be0f6b1\"\u003e\u003ccode\u003ed4a975c\u003c/code\u003e\u003c/a\u003e Fix LibreOffice OOXML files detected as ZIP in streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/5de64e26f81ad14b1f07cb5c5108de6e303f3b60\"\u003e\u003ccode\u003e5de64e2\u003c/code\u003e\u003c/a\u003e Normalize MIME types we invented with \u003ccode\u003ex-ft-\u003c/code\u003e prefix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/7a60fa9dc0b7dad71ad6d3146a28ab92eb079983\"\u003e\u003ccode\u003e7a60fa9\u003c/code\u003e\u003c/a\u003e Require Node.js 22\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sindresorhus/file-type/compare/v16.5.4...v22.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fs-extra` from 9.1.0 to 11.3.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jprichardson/node-fs-extra/blob/master/CHANGELOG.md\"\u003efs-extra's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e11.3.6 / 2026-06-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of symlinked destination ancestors in copy/move methods (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/issues/1071\"\u003e#1071\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1073\"\u003e#1073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs typo fixed (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1074\"\u003e#1074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3.5 / 2026-05-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eensureLink*\u003c/code\u003e/\u003ccode\u003eensureSymlink*\u003c/code\u003e identical file detection on Windows (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1068\"\u003e#1068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix error handling in timestamp preservation code (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1065\"\u003e#1065\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1069\"\u003e#1069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix potential file descriptor leak on error in synchronous timestamp preservation code (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1066\"\u003e#1066\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3.4 / 2026-03-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where calling \u003ccode\u003eensureSymlink\u003c/code\u003e/\u003ccode\u003eensureSymlinkSync\u003c/code\u003e with a relative \u003ccode\u003esrcPath\u003c/code\u003e would fail if the symlink already existed (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/issues/1038\"\u003e#1038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node...\n\n_Description has been truncated_","html_url":"https://github.com/wfs-joe/juice-shop/pull/65","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wfs-joe%2Fjuice-shop/issues/65","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/65/packages"}},{"old_version":"9.2.4","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-07-14T17:09:23.000Z","version_change":"9.2.4 → 22.0.0","issue":{"uuid":"4885365632","node_id":"PR_kwDOA0_dEc7xqSCm","number":1156,"state":"open","title":"Bump sinon from 9.2.4 to 22.0.0","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-07-14T17:09:23.000Z","updated_at":"2026-07-17T00:22:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"sinon","old_version":"9.2.4","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"}],"path":null,"ecosystem":"npm"},"body":"Bumps [sinon](https://github.com/sinonjs/sinon) from 9.2.4 to 22.0.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/CHANGES.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v9.2.4...v22.0.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/~fatso83\"\u003efatso83\u003c/a\u003e, a new releaser for sinon since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/dropbox/dropbox-sdk-js/pull/1156","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dropbox%2Fdropbox-sdk-js/issues/1156","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1156/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-07-02T19:33:07.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4797630224","node_id":"PR_kwDOARR1Z87tSU1o","number":2646,"state":"open","title":"chore(deps-dev): bump the dev-sinon group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["pkg:web-api","dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-07-02T19:33:07.000Z","updated_at":"2026-07-02T19:33:31.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"dev-sinon","update_count":2,"packages":[{"name":"@types/sinon","old_version":"21.0.1","new_version":"22.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-sinon group with 2 updates in the /packages/web-api directory: [@types/sinon](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon) and [sinon](https://github.com/sinonjs/sinon).\n\nUpdates `@types/sinon` from 21.0.1 to 22.0.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/sinon\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/CHANGES.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.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/slackapi/node-slack-sdk/pull/2646","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/slackapi%2Fnode-slack-sdk/issues/2646","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2646/packages"}},{"old_version":"11.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-06-08T11:15:43.000Z","version_change":"11.1.2 → 22.0.0","issue":{"uuid":"4612393802","node_id":"PR_kwDOSRFYos7j4Fx2","number":37,"state":"closed","title":"deps(deps): bump the major group with 56 updates","user":"dependabot[bot]","labels":["invalid","dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-06-08T11:16:00.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T11:15:43.000Z","updated_at":"2026-06-08T11:16:09.000Z","time_to_close":17,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"major","update_count":56,"packages":[{"name":"body-parser","old_version":"1.20.5","new_version":"2.2.2","repository_url":"https://github.com/expressjs/body-parser"},{"name":"check-dependencies","old_version":"1.1.1","new_version":"2.0.0","repository_url":"https://github.com/mgol/check-dependencies"},{"name":"config","old_version":"3.3.12","new_version":"4.4.1","repository_url":"https://github.com/node-config/node-config"},{"name":"express","old_version":"4.22.2","new_version":"5.2.1","repository_url":"https://github.com/expressjs/express"},{"name":"express-jwt","old_version":"0.1.3","new_version":"8.5.1","repository_url":"https://github.com/auth0/express-jwt"},{"name":"express-rate-limit","old_version":"7.5.1","new_version":"8.5.2","repository_url":"https://github.com/express-rate-limit/express-rate-limit"},{"name":"express-robots-txt","old_version":"0.5.0","new_version":"1.0.0","repository_url":"https://github.com/modosc/express-robots-txt"},{"name":"file-type","old_version":"16.5.4","new_version":"22.0.1","repository_url":"https://github.com/sindresorhus/file-type"},{"name":"fs-extra","old_version":"9.1.0","new_version":"11.3.5","repository_url":"https://github.com/jprichardson/node-fs-extra"},{"name":"fuzzball","old_version":"1.4.0","new_version":"2.2.6","repository_url":"https://github.com/nol13/fuzzball.js"},{"name":"glob","old_version":"10.5.0","new_version":"13.0.6","repository_url":"https://github.com/isaacs/node-glob"},{"name":"grunt-contrib-compress","old_version":"1.6.0","new_version":"2.0.0","repository_url":"https://github.com/gruntjs/grunt-contrib-compress"},{"name":"helmet","old_version":"4.6.0","new_version":"8.2.0","repository_url":"https://github.com/helmetjs/helmet"},{"name":"html-entities","old_version":"1.4.0","new_version":"2.6.0","repository_url":"https://github.com/mdevils/html-entities"},{"name":"js-yaml","old_version":"3.14.2","new_version":"4.2.0","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"jsonwebtoken","old_version":"0.4.0","new_version":"9.0.3","repository_url":"https://github.com/auth0/node-jsonwebtoken"},{"name":"multer","old_version":"1.4.5-lts.2","new_version":"2.1.1","repository_url":"https://github.com/expressjs/multer"},{"name":"otplib","old_version":"12.0.1","new_version":"13.4.1","repository_url":"https://github.com/yeojz/otplib"},{"name":"prom-client","old_version":"14.2.0","new_version":"15.1.3","repository_url":"https://github.com/siimon/prom-client"},{"name":"sanitize-html","old_version":"1.4.2","new_version":"2.17.4","repository_url":"https://github.com/apostrophecms/apostrophe"},{"name":"socket.io","old_version":"3.1.2","new_version":"4.8.3","repository_url":"https://github.com/socketio/socket.io"},{"name":"sqlite3","old_version":"5.1.7","new_version":"6.0.1","repository_url":"https://github.com/TryGhost/node-sqlite3"},{"name":"ts-node-dev","old_version":"1.1.8","new_version":"2.0.0","repository_url":"https://github.com/whitecolor/ts-node-dev"},{"name":"@types/chai","old_version":"4.3.20","new_version":"5.2.3","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/config","old_version":"3.3.5","new_version":"4.4.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/diff","old_version":"7.0.2","new_version":"8.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/express","old_version":"4.17.25","new_version":"5.0.6","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/express-jwt","old_version":"6.0.4","new_version":"7.4.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/fs-extra","old_version":"9.0.13","new_version":"11.0.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/glob","old_version":"7.2.0","new_version":"9.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/jest","old_version":"26.0.24","new_version":"30.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/js-yaml","old_version":"3.12.10","new_version":"4.0.9","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/jsonwebtoken","old_version":"8.5.9","new_version":"9.0.10","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/mocha","old_version":"8.2.3","new_version":"10.0.10","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/multer","old_version":"1.4.13","new_version":"2.1.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/node","old_version":"20.19.42","new_version":"25.9.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sanitize-html","old_version":"1.27.2","new_version":"2.16.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sequelize","old_version":"4.28.20","new_version":"6.12.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sinon","old_version":"10.0.20","new_version":"21.0.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/sinon-chai","old_version":"3.2.12","new_version":"4.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/socket.io","old_version":"2.1.13","new_version":"3.0.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/socket.io-client","old_version":"1.4.36","new_version":"3.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"6.18.1","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"6.18.1","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"chai","old_version":"4.5.0","new_version":"6.2.2","repository_url":"https://github.com/chaijs/chai"},{"name":"concurrently","old_version":"5.3.0","new_version":"10.0.3","repository_url":"https://github.com/open-cli-tools/concurrently"},{"name":"cypress","old_version":"13.17.0","new_version":"15.16.0","repository_url":"https://github.com/cypress-io/cypress"},{"name":"eslint","old_version":"8.57.1","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-promise","old_version":"6.6.0","new_version":"7.3.0","repository_url":"https://github.com/eslint-community/eslint-plugin-promise"},{"name":"jest","old_version":"29.7.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"mocha","old_version":"8.4.0","new_version":"11.7.6","repository_url":"https://github.com/mochajs/mocha"},{"name":"nyc","old_version":"15.1.0","new_version":"18.0.0","repository_url":"https://github.com/istanbuljs/nyc"},{"name":"sinon","old_version":"11.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"sinon-chai","old_version":"3.7.0","new_version":"4.0.1","repository_url":"https://github.com/chaijs/sinon-chai"},{"name":"socket.io-client","old_version":"3.1.3","new_version":"4.8.3","repository_url":"https://github.com/socketio/socket.io"},{"name":"typescript","old_version":"5.3.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the major group with 56 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [body-parser](https://github.com/expressjs/body-parser) | `1.20.5` | `2.2.2` |\n| [check-dependencies](https://github.com/mgol/check-dependencies) | `1.1.1` | `2.0.0` |\n| [config](https://github.com/node-config/node-config) | `3.3.12` | `4.4.1` |\n| [express](https://github.com/expressjs/express) | `4.22.2` | `5.2.1` |\n| [express-jwt](https://github.com/auth0/express-jwt) | `0.1.3` | `8.5.1` |\n| [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit) | `7.5.1` | `8.5.2` |\n| [express-robots-txt](https://github.com/modosc/express-robots-txt) | `0.5.0` | `1.0.0` |\n| [file-type](https://github.com/sindresorhus/file-type) | `16.5.4` | `22.0.1` |\n| [fs-extra](https://github.com/jprichardson/node-fs-extra) | `9.1.0` | `11.3.5` |\n| [fuzzball](https://github.com/nol13/fuzzball.js) | `1.4.0` | `2.2.6` |\n| [glob](https://github.com/isaacs/node-glob) | `10.5.0` | `13.0.6` |\n| [grunt-contrib-compress](https://github.com/gruntjs/grunt-contrib-compress) | `1.6.0` | `2.0.0` |\n| [helmet](https://github.com/helmetjs/helmet) | `4.6.0` | `8.2.0` |\n| [html-entities](https://github.com/mdevils/html-entities) | `1.4.0` | `2.6.0` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `3.14.2` | `4.2.0` |\n| [jsonwebtoken](https://github.com/auth0/node-jsonwebtoken) | `0.4.0` | `9.0.3` |\n| [multer](https://github.com/expressjs/multer) | `1.4.5-lts.2` | `2.1.1` |\n| [otplib](https://github.com/yeojz/otplib/tree/HEAD/packages/otplib) | `12.0.1` | `13.4.1` |\n| [prom-client](https://github.com/siimon/prom-client) | `14.2.0` | `15.1.3` |\n| [sanitize-html](https://github.com/apostrophecms/apostrophe/tree/HEAD/packages/sanitize-html) | `1.4.2` | `2.17.4` |\n| [socket.io](https://github.com/socketio/socket.io) | `3.1.2` | `4.8.3` |\n| [sqlite3](https://github.com/TryGhost/node-sqlite3) | `5.1.7` | `6.0.1` |\n| [ts-node-dev](https://github.com/whitecolor/ts-node-dev) | `1.1.8` | `2.0.0` |\n| [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai) | `4.3.20` | `5.2.3` |\n| [@types/config](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/config) | `3.3.5` | `4.4.0` |\n| [@types/diff](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/diff) | `7.0.2` | `8.0.0` |\n| [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express) | `4.17.25` | `5.0.6` |\n| [@types/express-jwt](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express-jwt) | `6.0.4` | `7.4.4` |\n| [@types/fs-extra](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/fs-extra) | `9.0.13` | `11.0.4` |\n| [@types/glob](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/glob) | `7.2.0` | `9.0.0` |\n| [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) | `26.0.24` | `30.0.0` |\n| [@types/js-yaml](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/js-yaml) | `3.12.10` | `4.0.9` |\n| [@types/jsonwebtoken](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsonwebtoken) | `8.5.9` | `9.0.10` |\n| [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) | `8.2.3` | `10.0.10` |\n| [@types/multer](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/multer) | `1.4.13` | `2.1.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `20.19.42` | `25.9.2` |\n| [@types/sanitize-html](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sanitize-html) | `1.27.2` | `2.16.1` |\n| [@types/sequelize](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sequelize) | `4.28.20` | `6.12.0` |\n| [@types/sinon](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon) | `10.0.20` | `21.0.1` |\n| [@types/sinon-chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon-chai) | `3.2.12` | `4.0.0` |\n| [@types/socket.io](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/socket.io) | `2.1.13` | `3.0.2` |\n| [@types/socket.io-client](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/socket.io-client) | `1.4.36` | `3.0.0` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `6.18.1` | `8.60.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `6.18.1` | `8.60.1` |\n| [chai](https://github.com/chaijs/chai) | `4.5.0` | `6.2.2` |\n| [concurrently](https://github.com/open-cli-tools/concurrently) | `5.3.0` | `10.0.3` |\n| [cypress](https://github.com/cypress-io/cypress) | `13.17.0` | `15.16.0` |\n| [eslint](https://github.com/eslint/eslint) | `8.57.1` | `10.4.1` |\n| [eslint-plugin-promise](https://github.com/eslint-community/eslint-plugin-promise) | `6.6.0` | `7.3.0` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.4.2` |\n| [mocha](https://github.com/mochajs/mocha) | `8.4.0` | `11.7.6` |\n| [nyc](https://github.com/istanbuljs/nyc) | `15.1.0` | `18.0.0` |\n| [sinon](https://github.com/sinonjs/sinon) | `11.1.2` | `22.0.0` |\n| [sinon-chai](https://github.com/chaijs/sinon-chai) | `3.7.0` | `4.0.1` |\n| [socket.io-client](https://github.com/socketio/socket.io) | `3.1.3` | `4.8.3` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.3.3` | `6.0.3` |\n\nUpdates `body-parser` from 1.20.5 to 2.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/body-parser/releases\"\u003ebody-parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update README links by \u003ca href=\"https://github.com/efekrskl\"\u003e\u003ccode\u003e@​efekrskl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/673\"\u003eexpressjs/body-parser#673\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: release notes for the v1.20.4 release by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/674\"\u003eexpressjs/body-parser#674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update URL-encoded parser description to include ISO-8859-1 encoding support by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/679\"\u003eexpressjs/body-parser#679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: use standard jsdoc tags everywhere by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/677\"\u003eexpressjs/body-parser#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: qs@^6.14.1 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/689\"\u003eexpressjs/body-parser#689\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(json): simplify strict mode error string construction by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/693\"\u003eexpressjs/body-parser#693\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: 2.2.2 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/691\"\u003eexpressjs/body-parser#691\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/efekrskl\"\u003e\u003ccode\u003e@​efekrskl\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/673\"\u003eexpressjs/body-parser#673\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/body-parser/compare/v2.2.1...v2.2.2\"\u003ehttps://github.com/expressjs/body-parser/compare/v2.2.1...v2.2.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.1\u003c/h2\u003e\n\u003ch2\u003eImportant: Security\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2025-13466\"\u003eCVE-2025-13466\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/body-parser/security/advisories/GHSA-wqch-xfxh-vrr4\"\u003eGHSA-wqch-xfxh-vrr4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: add dependabot by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/593\"\u003eexpressjs/body-parser#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: use full SHAs for github action versions by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/594\"\u003eexpressjs/body-parser#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: type-is@^2.0.1 by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/599\"\u003eexpressjs/body-parser#599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 4.3.0 to 4.4.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/expressjs/body-parser/pull/609\"\u003eexpressjs/body-parser#609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.13 to 3.28.15 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/610\"\u003eexpressjs/body-parser#610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump eslint-plugin-promise from 6.1.1 to 6.6.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/expressjs/body-parser/pull/611\"\u003eexpressjs/body-parser#611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump eslint-plugin-import from 2.27.5 to 2.31.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/expressjs/body-parser/pull/613\"\u003eexpressjs/body-parser#613\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump eslint-plugin-markdown from 3.0.0 to 3.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/expressjs/body-parser/pull/612\"\u003eexpressjs/body-parser#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add codeql github workflows scanning by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/614\"\u003eexpressjs/body-parser#614\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update CodeQL config to ignore the test directory by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/615\"\u003eexpressjs/body-parser#615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 4.2.1 to 4.3.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/expressjs/body-parser/pull/620\"\u003eexpressjs/body-parser#620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.15 to 3.28.16 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/expressjs/body-parser/pull/619\"\u003eexpressjs/body-parser#619\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): unpin devDependencies by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/616\"\u003eexpressjs/body-parser#616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add node.js 24 to test matrix by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/621\"\u003eexpressjs/body-parser#621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.16 to 3.28.18 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/expressjs/body-parser/pull/623\"\u003eexpressjs/body-parser#623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.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/expressjs/body-parser/pull/624\"\u003eexpressjs/body-parser#624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: add funding to package.json by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/617\"\u003eexpressjs/body-parser#617\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.18 to 3.29.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/expressjs/body-parser/pull/625\"\u003eexpressjs/body-parser#625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.2 to 3.29.5 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/expressjs/body-parser/pull/630\"\u003eexpressjs/body-parser#630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: move common request validation to read function by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/600\"\u003eexpressjs/body-parser#600\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump iconv-lite by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/631\"\u003eexpressjs/body-parser#631\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: pull beta changelog forward into 2.0.0 by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/629\"\u003eexpressjs/body-parser#629\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: optimize raw and text parsers with shared passthrough function by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/634\"\u003eexpressjs/body-parser#634\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 4.2.2 to 5.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/expressjs/body-parser/pull/640\"\u003eexpressjs/body-parser#640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump ossf/scorecard-action from 2.4.2 to 2.4.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/639\"\u003eexpressjs/body-parser#639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 4.4.0 to 5.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/expressjs/body-parser/pull/636\"\u003eexpressjs/body-parser#636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 4.3.0 to 5.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/expressjs/body-parser/pull/637\"\u003eexpressjs/body-parser#637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.7 to 3.30.5 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/expressjs/body-parser/pull/638\"\u003eexpressjs/body-parser#638\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: raw-body@^3.0.1 by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/body-parser/pull/641\"\u003eexpressjs/body-parser#641\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/expressjs/body-parser/blob/master/HISTORY.md\"\u003ebody-parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.2.2 / 2026-01-07\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003edeps: qs@^6.14.1\u003c/li\u003e\n\u003cli\u003erefactor(json): simplify strict mode error string construction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.1 / 2025-11-24\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://github.com/expressjs/body-parser/security/advisories/GHSA-wqch-xfxh-vrr4\"\u003eGHSA-wqch-xfxh-vrr4\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003etype-is@^2.0.1\u003c/li\u003e\n\u003cli\u003eiconv-lite@^0.7.0\n\u003cul\u003e\n\u003cli\u003eHandle split surrogate pairs when encoding UTF-8\u003c/li\u003e\n\u003cli\u003eAvoid false positives in \u003ccode\u003eencodingExists\u003c/code\u003e by using prototype-less objects\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eraw-body@^3.0.1\u003c/li\u003e\n\u003cli\u003edebug@^4.4.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.2.0 / 2025-03-27\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: normalize common options for all parsers\u003c/li\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003eiconv-lite@^0.6.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.1.0 / 2025-02-10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003edeps:\n\u003cul\u003e\n\u003cli\u003etype-is@^2.0.0\u003c/li\u003e\n\u003cli\u003edebug@^4.4.0\u003c/li\u003e\n\u003cli\u003eRemoved destroy\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003erefactor: prefix built-in node module imports\u003c/li\u003e\n\u003cli\u003euse the node require cache instead of custom caching\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.0.2 / 2024-10-31\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eremove \u003ccode\u003eunpipe\u003c/code\u003e package and use native \u003ccode\u003eunpipe()\u003c/code\u003e method\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.0.1 / 2024-09-10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRestore expected behavior \u003ccode\u003eextended\u003c/code\u003e to \u003ccode\u003efalse\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.0.0 / 2024-09-10\u003c/h1\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js 18 is the minimum supported version\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/expressjs/body-parser/commit/3d248660b2e8b66732b232d7c758517fbf2420a6\"\u003e\u003ccode\u003e3d24866\u003c/code\u003e\u003c/a\u003e 2.2.2 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/8474a984c3ba36a1b4328ce019833b99caa0f08f\"\u003e\u003ccode\u003e8474a98\u003c/code\u003e\u003c/a\u003e refactor(json): simplify strict mode error string construction (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/03f17c2538552a57e6be537afca8c7587bd40aaa\"\u003e\u003ccode\u003e03f17c2\u003c/code\u003e\u003c/a\u003e deps: qs@^6.14.1 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/689\"\u003e#689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/ea1f25e503c1b2f7ba6f8562724ae0fcd247fb75\"\u003e\u003ccode\u003eea1f25e\u003c/code\u003e\u003c/a\u003e docs: use standard jsdoc tags everywhere (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/677\"\u003e#677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/d7deef8ec61307fa28c22bc443cf8ed2f267945a\"\u003e\u003ccode\u003ed7deef8\u003c/code\u003e\u003c/a\u003e docs: update URL-encoded parser description to include ISO-8859-1 encoding su...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/b6f52aabc65137c5227c8a462bddb761daeb96e7\"\u003e\u003ccode\u003eb6f52aa\u003c/code\u003e\u003c/a\u003e docs: release notes for the v1.20.4 release (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/674\"\u003e#674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/2965ca4af4883109cb2f651f4ce12da310902a0c\"\u003e\u003ccode\u003e2965ca4\u003c/code\u003e\u003c/a\u003e docs: update links (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/d96b63da8d7445de317736471633bac83ec76cbb\"\u003e\u003ccode\u003ed96b63d\u003c/code\u003e\u003c/a\u003e 2.2.1 (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/659\"\u003e#659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/b204886a6744b0b6d297cd0e849d75de836f3b63\"\u003e\u003ccode\u003eb204886\u003c/code\u003e\u003c/a\u003e sec: security patch for CVE-2025-13466\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/body-parser/commit/e20e3512e085c1162e8ffe36ac65c705a8017251\"\u003e\u003ccode\u003ee20e351\u003c/code\u003e\u003c/a\u003e feat: remove \u003ccode\u003ehistory.md\u003c/code\u003e from being packaged on publish (\u003ca href=\"https://redirect.github.com/expressjs/body-parser/issues/660\"\u003e#660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/expressjs/body-parser/compare/1.20.5...v2.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `check-dependencies` from 1.1.1 to 2.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mgol/check-dependencies/releases\"\u003echeck-dependencies's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.0\u003c/h2\u003e\n\u003cp\u003eNotable non-breaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003esupport npm package aliases (\u003ca href=\"https://redirect.github.com/mgol/check-dependencies/issues/50\"\u003e#50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereduced a number of external dependencies\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enpm prune\u003c/code\u003e is no longer called as\u003ccode\u003enpm install\u003c/code\u003e already prunes\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edropped the callback interface - use promises instead\u003c/li\u003e\n\u003cli\u003edropped the \u003ccode\u003echeckCustomPackageNames\u003c/code\u003e option\u003c/li\u003e\n\u003cli\u003eCLI argument parsing is more strict now; camelCase parameter versions like \u003ccode\u003e--packageDir\u003c/code\u003e are no longer supported; use their kebab-case versions like \u003ccode\u003e--package-dir\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003edropped Bower support\u003c/li\u003e\n\u003cli\u003edropped support for Node.js \u003ccode\u003e\u0026lt;18.3\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/mgol/check-dependencies/commit/03c88471d9b99857bcc78171fc5dd89a4a402a16\"\u003e\u003ccode\u003e03c8847\u003c/code\u003e\u003c/a\u003e Tag 2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/65d9ef555c2e986b849e7abeac0474bfee663b0e\"\u003e\u003ccode\u003e65d9ef5\u003c/code\u003e\u003c/a\u003e Set Node.js requirement in package.json engines to \u0026gt;=18.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/4917ab0b9362530a95cc2bef028c2a6dcedf2ab7\"\u003e\u003ccode\u003e4917ab0\u003c/code\u003e\u003c/a\u003e Simplify the spawn logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/fc04cc87fe4284c083702e36a9a4055034d9fcc9\"\u003e\u003ccode\u003efc04cc8\u003c/code\u003e\u003c/a\u003e Drop support for the callback interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/28257dd04168aab66793fd0fe8ed0f46d52abec9\"\u003e\u003ccode\u003e28257dd\u003c/code\u003e\u003c/a\u003e Tweak ESLint settings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/dc16e8ac809502cf7509ef2de7429895b806535e\"\u003e\u003ccode\u003edc16e8a\u003c/code\u003e\u003c/a\u003e Drop the bluebird devDependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/412337ae3691296cbe7c2d69f0c51201894afc07\"\u003e\u003ccode\u003e412337a\u003c/code\u003e\u003c/a\u003e Drop fs-extra \u0026amp; graceful-fs devDependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/091279a22472c299cbdba0ab6e3e8a2dfbba11b5\"\u003e\u003ccode\u003e091279a\u003c/code\u003e\u003c/a\u003e Drop the findup-sync dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/10ac9c5b2ed92cdad11ce0f390551072e7509f18\"\u003e\u003ccode\u003e10ac9c5\u003c/code\u003e\u003c/a\u003e Drop lodash.camelcase \u0026amp; minimist dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mgol/check-dependencies/commit/35dce52450b99241942c24d18a572c55fecc44d9\"\u003e\u003ccode\u003e35dce52\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mgol/check-dependencies/compare/1.1.1...2.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `config` from 3.3.12 to 4.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/node-config/node-config/releases\"\u003econfig's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.4.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes for some method signature declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.4.0...v4.4.1\"\u003ehttps://github.com/node-config/node-config/compare/v4.4.0...v4.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTypescript types added to project by \u003ca href=\"https://github.com/mdkitzman\"\u003e\u003ccode\u003e@​mdkitzman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewithModuleDefaults()\u003c/code\u003e function added to support separate module defaults for multiple versions\u003c/li\u003e\n\u003cli\u003eRework raw.js to function like the new defer mechanism.\u003c/li\u003e\n\u003cli\u003e./raw.js is also now deprecated, and will be removed in 5.0\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/mdkitzman\"\u003e\u003ccode\u003e@​mdkitzman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/877\"\u003enode-config/node-config#877\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.3.0...v4.4.0\"\u003ehttps://github.com/node-config/node-config/compare/v4.3.0...v4.4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enew callback mechanism for handling deferred and async configuration evaluation\u003c/li\u003e\n\u003cli\u003e./async.js and ./defer.js are now deprecated\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Async and Deferred mechanism\u003c/h3\u003e\n\u003cp\u003eInstead of using async.js and defer.js, your executable config files can return a synchronous or asynchronous function. Note that if you use async deferred functions through the new mechanism, \u003cstrong\u003eyou need to call Util.resolveAsyncConfig()\u003c/strong\u003e instead of the old version.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eUtil.resolveAsyncConfig()\u003c/code\u003e also fixes an issue where using defer in an array did not function properly \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/876\"\u003e#876\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe old implementations have been marked as deprecated and will issue warnings to console.error to indicate use of the old pathways. The old functions are incompatible with ESM loading conventions and will be removed at the beginning of the 5.0 cycle to facilitate conversion of the library to ESM.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.2.1...v4.3.0\"\u003ehttps://github.com/node-config/node-config/compare/v4.2.1...v4.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore config.util.getEnv() by \u003ca href=\"https://github.com/jdmarshall\"\u003e\u003ccode\u003e@​jdmarshall\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/874\"\u003enode-config/node-config#874\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-config/node-config/compare/v4.2.0...v4.2.1\"\u003ehttps://github.com/node-config/node-config/compare/v4.2.0...v4.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDelete deprecated functions in Config.util, and associated tests. by \u003ca href=\"https://github.com/jdmarshall\"\u003e\u003ccode\u003e@​jdmarshall\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/845\"\u003enode-config/node-config#845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDefault to yaml over js-yaml by \u003ca href=\"https://github.com/jdmarshall\"\u003e\u003ccode\u003e@​jdmarshall\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-config/node-config/pull/859\"\u003enode-config/node-config#859\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAll deprecated functions in config.util have been removed. Please use lib/util for similar functionality\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/node-config/node-config/commit/878648c638abb25dcfa9673defff3068802fa383\"\u003e\u003ccode\u003e878648c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/892\"\u003e#892\u003c/a\u003e from jdmarshall/typefixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/506149bfce3b4101e2d323433d8da57a51cc7f33\"\u003e\u003ccode\u003e506149b\u003c/code\u003e\u003c/a\u003e Fix some type declarations, including those for \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/890\"\u003e#890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/228c4ad3c62769dbb0ea336d25c182c8fb547195\"\u003e\u003ccode\u003e228c4ad\u003c/code\u003e\u003c/a\u003e 4.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/407f80c51d8532bb00cb01fa12c7d662645af27d\"\u003e\u003ccode\u003e407f80c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/888\"\u003e#888\u003c/a\u003e from jdmarshall/getRegression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/d71db3c92f0d8d1c20ca6f6574f0c30d1e05c819\"\u003e\u003ccode\u003ed71db3c\u003c/code\u003e\u003c/a\u003e Update baseline and add 4.3 to the test matrix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/10b0c8e6d60e4524b5a7c1c8636ed7a1c279325a\"\u003e\u003ccode\u003e10b0c8e\u003c/code\u003e\u003c/a\u003e Fix perf regression in Config.get()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/2d3e179877fc0c51ca180f17f3cde0919b5b1bf9\"\u003e\u003ccode\u003e2d3e179\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/887\"\u003e#887\u003c/a\u003e from jdmarshall/benchmarks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/a35a7cd400feebbaf6a67d51e16a76e16af699e7\"\u003e\u003ccode\u003ea35a7cd\u003c/code\u003e\u003c/a\u003e Matrix builds and separate benchmarks from ci run.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/1156350d94230466fa325103169e14618038d5ca\"\u003e\u003ccode\u003e1156350\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/node-config/node-config/issues/883\"\u003e#883\u003c/a\u003e from jdmarshall/readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-config/node-config/commit/f9d2818455b20404814c668c6472c37dd1b4e227\"\u003e\u003ccode\u003ef9d2818\u003c/code\u003e\u003c/a\u003e Fix badges and Release Notes link.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/node-config/node-config/compare/v3.3.12...v4.4.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/~jdmarshall\"\u003ejdmarshall\u003c/a\u003e, a new releaser for config since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express` from 4.22.2 to 5.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/express/releases\"\u003eexpress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\u003cbr /\u003e\nThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003eRelease: 5.2.1 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6933\"\u003eexpressjs/express#6933\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/express/compare/v5.2.0...v5.2.1\"\u003ehttps://github.com/expressjs/express/compare/v5.2.0...v5.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.2.0\u003c/h2\u003e\n\u003ch2\u003eImportant: Security\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.11 to 3.28.13 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/expressjs/express/pull/6429\"\u003eexpressjs/express#6429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: simplify \u003ccode\u003eacceptsLanguages\u003c/code\u003e implementation using spread operator by \u003ca href=\"https://github.com/Ayoub-Mabrouk\"\u003e\u003ccode\u003e@​Ayoub-Mabrouk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6137\"\u003eexpressjs/express#6137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eincreased code coverage of utils.js file by \u003ca href=\"https://github.com/ashish3011\"\u003e\u003ccode\u003e@​ashish3011\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6386\"\u003eexpressjs/express#6386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove duplicate word by \u003ca href=\"https://github.com/dufucun\"\u003e\u003ccode\u003e@​dufucun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6456\"\u003eexpressjs/express#6456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.13 to 3.28.16 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/expressjs/express/pull/6498\"\u003eexpressjs/express#6498\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 4.3.0 to 4.4.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/expressjs/express/pull/6497\"\u003eexpressjs/express#6497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 4.2.1 to 4.3.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/expressjs/express/pull/6496\"\u003eexpressjs/express#6496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add node.js 24 to test matrix by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6504\"\u003eexpressjs/express#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update codeql config by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6488\"\u003eexpressjs/express#6488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: wider range for query test skip by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6512\"\u003eexpressjs/express#6512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typos in test by \u003ca href=\"https://github.com/noritaka1166\"\u003e\u003ccode\u003e@​noritaka1166\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6535\"\u003eexpressjs/express#6535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: disable credential persistence for checkout actions by \u003ca href=\"https://github.com/mertssmnoglu\"\u003e\u003ccode\u003e@​mertssmnoglu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6522\"\u003eexpressjs/express#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: allow manual triggering of workflow by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6515\"\u003eexpressjs/express#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: add coverage for app.listen() variants by \u003ca href=\"https://github.com/kgarg1\"\u003e\u003ccode\u003e@​kgarg1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6476\"\u003eexpressjs/express#6476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: move documentation and charters to the discussions and .github … by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6427\"\u003eexpressjs/express#6427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.16 to 3.28.18 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/expressjs/express/pull/6549\"\u003eexpressjs/express#6549\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.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/expressjs/express/pull/6548\"\u003eexpressjs/express#6548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: enforce explicit \u003ccode\u003eBuffer\u003c/code\u003e import and add lint rule by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6525\"\u003eexpressjs/express#6525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: use node protocol for querystring by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6520\"\u003eexpressjs/express#6520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typo by \u003ca href=\"https://github.com/mountdisk\"\u003e\u003ccode\u003e@​mountdisk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6609\"\u003eexpressjs/express#6609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.18 to 3.29.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/expressjs/express/pull/6618\"\u003eexpressjs/express#6618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deprecation warnings for redirect arguments undefined by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6405\"\u003eexpressjs/express#6405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run CI when the markdown changes by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6632\"\u003eexpressjs/express#6632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: fix CONTRIBUTING link by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6653\"\u003eexpressjs/express#6653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update contributing guidelines and code of conduct links by \u003ca href=\"https://github.com/ShubhamOulkar\"\u003e\u003ccode\u003e@​ShubhamOulkar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6601\"\u003eexpressjs/express#6601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump morgan from 1.10.0 to 1.10.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/expressjs/express/pull/6679\"\u003eexpressjs/express#6679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump cookie-session from 2.1.0 to 2.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/expressjs/express/pull/6678\"\u003eexpressjs/express#6678\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elint: add --fix flag to automatic fix linting issue by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6644\"\u003eexpressjs/express#6644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: ignore yarn.lock file and update example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6588\"\u003eexpressjs/express#6588\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elib: use req.socket over deprecated req.connection by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6705\"\u003eexpressjs/express#6705\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update express app example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6718\"\u003eexpressjs/express#6718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.2 to 3.29.5 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/expressjs/express/pull/6675\"\u003eexpressjs/express#6675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove history.md from being packaged on publish by \u003ca href=\"https://github.com/sheplu\"\u003e\u003ccode\u003e@​sheplu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6780\"\u003eexpressjs/express#6780\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/expressjs/express/blob/master/History.md\"\u003eexpress's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.2.1 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRevert security fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.2.0 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eA deprecation warning was added when using \u003ccode\u003eres.redirect\u003c/code\u003e with undefined arguments, Express now emits a warning to help detect calls that pass undefined as the status or URL and make them easier to fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.1.0 / 2025-03-31\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eUint8Array\u003c/code\u003e in \u003ccode\u003eres.send()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for ETag option in \u003ccode\u003eres.sendFile()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for multiple links with the same rel in \u003ccode\u003eres.links()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd funding field to package.json\u003c/li\u003e\n\u003cli\u003eperf: use loop for acceptParams\u003c/li\u003e\n\u003cli\u003erefactor: prefix built-in node module imports\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esetprototypeof\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esafe-buffer\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003eutils-merge\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003emethods\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003edepd\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003edebug@^4.4.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003erouter@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003econtent-type@^1.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003efinalhandler@^2.1.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eqs@^6.14.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eserver-static@2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003etype-is@2.0.1\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.1 / 2024-10-08\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecookie\u003c/code\u003e semver lock to address \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2024-47764\"\u003eCVE-2024-47764\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.0 / 2024-09-10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eremove:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epath-is-absolute\u003c/code\u003e dependency - use \u003ccode\u003epath.isAbsolute\u003c/code\u003e instead\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ebreaking:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eres.status()\u003c/code\u003e accepts only integers, and input must be greater than 99 and less than 1000\n\u003cul\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eRangeError: Invalid status code: ${code}. Status code must be greater than 99 and less than 1000.\u003c/code\u003e for inputs outside this range\u003c/li\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eTypeError: Invalid status code: ${code}. Status code must be an integer.\u003c/code\u003e for non integer inputs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003edeps: send@1.0.0\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/expressjs/express/commit/dbac741a49a5a64336b70c06e85c2e2706e36336\"\u003e\u003ccode\u003edbac741\u003c/code\u003e\u003c/a\u003e 5.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/697547cde621d8b0a47b4fff6e98b29337f8c980\"\u003e\u003ccode\u003e697547c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;sec: security patch for CVE-2024-51999\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/4007ad103ba29f6426b2ec9eccfb1ceb792682a8\"\u003e\u003ccode\u003e4007ad1\u003c/code\u003e\u003c/a\u003e Release: 5.2.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6920\"\u003e#6920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/2f64f68c37c64ae333e41ff38032d21860f22255\"\u003e\u003ccode\u003e2f64f68\u003c/code\u003e\u003c/a\u003e sec: security patch for CVE-2024-51999\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/ed0ba3f1dc905d6b62eabf23bd383abcae4901ba\"\u003e\u003ccode\u003eed0ba3f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6928\"\u003e#6928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/8eace4603cb2547608578a4fbb259dc984216f71\"\u003e\u003ccode\u003e8eace46\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 4.31.2 to 4.31.6 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6929\"\u003e#6929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/30bae810279b2ea162bed5b14ce6c35a110a87f5\"\u003e\u003ccode\u003e30bae81\u003c/code\u003e\u003c/a\u003e build(deps): bump coverallsapp/github-action from 2.3.6 to 2.3.7 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6930\"\u003e#6930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/758d4355d45322b4c8cd347ebcefbf3b154c7e7f\"\u003e\u003ccode\u003e758d435\u003c/code\u003e\u003c/a\u003e deps: body-parser@^2.2.1 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6922\"\u003e#6922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/77bcd5274a87047e5b3fe2f17f6c342db3909c53\"\u003e\u003ccode\u003e77bcd52\u003c/code\u003e\u003c/a\u003e docs: update emeritus triagers (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6890\"\u003e#6890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/f33caf1f89a028f0ea98ff5a156a68e65a2eabdd\"\u003e\u003ccode\u003ef33caf1\u003c/code\u003e\u003c/a\u003e Nominate to \u003ca href=\"https://github.com/efekrskl\"\u003e\u003ccode\u003e@​efekrskl\u003c/code\u003e\u003c/a\u003e for triage team (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6888\"\u003e#6888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/expressjs/express/compare/v4.22.2...v5.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-jwt` from 0.1.3 to 8.5.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/auth0/express-jwt/blob/master/CHANGELOG.md\"\u003eexpress-jwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file starting from version \u003cstrong\u003ev4.0.0\u003c/strong\u003e.\nThis project adheres to \u003ca href=\"http://semver.org/\"\u003eSemantic Versioning\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e8.3.0 - 2023-01-04\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003erequestProperty support for nested properties (\u003ca href=\"https://github.com/auth0/express-jwt/commit/bbd3606ce68da2602733d6e4ac32564570753ca1\"\u003ebbd3606ce68da2602733d6e4ac32564570753ca1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Typescript instructions in Readme.MD (\u003ca href=\"https://github.com/auth0/express-jwt/commit/3c1d5cf8a08a6afbcfc78640b8cdb26fac8002ca\"\u003e3c1d5cf8a08a6afbcfc78640b8cdb26fac8002ca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.1 - 2022-12-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd secret rotation example in readme. close \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/310\"\u003e#310\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/0000a44ed58aac97798007af19b0324f28acc436\"\u003e0000a44ed58aac97798007af19b0324f28acc436\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/310\"\u003e#310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003e@​types/jsonwebtoken\u003c/code\u003e and fix deps in package-lock (\u003ca href=\"https://github.com/auth0/express-jwt/commit/2322a9b67a5b5c716f953a53a0bb4bbc696d0a11\"\u003e2322a9b67a5b5c716f953a53a0bb4bbc696d0a11\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.2.0 - 2022-12-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd an optional handler for expired tokens. closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/6048\"\u003e#6048\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/ca6c90ccbb4b61b91f417a5dfa56f0b931b81528\"\u003eca6c90ccbb4b61b91f417a5dfa56f0b931b81528\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/6048\"\u003e#6048\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.1.0 - 2022-12-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupdate type to match jwks-rsa (\u003ca href=\"https://github.com/auth0/express-jwt/commit/bcad8af9cad82b3777cc38d1c05864a35f82bc53\"\u003ebcad8af9cad82b3777cc38d1c05864a35f82bc53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: export middleware options type. closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/308\"\u003e#308\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/25a30f0d50c02cc75ab17b09f3592e76e09f9666\"\u003e25a30f0d50c02cc75ab17b09f3592e76e09f9666\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/308\"\u003e#308\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.0 - 2022-12-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade jsonwebtoken to v9. \u003ca href=\"https://github.com/advisories/GHSA-27h2-hvpr-p74q\"\u003ehttps://github.com/advisories/GHSA-27h2-hvpr-p74q\u003c/a\u003e .\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.3 - 2022-05-30\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix tsc build error for express-unless (\u003ca href=\"https://github.com/auth0/express-jwt/commit/e1fe1d264bc5363e008d23fea9d8c5d2ac0d8198\"\u003ee1fe1d264bc5363e008d23fea9d8c5d2ac0d8198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove esModuleInterop and fix assert import in tests (\u003ca href=\"https://github.com/auth0/express-jwt/commit/9ccf0cfd6aaa4cc61fce2f8ccdb961c4b0358201\"\u003e9ccf0cfd6aaa4cc61fce2f8ccdb961c4b0358201\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.2 - 2022-05-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix instaceof comparison for UnauthorizedError. closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/292\"\u003e#292\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/6c87fe401ecba868feda1ffa530082c7c539321a\"\u003e6c87fe401ecba868feda1ffa530082c7c539321a\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/292\"\u003e#292\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate changelog (\u003ca href=\"https://github.com/auth0/express-jwt/commit/b1344fa7f6f9dd3d27115a9107b3ef4323733895\"\u003eb1344fa7f6f9dd3d27115a9107b3ef4323733895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.1 - 2022-05-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix readme and package-lock (\u003ca href=\"https://github.com/auth0/express-jwt/commit/7a02ca76c5d7842cfa8b256dcc89dcef1ffbcdc1\"\u003e7a02ca76c5d7842cfa8b256dcc89dcef1ffbcdc1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild(deps): required runtime types (\u003ca href=\"https://github.com/auth0/express-jwt/commit/f3f5af5c214241b4f92b91c49db8586ec20e4526\"\u003ef3f5af5c214241b4f92b91c49db8586ec20e4526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: fix tiny typo (\u003ca href=\"https://github.com/auth0/express-jwt/commit/07e771857489b6344a8dc457069d040a76e84230\"\u003e07e771857489b6344a8dc457069d040a76e84230\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.7.0 - 2022-05-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edeprecate ExpressJwtRequest in favor of Request with optional auth, closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/284\"\u003e#284\u003c/a\u003e (\u003ca href=\"https://github.com/auth0/express-jwt/commit/de169def56f98f4237741aa6755d0c5e248bd561\"\u003ede169def56f98f4237741aa6755d0c5e248bd561\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/284\"\u003e#284\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.6.2 - 2022-05-02\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/auth0/express-jwt/commit/0dfe63b9a702b0755ec60d171152747942210be6\"\u003e\u003ccode\u003e0dfe63b\u003c/code\u003e\u003c/a\u003e 8.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/105ef5ec66fa32aa5861a09d3290545253adcbbb\"\u003e\u003ccode\u003e105ef5e\u003c/code\u003e\u003c/a\u003e add readme to package.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/c028e7098ea3dbdd4684f6e4960564e38fccdb96\"\u003e\u003ccode\u003ec028e70\u003c/code\u003e\u003c/a\u003e 8.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/75203815ab759f65aa114f4eb01faa58bc0e1e0c\"\u003e\u003ccode\u003e7520381\u003c/code\u003e\u003c/a\u003e fix: signature of middleware returned\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/ecd42788a7a24641ec78c8b21767c5f8aca5600a\"\u003e\u003ccode\u003eecd4278\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/f42a0e99422fe85fadd0a209b8497b64995e94cf\"\u003e\u003ccode\u003ef42a0e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/auth0/express-jwt/issues/339\"\u003e#339\u003c/a\u003e from auth0/integrate-semgrep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/dacb316f8d485a9c335434f2812561ca9c282ecb\"\u003e\u003ccode\u003edacb316\u003c/code\u003e\u003c/a\u003e Create semgrep.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/00763facd650da5aa378ed876f4a1e863957642b\"\u003e\u003ccode\u003e00763fa\u003c/code\u003e\u003c/a\u003e Modify tests to actually exercise wrong signature case by removing base64 pad...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/d15b92c3424ecb1713df106f615c2a770ddbc0b8\"\u003e\u003ccode\u003ed15b92c\u003c/code\u003e\u003c/a\u003e 8.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/express-jwt/commit/d1e88c73ed81b67d8f43eb748f8f33aa5c5b4aaf\"\u003e\u003ccode\u003ed1e88c7\u003c/code\u003e\u003c/a\u003e Merge branch 'glensc-patch-1'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/auth0/express-jwt/compare/v0.1.3...v8.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-rate-limit` from 7.5.1 to 8.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/releases\"\u003eexpress-rate-limit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.5.2\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.5.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.5.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.4.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.4.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.3.2\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.3.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.3.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.2.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.2.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.1.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.0.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\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/express-rate-limit/express-rate-limit/commit/97746932253e6c734569140e71357b2633eb1912\"\u003e\u003ccode\u003e9774693\u003c/code\u003e\u003c/a\u003e 8.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/0e94cc0176ca0e4960bd6992f1d105766fb9532c\"\u003e\u003ccode\u003e0e94cc0\u003c/code\u003e\u003c/a\u003e v8.5.2 changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/9a583c566aa5aaeb8b94312e9e9dbf711f89e7b3\"\u003e\u003ccode\u003e9a583c5\u003c/code\u003e\u003c/a\u003e feat: simplify IPv6 key generation (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/633\"\u003e#633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/4f4b3fb78f96ac841a26122be1d82123271d7654\"\u003e\u003ccode\u003e4f4b3fb\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump lint-staged from 16.4.0 to 17.0.4 (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/632\"\u003e#632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/3c1d6c57bddc0d7c9923611fd1ac1e17399a4865\"\u003e\u003ccode\u003e3c1d6c5\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the development-dependencies group with 7 updates (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/631\"\u003e#631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/18884b671441b14dd0e9328a5ebedf51278a16c1\"\u003e\u003ccode\u003e18884b6\u003c/code\u003e\u003c/a\u003e chore(deps): bump basic-ftp from 5.2.0 to 5.3.1 (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/630\"\u003e#630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/dacc9800e640b14c61cd8791ef59d75d0ac037a7\"\u003e\u003ccode\u003edacc980\u003c/code\u003e\u003c/a\u003e chore(deps): bump handlebars from 4.7.8 to 4.7.9 (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/629\"\u003e#629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/486d0c608a95f344863302bb213fb09ea9ddf5de\"\u003e\u003ccode\u003e486d0c6\u003c/code\u003e\u003c/a\u003e chore(deps): bump follow-redirects from 1.15.11 to 1.16.0 (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/627\"\u003e#627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/50cc3f6345f603ac2fe4eb646edd7338b9a31fbb\"\u003e\u003ccode\u003e50cc3f6\u003c/code\u003e\u003c/a\u003e 8.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/92c8e3efd87b9b9f89092b1f9c8c17ac134c1293\"\u003e\u003ccode\u003e92c8e3e\u003c/code\u003e\u003c/a\u003e chore: bump ip-address library to latest (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/626\"\u003e#626\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/compare/v7.5.1...v8.5.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 express-rate-limit since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-robots-txt` from 0.5.0 to 1.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modosc/express-robots-txt/blob/main/HISTORY.md\"\u003eexpress-robots-txt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.0.0] - {2021-08-20}\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite as es6, add separate commonjs + esm exports\u003c/li\u003e\n\u003cli\u003eUpdate deps\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/modosc/express-robots-txt/commit/2791589d8c96fc4d2190cc217d262d70cc569a93\"\u003e\u003ccode\u003e2791589\u003c/code\u003e\u003c/a\u003e es6 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/55\"\u003e#55\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/0eb20919053c95e94b5d439a9fd48a98147d35bd\"\u003e\u003ccode\u003e0eb2091\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/940a03c2ebc9b8b8798df855ac92535e4240b060\"\u003e\u003ccode\u003e940a03c\u003c/code\u003e\u003c/a\u003e Bump supertest from 6.1.3 to 6.1.5 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/52\"\u003e#52\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/6c933f1f9936c1470b0ad405310b5979294ccdff\"\u003e\u003ccode\u003e6c933f1\u003c/code\u003e\u003c/a\u003e Bump jest from 27.0.4 to 27.0.6 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/50\"\u003e#50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/308c9057a4baf7365d515cae1920f57653229711\"\u003e\u003ccode\u003e308c905\u003c/code\u003e\u003c/a\u003e Bump path-parse from 1.0.6 to 1.0.7 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/53\"\u003e#53\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/0bdaaa00b7781540b145fe18abdca11c7a924aee\"\u003e\u003ccode\u003e0bdaaa0\u003c/code\u003e\u003c/a\u003e Bump jest from 26.6.3 to 27.0.4 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/48\"\u003e#48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/974a926e5dfbfcca2d99742032e4750ca478c22d\"\u003e\u003ccode\u003e974a926\u003c/code\u003e\u003c/a\u003e Bump ws from 7.4.3 to 7.4.6 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/46\"\u003e#46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/c12444cfcf67cde0d249495d11bbc9b4a7e3f686\"\u003e\u003ccode\u003ec12444c\u003c/code\u003e\u003c/a\u003e Bump hosted-git-info from 2.8.8 to 2.8.9 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/43\"\u003e#43\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/72f7ca8ab5f45592e9d9a49df94e73e03814c793\"\u003e\u003ccode\u003e72f7ca8\u003c/code\u003e\u003c/a\u003e Bump lodash from 4.17.20 to 4.17.21 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/44\"\u003e#44\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modosc/express-robots-txt/commit/6c35250df606de1bd355cd93850514cea82bb037\"\u003e\u003ccode\u003e6c35250\u003c/code\u003e\u003c/a\u003e Bump chai from 4.3.3 to 4.3.4 (\u003ca href=\"https://redirect.github.com/modosc/express-robots-txt/issues/42\"\u003e#42\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modosc/express-robots-txt/compare/v0.5.0...v1.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `file-type` from 16.5.4 to 22.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/file-type/releases\"\u003efile-type's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev22.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Work around esbuild resolving Node-only imports  ce4262f\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/compare/v22.0.0...v22.0.1\"\u003ehttps://github.com/sindresorhus/file-type/compare/v22.0.0...v22.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev22.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRequires Node.js 22\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped Node.js \u003ccode\u003estream.Readable\u003c/code\u003e support from \u003ccode\u003efileTypeFromStream()\u003c/code\u003e and \u003ccode\u003efileTypeStream()\u003c/code\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThese now only accept a web \u003ccode\u003eReadableStream\u003c/code\u003e. Migrate with \u003ca href=\"https://nodejs.org/api/stream.html#streamreadabletowebstreamreadable-options\"\u003e\u003ccode\u003eReadable.toWeb()\u003c/code\u003e\u003c/a\u003e:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003e// Before\r\nimport fs from 'node:fs';\r\nfileTypeFromStream(fs.createReadStream('file.mp4'));\r\n\u003cp\u003e// After\u003cbr /\u003e\nimport fs from 'node:fs';\u003cbr /\u003e\nimport {Readable} from 'node:stream';\u003cbr /\u003e\nfileTypeFromStream(Readable.toWeb(fs.createReadStream('file.mp4')));\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSub-exports (e.g. \u003ccode\u003efile-type/core\u003c/code\u003e) have been removed. Import everything from \u003ccode\u003efile-type\u003c/code\u003e directly.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eReadableStreamWithFileType\u003c/code\u003e type has been removed. Use \u003ccode\u003eAnyWebReadableByteStreamWithFileType\u003c/code\u003e instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSeveral MIME types have been corrected or normalized:\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eOld MIME\u003c/th\u003e\n\u003cth\u003eNew MIME\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003elz\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-lzip\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/lzip\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003elnk\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x.ms.shortcut\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ms-shortcut\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eApple Alias\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x.apple.alias\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ft-apple.alias\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efbx\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x.autodesk.fbx\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ft-fbx\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDraco\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/vnd.google.draco\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode\u003eapplication/x-ft-draco\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003eMIME subtypes prefixed with \u003ccode\u003ex-ft-\u003c/code\u003e are custom types defined by this package (not IANA-registered).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded detection for Apple iWork files: \u003ccode\u003e.key\u003c/code\u003e (Keynote), \u003ccode\u003e.pages\u003c/code\u003e (Pages), \u003ccode\u003e.numbers\u003c/code\u003e (Numbers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed LibreOffice OOXML files being incorrectly detected as ZIP when reading from streams\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/compare/v21.3.4...v22.0.0\"\u003ehttps://github.com/sindresorhus/file-type/compare/v21.3.4...v22.0.0\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/3c4b7e049171753c2f733c09afaf3f7ec9e09b13\"\u003e\u003ccode\u003e3c4b7e0\u003c/code\u003e\u003c/a\u003e 22.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/ce4262f69e2ed1d048162914a845fcb89cd80b01\"\u003e\u003ccode\u003ece4262f\u003c/code\u003e\u003c/a\u003e Fix: Work around esbuild resolving Node-only imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/2c54d066efdf7511e42fa9f5e4cd160b67fb51e9\"\u003e\u003ccode\u003e2c54d06\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/0ba6e0b2b76382f9b61e7b9e8610bbf7ca0e5273\"\u003e\u003ccode\u003e0ba6e0b\u003c/code\u003e\u003c/a\u003e Tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/0e679c74a9cab31c7b2aa65f9ba8e241fbc205f1\"\u003e\u003ccode\u003e0e679c7\u003c/code\u003e\u003c/a\u003e Remove sub-exports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/7079af7357c8d0a3651d6aa2015ba3cbe0121b48\"\u003e\u003ccode\u003e7079af7\u003c/code\u003e\u003c/a\u003e Tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/ec77458ce49d89bdf8de808569c2c87b43e8ca73\"\u003e\u003ccode\u003eec77458\u003c/code\u003e\u003c/a\u003e Add support for iWork files (.key, .pages, .numbers)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/d4a975c316429d8ec0bccc6e92483e625be0f6b1\"\u003e\u003ccode\u003ed4a975c\u003c/code\u003e\u003c/a\u003e Fix LibreOffice OOXML files detected as ZIP in streams\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/5de64e26f81ad14b1f07cb5c5108de6e303f3b60\"\u003e\u003ccode\u003e5de64e2\u003c/code\u003e\u003c/a\u003e Normalize MIME types we invented with \u003ccode\u003ex-ft-\u003c/code\u003e prefix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/file-type/commit/7a60fa9dc0b7dad71ad6d3146a28ab92eb079983\"\u003e\u003ccode\u003e7a60fa9\u003c/code\u003e\u003c/a\u003e Require Node.js 22\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sindresorhus/file-type/compare/v16.5.4...v22.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fs-extra` from 9.1.0 to 11.3.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jprichardson/node-fs-extra/blob/master/CHANGELOG.md\"\u003efs-extra's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e11.3.5 / 2026-05-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eensureLink*\u003c/code\u003e/\u003ccode\u003eensureSymlink*\u003c/code\u003e identical file detection on Windows (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1068\"\u003e#1068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix error handling in timestamp preservation code (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1065\"\u003e#1065\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1069\"\u003e#1069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix potential file descriptor leak on error in synchronous timestamp preservation code (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1066\"\u003e#1066\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3.4 / 2026-03-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where calling \u003ccode\u003eensureSymlink\u003c/code\u003e/\u003ccode\u003eensureSymlinkSync\u003c/code\u003e with a relative \u003ccode\u003esrcPath\u003c/code\u003e would fail if the symlink already existed (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/issues/1038\"\u003e#1038\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1064\"\u003e#1064\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3.3 / 2025-12-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix copying symlink when destination is a symlink to the same target (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/issues/1019\"\u003e#1019\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1060\"\u003e#1060\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3.2 / 2025-09-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix spurrious \u003ccode\u003eUnhandledPromiseRejectionWarning\u003c/code\u003e that could occur when calling \u003ccode\u003e.copy()\u003c/code\u003e in some cases (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/issues/1056\"\u003e#1056\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3.1 / 2025-08-05\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix case where \u003ccode\u003emove\u003c/code\u003e/\u003ccode\u003emoveSync\u003c/code\u003e could incorrectly think files are identical on Windows (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1050\"\u003e#1050\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3.0 / 2025-01-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd promise support for newer \u003ccode\u003efs\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/issues/1044\"\u003e#1044\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1045\"\u003e#1045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efs.opendir\u003c/code\u003e in \u003ccode\u003ecopy()\u003c/code\u003e/\u003ccode\u003ecopySync()\u003c/code\u003e for better perf/scalability (\u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/issues/972\"\u003e#972\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jprichardson/node-fs-extra/pull/1028\"\u003e#1028\u003c/a\u003e)...\n\n_Description has been truncated_","html_url":"https://github.com/mo0om/juice-shop/pull/37","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mo0om%2Fjuice-shop/issues/37","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/37/packages"}},{"old_version":"21.0.3","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-06-08T08:57:25.000Z","version_change":"21.0.3 → 22.0.0","issue":{"uuid":"4611407419","node_id":"PR_kwDOQYgjZM7j0zFU","number":28,"state":"closed","title":"Bump the all group across 1 directory with 48 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-15T08:52:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-08T08:57:25.000Z","updated_at":"2026-06-15T08:52:48.000Z","time_to_close":604521,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all","update_count":48,"packages":[{"name":"@anthropic-ai/claude-code","old_version":"2.1.81","new_version":"2.1.168","repository_url":"https://github.com/anthropics/claude-code"},{"name":"@anthropic-ai/sdk","old_version":"0.80.0","new_version":"0.102.0","repository_url":"https://github.com/anthropics/anthropic-sdk-typescript"},{"name":"@github/copilot","old_version":"1.0.10","new_version":"1.0.60","repository_url":"https://github.com/github/copilot-cli"},{"name":"@google/genai","old_version":"1.46.0","new_version":"2.8.0","repository_url":"https://github.com/googleapis/js-genai"},{"name":"@vscode/copilot-api","old_version":"0.2.18","new_version":"0.4.4","repository_url":"https://github.com/Microsoft/vscode-extension-telemetry"},{"name":"@vscode/extension-telemetry","old_version":"1.5.1","new_version":"1.5.2","repository_url":"https://github.com/Microsoft/vscode-extension-telemetry"},{"name":"ajv","old_version":"8.18.0","new_version":"8.20.0","repository_url":"https://github.com/ajv-validator/ajv"},{"name":"diff","old_version":"8.0.3","new_version":"9.0.0","repository_url":"https://github.com/kpdecker/jsdiff"},{"name":"dompurify","old_version":"3.3.3","new_version":"3.4.8","repository_url":"https://github.com/cure53/DOMPurify"},{"name":"lru-cache","old_version":"11.2.7","new_version":"11.5.1","repository_url":"https://github.com/isaacs/node-lru-cache"},{"name":"markdown-it","old_version":"14.1.1","new_version":"14.2.0","repository_url":"https://github.com/markdown-it/markdown-it"},{"name":"minimatch","old_version":"10.2.4","new_version":"10.2.5","repository_url":"https://github.com/isaacs/minimatch"},{"name":"undici","old_version":"7.24.5","new_version":"8.4.0","repository_url":"https://github.com/nodejs/undici"},{"name":"vscode-tas-client","old_version":"0.1.86","new_version":"0.2.1"},{"name":"@azure/keyvault-secrets","old_version":"4.10.0","new_version":"4.11.2","repository_url":"https://github.com/Azure/azure-sdk-for-js"},{"name":"@azure/msal-node","old_version":"5.1.1","new_version":"5.2.3","repository_url":"https://github.com/AzureAD/microsoft-authentication-library-for-js"},{"name":"@fluentui/react-components","old_version":"9.73.4","new_version":"9.74.1","repository_url":"https://github.com/microsoft/fluentui"},{"name":"@fluentui/react-icons","old_version":"2.0.321","new_version":"2.0.328","repository_url":"https://github.com/microsoft/fluentui-system-icons"},{"name":"@types/node","old_version":"22.19.15","new_version":"22.19.20","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.57.1","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.57.1","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/typescript-estree","old_version":"8.57.1","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/coverage-v8","old_version":"4.1.0","new_version":"4.1.8","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vscode/vsce","old_version":"3.7.1","new_version":"3.9.2","repository_url":"https://github.com/Microsoft/vsce"},{"name":"dotenv","old_version":"17.3.1","new_version":"17.4.2","repository_url":"https://github.com/motdotla/dotenv"},{"name":"electron","old_version":"41.0.3","new_version":"42.3.3","repository_url":"https://github.com/electron/electron"},{"name":"esbuild","old_version":"0.27.4","new_version":"0.28.0","repository_url":"https://github.com/evanw/esbuild"},{"name":"eslint-import-resolver-typescript","old_version":"4.4.4","new_version":"4.4.5","repository_url":"https://github.com/import-js/eslint-import-resolver-typescript"},{"name":"eslint-plugin-jsdoc","old_version":"62.8.0","new_version":"63.0.2","repository_url":"https://github.com/gajus/eslint-plugin-jsdoc"},{"name":"eslint-plugin-no-only-tests","old_version":"3.3.0","new_version":"3.4.0","repository_url":"https://github.com/levibuzolic/eslint-plugin-no-only-tests"},{"name":"js-yaml","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"mobx","old_version":"6.15.0","new_version":"6.16.0","repository_url":"https://github.com/mobxjs/mobx"},{"name":"mocha","old_version":"11.7.5","new_version":"11.7.6","repository_url":"https://github.com/mochajs/mocha"},{"name":"openai","old_version":"6.32.0","new_version":"6.42.0","repository_url":"https://github.com/openai/openai-node"},{"name":"picomatch","old_version":"4.0.3","new_version":"4.0.4","repository_url":"https://github.com/micromatch/picomatch"},{"name":"@types/picomatch","old_version":"4.0.2","new_version":"4.0.3","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"playwright","old_version":"1.58.2","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"shiki","old_version":"4.0.2","new_version":"4.2.0","repository_url":"https://github.com/shikijs/shiki"},{"name":"sinon","old_version":"21.0.3","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"tar","old_version":"7.5.12","new_version":"7.5.16","repository_url":"https://github.com/isaacs/node-tar"},{"name":"tsx","old_version":"4.21.0","new_version":"4.22.4","repository_url":"https://github.com/privatenumber/tsx"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"typescript-eslint","old_version":"8.57.1","new_version":"8.60.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"vscode-languageserver-protocol","old_version":"3.17.5","new_version":"3.18.0","repository_url":"https://github.com/Microsoft/vscode-languageserver-node"},{"name":"yaml","old_version":"2.8.3","new_version":"2.9.0","repository_url":"https://github.com/eemeli/yaml"}],"path":null,"ecosystem":"npm"},"body":"Bumps the all group with 46 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@anthropic-ai/claude-code](https://github.com/anthropics/claude-code) | `2.1.81` | `2.1.168` |\n| [@anthropic-ai/sdk](https://github.com/anthropics/anthropic-sdk-typescript) | `0.80.0` | `0.102.0` |\n| [@github/copilot](https://github.com/github/copilot-cli) | `1.0.10` | `1.0.60` |\n| [@google/genai](https://github.com/googleapis/js-genai) | `1.46.0` | `2.8.0` |\n| [@vscode/copilot-api](https://github.com/Microsoft/vscode-extension-telemetry) | `0.2.18` | `0.4.4` |\n| [@vscode/extension-telemetry](https://github.com/Microsoft/vscode-extension-telemetry) | `1.5.1` | `1.5.2` |\n| [ajv](https://github.com/ajv-validator/ajv) | `8.18.0` | `8.20.0` |\n| [diff](https://github.com/kpdecker/jsdiff) | `8.0.3` | `9.0.0` |\n| [dompurify](https://github.com/cure53/DOMPurify) | `3.3.3` | `3.4.8` |\n| [lru-cache](https://github.com/isaacs/node-lru-cache) | `11.2.7` | `11.5.1` |\n| [markdown-it](https://github.com/markdown-it/markdown-it) | `14.1.1` | `14.2.0` |\n| [minimatch](https://github.com/isaacs/minimatch) | `10.2.4` | `10.2.5` |\n| [undici](https://github.com/nodejs/undici) | `7.24.5` | `8.4.0` |\n| vscode-tas-client | `0.1.86` | `0.2.1` |\n| [@azure/keyvault-secrets](https://github.com/Azure/azure-sdk-for-js/tree/HEAD/sdk/keyvault/keyvault-secrets) | `4.10.0` | `4.11.2` |\n| [@azure/msal-node](https://github.com/AzureAD/microsoft-authentication-library-for-js) | `5.1.1` | `5.2.3` |\n| [@fluentui/react-components](https://github.com/microsoft/fluentui) | `9.73.4` | `9.74.1` |\n| [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) | `2.0.321` | `2.0.328` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.19.15` | `22.19.20` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.57.1` | `8.60.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.57.1` | `8.60.1` |\n| [@typescript-eslint/typescript-estree](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-estree) | `8.57.1` | `8.60.1` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.0` | `4.1.8` |\n| [@vscode/vsce](https://github.com/Microsoft/vsce) | `3.7.1` | `3.9.2` |\n| [dotenv](https://github.com/motdotla/dotenv) | `17.3.1` | `17.4.2` |\n| [electron](https://github.com/electron/electron) | `41.0.3` | `42.3.3` |\n| [esbuild](https://github.com/evanw/esbuild) | `0.27.4` | `0.28.0` |\n| [eslint-import-resolver-typescript](https://github.com/import-js/eslint-import-resolver-typescript) | `4.4.4` | `4.4.5` |\n| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | `62.8.0` | `63.0.2` |\n| [eslint-plugin-no-only-tests](https://github.com/levibuzolic/eslint-plugin-no-only-tests) | `3.3.0` | `3.4.0` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `4.1.1` | `4.2.0` |\n| [mobx](https://github.com/mobxjs/mobx) | `6.15.0` | `6.16.0` |\n| [mocha](https://github.com/mochajs/mocha) | `11.7.5` | `11.7.6` |\n| [openai](https://github.com/openai/openai-node) | `6.32.0` | `6.42.0` |\n| [picomatch](https://github.com/micromatch/picomatch) | `4.0.3` | `4.0.4` |\n| [@types/picomatch](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/picomatch) | `4.0.2` | `4.0.3` |\n| [playwright](https://github.com/microsoft/playwright) | `1.58.2` | `1.60.0` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [shiki](https://github.com/shikijs/shiki/tree/HEAD/packages/shiki) | `4.0.2` | `4.2.0` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.0.3` | `22.0.0` |\n| [tar](https://github.com/isaacs/node-tar) | `7.5.12` | `7.5.16` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.22.4` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.57.1` | `8.60.1` |\n| [vscode-languageserver-protocol](https://github.com/Microsoft/vscode-languageserver-node/tree/HEAD/protocol) | `3.17.5` | `3.18.0` |\n| [yaml](https://github.com/eemeli/yaml) | `2.8.3` | `2.9.0` |\n\n\nUpdates `@anthropic-ai/claude-code` from 2.1.81 to 2.1.168\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/claude-code/releases\"\u003e@​anthropic-ai/claude-code's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.168\u003c/h2\u003e\n\u003ch2\u003eWhat's changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and reliability improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.167\u003c/h2\u003e\n\u003ch2\u003eWhat's changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and reliability improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.166\u003c/h2\u003e\n\u003ch2\u003eWhat's changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003efallbackModel\u003c/code\u003e setting to configure up to three fallback models tried in order when the primary model is overloaded or unavailable; \u003ccode\u003e--fallback-model\u003c/code\u003e now also applies to interactive sessions\u003c/li\u003e\n\u003cli\u003eAdded glob pattern support in deny rule tool-name position (\u003ccode\u003e\u0026quot;*\u0026quot;\u003c/code\u003e denies all tools); allow rules reject non-MCP globs, and unknown tool names in deny rules warn at startup\u003c/li\u003e\n\u003cli\u003eHardened cross-session messaging: messages relayed via \u003ccode\u003eSendMessage\u003c/code\u003e from other Claude sessions no longer carry user authority — receivers refuse relayed permission requests, and auto mode blocks them\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMAX_THINKING_TOKENS=0\u003c/code\u003e, \u003ccode\u003e--thinking disabled\u003c/code\u003e, and the per-model thinking toggle now disable thinking on models that think by default via the Claude API (3P providers unchanged)\u003c/li\u003e\n\u003cli\u003eClaude Code now retries a turn once on the fallback model when the API rejects an unexpected non-retryable error; auth, rate-limit, request-size, and transport errors still surface immediately\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eclaude update\u003c/code\u003e now announces the target version before downloading instead of going silent\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eclaude agents\u003c/code\u003e: typing a URL into the list now filters to the session whose first prompt contained it\u003c/li\u003e\n\u003cli\u003eFixed a recurring \u0026quot;image could not be processed\u0026quot; error and extra token usage when an unprocessable image was sent in a session\u003c/li\u003e\n\u003cli\u003eFixed remote sessions becoming permanently stuck when a brief backend disruption occurred during worker registration at startup\u003c/li\u003e\n\u003cli\u003eFixed flickering in JetBrains IDE terminals (IntelliJ, PyCharm, WebStorm, etc.) on 2026.1+ by enabling synchronized output\u003c/li\u003e\n\u003cli\u003eFixed Shift+non-ASCII characters (e.g. Shift+ä → Ä) being dropped in terminals using the Kitty keyboard protocol (WezTerm, Ghostty, kitty)\u003c/li\u003e\n\u003cli\u003eFixed PowerShell command validation occasionally hanging far past its time budget on Windows when a killed process's children held its output pipes\u003c/li\u003e\n\u003cli\u003eFixed orphaned \u003ccode\u003eclaude --bg-pty-host\u003c/code\u003e processes spinning at 100% CPU after the daemon dies while connected on macOS\u003c/li\u003e\n\u003cli\u003eFixed voice mode requiring \u003ccode\u003e/login\u003c/code\u003e to clear a stale auth check after toggling \u003ccode\u003e/voice\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed managed settings with an invalid entry silently disabling enforcement of their remaining valid policies\u003c/li\u003e\n\u003cli\u003eFixed managed-settings \u003ccode\u003eallowedMcpServers\u003c/code\u003e/\u003ccode\u003edeniedMcpServers\u003c/code\u003e predicates not matching when they use \u003ccode\u003e${VAR}\u003c/code\u003e references\u003c/li\u003e\n\u003cli\u003eFixed background agent sessions that entered a git worktree crash-looping with \u0026quot;No conversation found\u0026quot; when reopened from \u003ccode\u003eclaude agents\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed duplicated thinking text in the Ctrl+O transcript view while streaming\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e/doctor\u003c/code\u003e showing a contradictory failed \u0026quot;Not inside a remote session\u0026quot; check when run inside a remote session\u003c/li\u003e\n\u003cli\u003eFixed the cursor sticking at the end of the first line when typing a multiline prompt in the \u003ccode\u003eclaude agents\u003c/code\u003e dispatch and reply inputs\u003c/li\u003e\n\u003cli\u003eFixed blank lines appearing between background agent rows in the task list on terminals without Unicode support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.165\u003c/h2\u003e\n\u003ch2\u003eWhat's changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and reliability improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.163\u003c/h2\u003e\n\u003ch2\u003eWhat's changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003erequiredMinimumVersion\u003c/code\u003e and \u003ccode\u003erequiredMaximumVersion\u003c/code\u003e managed settings — Claude Code refuses to start if its version is outside the allowed range and directs the user to an approved version\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e/plugin list\u003c/code\u003e command to list installed plugins, with \u003ccode\u003e--enabled\u003c/code\u003e/\u003ccode\u003e--disabled\u003c/code\u003e filters\u003c/li\u003e\n\u003cli\u003eAdded a \u0026quot;c to copy\u0026quot; shortcut to \u003ccode\u003e/btw\u003c/code\u003e that copies the raw markdown answer to the clipboard, preserving formatting when pasted elsewhere\u003c/li\u003e\n\u003cli\u003eHooks: Stop and SubagentStop hooks can now return \u003ccode\u003ehookSpecificOutput.additionalContext\u003c/code\u003e to give Claude feedback and keep the turn going without being labeled a hook error\u003c/li\u003e\n\u003cli\u003eSkills: added \u003ccode\u003e\\$\u003c/code\u003e escape syntax to include a literal \u003ccode\u003e$\u003c/code\u003e before a digit in command bodies\u003c/li\u003e\n\u003cli\u003estdio MCP servers now receive the same \u003ccode\u003eCLAUDE_CODE_SESSION_ID\u003c/code\u003e as hooks/Bash on \u003ccode\u003e--resume\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eclaude -p\u003c/code\u003e hanging forever after its final result when a backgrounded command never exits — background shells are now stopped ~5s after the result once stdin closes\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/anthropics/claude-code/blob/main/CHANGELOG.md\"\u003e@​anthropic-ai/claude-code's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.168\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and reliability improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.167\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and reliability improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.166\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003efallbackModel\u003c/code\u003e setting to configure up to three fallback models tried in order when the primary model is overloaded or unavailable; \u003ccode\u003e--fallback-model\u003c/code\u003e now also applies to interactive sessions\u003c/li\u003e\n\u003cli\u003eAdded glob pattern support in deny rule tool-name position (\u003ccode\u003e\u0026quot;*\u0026quot;\u003c/code\u003e denies all tools); allow rules reject non-MCP globs, and unknown tool names in deny rules warn at startup\u003c/li\u003e\n\u003cli\u003eHardened cross-session messaging: messages relayed via \u003ccode\u003eSendMessage\u003c/code\u003e from other Claude sessions no longer carry user authority — receivers refuse relayed permission requests, and auto mode blocks them\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMAX_THINKING_TOKENS=0\u003c/code\u003e, \u003ccode\u003e--thinking disabled\u003c/code\u003e, and the per-model thinking toggle now disable thinking on models that think by default via the Claude API (3P providers unchanged)\u003c/li\u003e\n\u003cli\u003eClaude Code now retries a turn once on the fallback model when the API rejects an unexpected non-retryable error; auth, rate-limit, request-size, and transport errors still surface immediately\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eclaude update\u003c/code\u003e now announces the target version before downloading instead of going silent\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eclaude agents\u003c/code\u003e: typing a URL into the list now filters to the session whose first prompt contained it\u003c/li\u003e\n\u003cli\u003eFixed a recurring \u0026quot;image could not be processed\u0026quot; error and extra token usage when an unprocessable image was sent in a session\u003c/li\u003e\n\u003cli\u003eFixed remote sessions becoming permanently stuck when a brief backend disruption occurred during worker registration at startup\u003c/li\u003e\n\u003cli\u003eFixed flickering in JetBrains IDE terminals (IntelliJ, PyCharm, WebStorm, etc.) on 2026.1+ by enabling synchronized output\u003c/li\u003e\n\u003cli\u003eFixed Shift+non-ASCII characters (e.g. Shift+ä → Ä) being dropped in terminals using the Kitty keyboard protocol (WezTerm, Ghostty, kitty)\u003c/li\u003e\n\u003cli\u003eFixed PowerShell command validation occasionally hanging far past its time budget on Windows when a killed process's children held its output pipes\u003c/li\u003e\n\u003cli\u003eFixed orphaned \u003ccode\u003eclaude --bg-pty-host\u003c/code\u003e processes spinning at 100% CPU after the daemon dies while connected on macOS\u003c/li\u003e\n\u003cli\u003eFixed voice mode requiring \u003ccode\u003e/login\u003c/code\u003e to clear a stale auth check after toggling \u003ccode\u003e/voice\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed managed settings with an invalid entry silently disabling enforcement of their remaining valid policies\u003c/li\u003e\n\u003cli\u003eFixed managed-settings \u003ccode\u003eallowedMcpServers\u003c/code\u003e/\u003ccode\u003edeniedMcpServers\u003c/code\u003e predicates not matching when they use \u003ccode\u003e${VAR}\u003c/code\u003e references\u003c/li\u003e\n\u003cli\u003eFixed background agent sessions that entered a git worktree crash-looping with \u0026quot;No conversation found\u0026quot; when reopened from \u003ccode\u003eclaude agents\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed duplicated thinking text in the Ctrl+O transcript view while streaming\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e/doctor\u003c/code\u003e showing a contradictory failed \u0026quot;Not inside a remote session\u0026quot; check when run inside a remote session\u003c/li\u003e\n\u003cli\u003eFixed the cursor sticking at the end of the first line when typing a multiline prompt in the \u003ccode\u003eclaude agents\u003c/code\u003e dispatch and reply inputs\u003c/li\u003e\n\u003cli\u003eFixed blank lines appearing between background agent rows in the task list on terminals without Unicode support\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.165\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and reliability improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.163\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003erequiredMinimumVersion\u003c/code\u003e and \u003ccode\u003erequiredMaximumVersion\u003c/code\u003e managed settings — Claude Code refuses to start if its version is outside the allowed range and directs the user to an approved version\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e/plugin list\u003c/code\u003e command to list installed plugins, with \u003ccode\u003e--enabled\u003c/code\u003e/\u003ccode\u003e--disabled\u003c/code\u003e filters\u003c/li\u003e\n\u003cli\u003eAdded a \u0026quot;c to copy\u0026quot; shortcut to \u003ccode\u003e/btw\u003c/code\u003e that copies the raw markdown answer to the clipboard, preserving formatting when pasted elsewhere\u003c/li\u003e\n\u003cli\u003eHooks: Stop and SubagentStop hooks can now return \u003ccode\u003ehookSpecificOutput.additionalContext\u003c/code\u003e to give Claude feedback and keep the turn going without being labeled a hook error\u003c/li\u003e\n\u003cli\u003eSkills: added \u003ccode\u003e\\$\u003c/code\u003e escape syntax to include a literal \u003ccode\u003e$\u003c/code\u003e before a digit in command bodies\u003c/li\u003e\n\u003cli\u003estdio MCP servers now receive the same \u003ccode\u003eCLAUDE_CODE_SESSION_ID\u003c/code\u003e as hooks/Bash on \u003ccode\u003e--resume\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eclaude -p\u003c/code\u003e hanging forever after its final result when a backgrounded command never exits — background shells are now stopped ~5s after the result once stdin closes\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eclaude -p\u003c/code\u003e failing with \u0026quot;ANTHROPIC_API_KEY required\u0026quot; on Bedrock/Vertex/Foundry when \u003ccode\u003eCI=true\u003c/code\u003e and no Anthropic API key is set\u003c/li\u003e\n\u003cli\u003eFixed bash commands failing under bazel and EDR-protected Go workflows: \u003ccode\u003e$TMPDIR\u003c/code\u003e was overridden to \u003ccode\u003e/tmp/claude-{uid}\u003c/code\u003e for all commands instead of only sandboxed ones (regression in 2.1.154)\u003c/li\u003e\n\u003cli\u003eFixed Bash commands failing on Windows with \u0026quot;EEXIST: file already exists\u0026quot; on the session-env directory when it has the read-only attribute or is inside OneDrive\u003c/li\u003e\n\u003cli\u003eFixed org-managed permission rules not applying for the entire session when the managed settings fetch completed during startup on a fresh config directory\u003c/li\u003e\n\u003cli\u003eFixed background sessions in \u003ccode\u003eclaude agents\u003c/code\u003e losing their running background tasks when reattached after a Claude Code update\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/anthropics/claude-code/commit/72281753c2af394d35d6950af5980832cbebd322\"\u003e\u003ccode\u003e7228175\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-code/commit/c1b75cba5e990e643ed62db6769a9f9807bdb053\"\u003e\u003ccode\u003ec1b75cb\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-code/commit/6988846f0f7bd570788b2551aeec7854b3c6b11e\"\u003e\u003ccode\u003e6988846\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-code/commit/feabcc3c2b9abf057a3721cf5427f8f50d75618f\"\u003e\u003ccode\u003efeabcc3\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-code/commit/d1e174252d0af47174bd9fbdec6abb092b49226a\"\u003e\u003ccode\u003ed1e1742\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-code/commit/b67fa4fa2c4f42e9b88a31f31906f3142bc165c5\"\u003e\u003ccode\u003eb67fa4f\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-code/commit/625c04c3350378c3d74662505aae3e9dcf3fa1b4\"\u003e\u003ccode\u003e625c04c\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-code/commit/bdb04fc52421537f63bbcb9685e1c0905689f8f7\"\u003e\u003ccode\u003ebdb04fc\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-code/commit/8bae02d5319c619f84f51476188e5b28b2e5816b\"\u003e\u003ccode\u003e8bae02d\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/claude-code/commit/295dee881d0e1c1d0cd22fe171e4c1d07118fb04\"\u003e\u003ccode\u003e295dee8\u003c/code\u003e\u003c/a\u003e chore: Update CHANGELOG.md and feed.xml\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/anthropics/claude-code/compare/v2.1.81...v2.1.168\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003epostinstall\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@anthropic-ai/sdk` from 0.80.0 to 0.102.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/releases\"\u003e@​anthropic-ai/sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esdk: v0.102.0\u003c/h2\u003e\n\u003ch2\u003e0.102.0 (2026-06-06)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.101.0...sdk-v0.102.0\"\u003esdk-v0.101.0...sdk-v0.102.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e small updates to Managed Agents types (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/8ba4f92df32eb434503b8c69bc7328adc5edcbec\"\u003e8ba4f92\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e run middleware before request signing (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/45\"\u003e#45\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/95f1a4a406c95aa31855fa1178fedfcb19978e16\"\u003e95f1a4a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esdk: v0.101.0\u003c/h2\u003e\n\u003ch2\u003e0.101.0 (2026-06-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.100.1...sdk-v0.101.0\"\u003esdk-v0.100.1...sdk-v0.101.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add support for middleware (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/9b011207965540211cefb19d44d758b7942aedab\"\u003e9b01120\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eapply request timeout to inner fetch only, not middleware chain (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/40\"\u003e#40\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/25c13f6183391f006396f16a9bd9a2c2f710d52c\"\u003e25c13f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e carry stop_details through beta message_delta accumulation (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/ed3fec7ace406fe4b0ca3494439061695dabf475\"\u003eed3fec7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e correctly parse json numbers with scientific notation (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/9\"\u003e#9\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/7d5e6422dc5b58bc991c1587c4f1a0e8e753f2a5\"\u003e7d5e642\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e fix artifact url (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/925ec276fa97baf63d3643f24430bd2a8302c5dc\"\u003e925ec27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e fix branch names (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/fa3cf2c491f0ed274dc7839779f7fd91c15b5dbf\"\u003efa3cf2c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update private repo name (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/a8ac213b8ce0955bd66f0b2f5bcecc2976867fb2\"\u003ea8ac213\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epoint security reports to Anthropic's HackerOne program (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/16\"\u003e#16\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/5c7912c36e0210c6cbc773a32a7ba983aaf611df\"\u003e5c7912c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esdk: v0.100.1\u003c/h2\u003e\n\u003ch2\u003e0.100.1 (2026-05-29)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.100.0...sdk-v0.100.1\"\u003esdk-v0.100.0...sdk-v0.100.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e carry encrypted_content on beta compaction blocks (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1025\"\u003e#1025\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/eccddf3ed28645bceed2f3b6eb7826466377f1e8\"\u003eeccddf3\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/anthropics/anthropic-sdk-typescript/blob/main/CHANGELOG.md\"\u003e@​anthropic-ai/sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.102.0 (2026-06-06)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.101.0...sdk-v0.102.0\"\u003esdk-v0.101.0...sdk-v0.102.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e small updates to Managed Agents types (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/8ba4f92df32eb434503b8c69bc7328adc5edcbec\"\u003e8ba4f92\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e run middleware before request signing (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/45\"\u003e#45\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/95f1a4a406c95aa31855fa1178fedfcb19978e16\"\u003e95f1a4a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.101.0 (2026-06-05)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.100.1...sdk-v0.101.0\"\u003esdk-v0.100.1...sdk-v0.101.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e add support for middleware (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/9b011207965540211cefb19d44d758b7942aedab\"\u003e9b01120\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eapply request timeout to inner fetch only, not middleware chain (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/40\"\u003e#40\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/25c13f6183391f006396f16a9bd9a2c2f710d52c\"\u003e25c13f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e carry stop_details through beta message_delta accumulation (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/ed3fec7ace406fe4b0ca3494439061695dabf475\"\u003eed3fec7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e correctly parse json numbers with scientific notation (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/9\"\u003e#9\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/7d5e6422dc5b58bc991c1587c4f1a0e8e753f2a5\"\u003e7d5e642\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e fix artifact url (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/925ec276fa97baf63d3643f24430bd2a8302c5dc\"\u003e925ec27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e fix branch names (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/fa3cf2c491f0ed274dc7839779f7fd91c15b5dbf\"\u003efa3cf2c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einternal:\u003c/strong\u003e update private repo name (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/a8ac213b8ce0955bd66f0b2f5bcecc2976867fb2\"\u003ea8ac213\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epoint security reports to Anthropic's HackerOne program (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/16\"\u003e#16\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/5c7912c36e0210c6cbc773a32a7ba983aaf611df\"\u003e5c7912c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.100.1 (2026-05-29)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.100.0...sdk-v0.100.1\"\u003esdk-v0.100.0...sdk-v0.100.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e carry encrypted_content on beta compaction blocks (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1025\"\u003e#1025\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/eccddf3ed28645bceed2f3b6eb7826466377f1e8\"\u003eeccddf3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\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/anthropics/anthropic-sdk-typescript/commit/f7dfb972f614b80a03377df4c549fc94d83a0f5d\"\u003e\u003ccode\u003ef7dfb97\u003c/code\u003e\u003c/a\u003e chore: release main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/a3f3c9725855d065914aaf9e9be67bb513c9d2d9\"\u003e\u003ccode\u003ea3f3c97\u003c/code\u003e\u003c/a\u003e feat(api): small updates to Managed Agents types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/a5c98d117a1b9365769c4055c23794f288b350f7\"\u003e\u003ccode\u003ea5c98d1\u003c/code\u003e\u003c/a\u003e fix(client): run middleware before request signing (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/45\"\u003e#45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/185ec061cfe8cccd1af6fd118142ebd72e350379\"\u003e\u003ccode\u003e185ec06\u003c/code\u003e\u003c/a\u003e chore: release main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/fab891069a2d78e31f92098b0b9c8f81f925998f\"\u003e\u003ccode\u003efab8910\u003c/code\u003e\u003c/a\u003e codegen metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/7ff4036756df6cf3b3ff69b6fee95c7d0dff8b9d\"\u003e\u003ccode\u003e7ff4036\u003c/code\u003e\u003c/a\u003e fix: apply request timeout to inner fetch only, not middleware chain (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/40\"\u003e#40\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/257bc1f56bb391c03bc30c4e16f61e22a3eba762\"\u003e\u003ccode\u003e257bc1f\u003c/code\u003e\u003c/a\u003e feat(client): add support for middleware\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/5b3ace5ec52d91780e78e0b64a199c57c5fdcfea\"\u003e\u003ccode\u003e5b3ace5\u003c/code\u003e\u003c/a\u003e chore(internal): fix artifact url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/70966be8fc07edbe6129eadc011c7b5ee8dbe131\"\u003e\u003ccode\u003e70966be\u003c/code\u003e\u003c/a\u003e fix(streaming): correctly parse json numbers with scientific notation (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/9\"\u003e#9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/7e22f205524aeb63324b9f1c6f433a82392c520a\"\u003e\u003ccode\u003e7e22f20\u003c/code\u003e\u003c/a\u003e docs: point security reports to Anthropic's HackerOne program (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/16\"\u003e#16\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.80.0...sdk-v0.102.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@​anthropic-ai/sdk\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@github/copilot` from 1.0.10 to 1.0.60\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/github/copilot-cli/releases\"\u003e@​github/copilot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.0.60\u003c/h2\u003e\n\u003cp\u003e2026-06-05\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTab completes \u003ccode\u003e..\u003c/code\u003e parent traversal in slash-command path arguments instead of switching tabs\u003c/li\u003e\n\u003cli\u003eAdd the max reasoning effort level for Anthropic models and make all effort levels available on every plan\u003c/li\u003e\n\u003cli\u003eScreen no longer stays blank after waking from sleep inside a terminal multiplexer\u003c/li\u003e\n\u003cli\u003eInput fields render background color correctly inside highlighted frames\u003c/li\u003e\n\u003cli\u003eCursor renders in the correct position in plan approval and review feedback prompts\u003c/li\u003e\n\u003cli\u003eWorktree directory uses a flat name when PR branch contains slashes (e.g. \u003ccode\u003ecli/foo\u003c/code\u003e → \u003ccode\u003e.worktrees/cli-foo\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eQueue hint correctly shows ctrl+enter instead of ctrl+q when kitty keyboard protocol is active\u003c/li\u003e\n\u003cli\u003eStatus line progressively stacks across rows at narrow terminal widths instead of truncating elements beyond recognition\u003c/li\u003e\n\u003cli\u003eClipboard operations on X11 no longer corrupt the terminal display\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ebuiltInAgents.rubberDuckAutoInvoke\u003c/code\u003e setting to control automatic rubber duck agent invocation (disabled by default)\u003c/li\u003e\n\u003cli\u003eOn Windows, executables are no longer discovered in the working directory when invoking by bare name (e.g. \u003ccode\u003egit\u003c/code\u003e). Add the working directory to \u003ccode\u003ePATH\u003c/code\u003e to enable discovery.\u003c/li\u003e\n\u003cli\u003eInteractive shell commands no longer hang when producing large amounts of output\u003c/li\u003e\n\u003cli\u003eMCP tools glyph in /context legend displays at the correct size\u003c/li\u003e\n\u003cli\u003eSkill and slash command picker rows correctly display multi-line descriptions as a single line\u003c/li\u003e\n\u003cli\u003eIDE picker now hides entries whose editor connection has gone away, so selecting one no longer fails with a connection error, and appends a process id to entries that share the same editor and folder so git worktrees of the same repo can be told apart\u003c/li\u003e\n\u003cli\u003eModel picker fits within small terminal windows and mouse scroll works in the picker\u003c/li\u003e\n\u003cli\u003eShow cache write tokens alongside cache read tokens in /usage display\u003c/li\u003e\n\u003cli\u003eRepurpose ctrl+s to stash and pop the current prompt (Claude Code parity); the slash-command picker is still available by typing /\u003c/li\u003e\n\u003cli\u003e/context separates Custom Instructions from the system prompt and cross-references per-server MCP tool token costs with /mcp\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ebilling\u003c/code\u003e help topic with an overview of AI credit usage features\u003c/li\u003e\n\u003cli\u003eAdd vim-style navigation keys (g, G, Ctrl+D, Ctrl+U) to the /diff view\u003c/li\u003e\n\u003cli\u003eShow the Mission Control sharing status of synced sessions in the /session info view\u003c/li\u003e\n\u003cli\u003eAdd -r as a shorthand for --resume\u003c/li\u003e\n\u003cli\u003eLSP server config accepts \u003ccode\u003ebash\u003c/code\u003e, \u003ccode\u003epowershell\u003c/code\u003e, and \u003ccode\u003ecwd\u003c/code\u003e keys; command launch default cwd stays project-root unless \u003ccode\u003ecwd\u003c/code\u003e is set, and \u003ccode\u003ecwd\u003c/code\u003e expansion now supports plugin vars like \u003ccode\u003ePLUGIN_ROOT\u003c/code\u003e while shell launches keep hook-matching cwd/env behavior\u003c/li\u003e\n\u003cli\u003eRewind picker shows working-tree diff stats (+added −removed) at each checkpoint\u003c/li\u003e\n\u003cli\u003eCreate a git worktree for a pull request directly from the pull requests screen\u003c/li\u003e\n\u003cli\u003eRemaining requests percentage no longer shows a negative value for over-limit users\u003c/li\u003e\n\u003cli\u003eExtension permission prompts respect --yolo and pre-approved locations on startup\u003c/li\u003e\n\u003cli\u003eCustom agent instructions are no longer duplicated each turn, reducing context window usage\u003c/li\u003e\n\u003cli\u003eLinux sandbox no longer fails when allowedHosts or blockedHosts are configured\u003c/li\u003e\n\u003cli\u003eSession completion signal (terminal beep, autopilot continuation) now waits for background shell commands to finish\u003c/li\u003e\n\u003cli\u003eCmd+Backspace deletes the line before the cursor on macOS prompt input\u003c/li\u003e\n\u003cli\u003eweb_fetch blocks loopback, private, and cloud metadata addresses and no longer silently follows redirects\u003c/li\u003e\n\u003cli\u003eTrusted folders and other config keys are no longer dropped when experiment assignments are cached concurrently\u003c/li\u003e\n\u003cli\u003eRewind no longer deletes ignored files when rolling back to a previous snapshot\u003c/li\u003e\n\u003cli\u003eACP allow_all config option correctly applies unrestricted permissions for tools, paths, and URLs\u003c/li\u003e\n\u003cli\u003e--available-tools, --excluded-tools, and --reasoning-effort flags apply correctly in ACP mode\u003c/li\u003e\n\u003cli\u003eLSP workspace/configuration response returns the correct number of entries, preventing strict servers like ty from panicking\u003c/li\u003e\n\u003cli\u003eExtensions linked via directory symlinks are now discovered and loaded correctly\u003c/li\u003e\n\u003cli\u003eTyping \u0026quot;help\u0026quot; at the prompt opens the quick-help overlay instead of sending it as a chat message\u003c/li\u003e\n\u003cli\u003eWide characters (e.g. CJK) render correctly in the terminal diff view without visual corruption\u003c/li\u003e\n\u003cli\u003eFolder trust persists across git worktrees without re-prompting\u003c/li\u003e\n\u003cli\u003eForce-removing a marketplace no longer causes its plugins to reinstall on next launch\u003c/li\u003e\n\u003cli\u003eMCP OAuth re-authentication no longer fails with an address-in-use error when a login is already in progress\u003c/li\u003e\n\u003cli\u003eRepository plugin overrides no longer change globally enabled plugin settings\u003c/li\u003e\n\u003cli\u003eMCP allowlist now matches npm scoped servers whose registry entry drops the leading @ from the package identifier\u003c/li\u003e\n\u003cli\u003eMCP servers registered via Azure API Center are no longer incorrectly blocked by the allowlist\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/github/copilot-cli/blob/main/changelog.md\"\u003e@​github/copilot's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.0.60 - 2026-06-05\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTab completes \u003ccode\u003e..\u003c/code\u003e parent traversal in slash-command path arguments instead of switching tabs\u003c/li\u003e\n\u003cli\u003eAdd the max reasoning effort level for Anthropic models and make all effort levels available on every plan\u003c/li\u003e\n\u003cli\u003eScreen no longer stays blank after waking from sleep inside a terminal multiplexer\u003c/li\u003e\n\u003cli\u003eInput fields render background color correctly inside highlighted frames\u003c/li\u003e\n\u003cli\u003eCursor renders in the correct position in plan approval and review feedback prompts\u003c/li\u003e\n\u003cli\u003eWorktree directory uses a flat name when PR branch contains slashes (e.g. \u003ccode\u003ecli/foo\u003c/code\u003e → \u003ccode\u003e.worktrees/cli-foo\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eQueue hint correctly shows ctrl+enter instead of ctrl+q when kitty keyboard protocol is active\u003c/li\u003e\n\u003cli\u003eStatus line progressively stacks across rows at narrow terminal widths instead of truncating elements beyond recognition\u003c/li\u003e\n\u003cli\u003eClipboard operations on X11 no longer corrupt the terminal display\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ebuiltInAgents.rubberDuckAutoInvoke\u003c/code\u003e setting to control automatic rubber duck agent invocation (disabled by default)\u003c/li\u003e\n\u003cli\u003eOn Windows, executables are no longer discovered in the working directory when invoking by bare name (e.g. \u003ccode\u003egit\u003c/code\u003e). Add the working directory to \u003ccode\u003ePATH\u003c/code\u003e to enable discovery.\u003c/li\u003e\n\u003cli\u003eInteractive shell commands no longer hang when producing large amounts of output\u003c/li\u003e\n\u003cli\u003eMCP tools glyph in /context legend displays at the correct size\u003c/li\u003e\n\u003cli\u003eSkill and slash command picker rows correctly display multi-line descriptions as a single line\u003c/li\u003e\n\u003cli\u003eIDE picker now hides entries whose editor connection has gone away, so selecting one no longer fails with a connection error, and appends a process id to entries that share the same editor and folder so git worktrees of the same repo can be told apart\u003c/li\u003e\n\u003cli\u003eModel picker fits within small terminal windows and mouse scroll works in the picker\u003c/li\u003e\n\u003cli\u003eShow cache write tokens alongside cache read tokens in /usage display\u003c/li\u003e\n\u003cli\u003eRepurpose ctrl+s to stash and pop the current prompt (Claude Code parity); the slash-command picker is still available by typing /\u003c/li\u003e\n\u003cli\u003e/context separates Custom Instructions from the system prompt and cross-references per-server MCP tool token costs with /mcp\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ebilling\u003c/code\u003e help topic with an overview of AI credit usage features\u003c/li\u003e\n\u003cli\u003eAdd vim-style navigation keys (g, G, Ctrl+D, Ctrl+U) to the /diff view\u003c/li\u003e\n\u003cli\u003eShow the Mission Control sharing status of synced sessions in the /session info view\u003c/li\u003e\n\u003cli\u003eAdd -r as a shorthand for --resume\u003c/li\u003e\n\u003cli\u003eLSP server config accepts \u003ccode\u003ebash\u003c/code\u003e, \u003ccode\u003epowershell\u003c/code\u003e, and \u003ccode\u003ecwd\u003c/code\u003e keys; command launch default cwd stays project-root unless \u003ccode\u003ecwd\u003c/code\u003e is set, and \u003ccode\u003ecwd\u003c/code\u003e expansion now supports plugin vars like \u003ccode\u003ePLUGIN_ROOT\u003c/code\u003e while shell launches keep hook-matching cwd/env behavior\u003c/li\u003e\n\u003cli\u003eRewind picker shows working-tree diff stats (+added −removed) at each checkpoint\u003c/li\u003e\n\u003cli\u003eCreate a git worktree for a pull request directly from the pull requests screen\u003c/li\u003e\n\u003cli\u003eRemaining requests percentage no longer shows a negative value for over-limit users\u003c/li\u003e\n\u003cli\u003eExtension permission prompts respect --yolo and pre-approved locations on startup\u003c/li\u003e\n\u003cli\u003eCustom agent instructions are no longer duplicated each turn, reducing context window usage\u003c/li\u003e\n\u003cli\u003eLinux sandbox no longer fails when allowedHosts or blockedHosts are configured\u003c/li\u003e\n\u003cli\u003eSession completion signal (terminal beep, autopilot continuation) now waits for background shell commands to finish\u003c/li\u003e\n\u003cli\u003eCmd+Backspace deletes the line before the cursor on macOS prompt input\u003c/li\u003e\n\u003cli\u003eweb_fetch blocks loopback, private, and cloud metadata addresses and no longer silently follows redirects\u003c/li\u003e\n\u003cli\u003eTrusted folders and other config keys are no longer dropped when experiment assignments are cached concurrently\u003c/li\u003e\n\u003cli\u003eRewind no longer deletes ignored files when rolling back to a previous snapshot\u003c/li\u003e\n\u003cli\u003eACP allow_all config option correctly applies unrestricted permissions for tools, paths, and URLs\u003c/li\u003e\n\u003cli\u003e--available-tools, --excluded-tools, and --reasoning-effort flags apply correctly in ACP mode\u003c/li\u003e\n\u003cli\u003eLSP workspace/configuration response returns the correct number of entries, preventing strict servers like ty from panicking\u003c/li\u003e\n\u003cli\u003eExtensions linked via directory symlinks are now discovered and loaded correctly\u003c/li\u003e\n\u003cli\u003eTyping \u0026quot;help\u0026quot; at the prompt opens the quick-help overlay instead of sending it as a chat message\u003c/li\u003e\n\u003cli\u003eWide characters (e.g. CJK) render correctly in the terminal diff view without visual corruption\u003c/li\u003e\n\u003cli\u003eFolder trust persists across git worktrees without re-prompting\u003c/li\u003e\n\u003cli\u003eForce-removing a marketplace no longer causes its plugins to reinstall on next launch\u003c/li\u003e\n\u003cli\u003eMCP OAuth re-authentication no longer fails with an address-in-use error when a login is already in progress\u003c/li\u003e\n\u003cli\u003eRepository plugin overrides no longer change globally enabled plugin settings\u003c/li\u003e\n\u003cli\u003eMCP allowlist now matches npm scoped servers whose registry entry drops the leading @ from the package identifier\u003c/li\u003e\n\u003cli\u003eMCP servers registered via Azure API Center are no longer incorrectly blocked by the allowlist\u003c/li\u003e\n\u003cli\u003eLocal MCP servers sharing a serialized token broker (e.g. M365) reliably start instead of intermittently failing\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/github/copilot-cli/commit/3e316bbd750d398b56b20f346cb6a9c4bf429441\"\u003e\u003ccode\u003e3e316bb\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.59\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github/copilot-cli/commit/fbdc9da367bfbeac14f93c7cbd66465fcec95749\"\u003e\u003ccode\u003efbdc9da\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.58\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github/copilot-cli/commit/eaa1eabdd156d13b60c120e6b7acb9877253c5a6\"\u003e\u003ccode\u003eeaa1eab\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.57\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github/copilot-cli/commit/5e5b150c44e8671d6883a5b6549acc8a7e7b6285\"\u003e\u003ccode\u003e5e5b150\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.56\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github/copilot-cli/commit/3085447a4e539fe7d29d16ddaa8644340fd9e9db\"\u003e\u003ccode\u003e3085447\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.55\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github/copilot-cli/commit/d88b67d99e3116d467b39ff998e5af78b1984f82\"\u003e\u003ccode\u003ed88b67d\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.54\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github/copilot-cli/commit/58e05a59bb63efd3df3f716b8db033fb6ae9ffe0\"\u003e\u003ccode\u003e58e05a5\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.53\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github/copilot-cli/commit/fad7701e371209542bd8613d88f5d20f43a70a47\"\u003e\u003ccode\u003efad7701\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.52\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github/copilot-cli/commit/71e5b791df6643edb28e575a15e889d5f938e29f\"\u003e\u003ccode\u003e71e5b79\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.51\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/github/copilot-cli/commit/d0b5734b307e9ba4a34d4eee28aa38bf44b98754\"\u003e\u003ccode\u003ed0b5734\u003c/code\u003e\u003c/a\u003e Update changelog.md for version 1.0.49\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/github/copilot-cli/compare/v1.0.10...v1.0.60\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@google/genai` from 1.46.0 to 2.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/js-genai/releases\"\u003e@​google/genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.8.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.7.0...v2.8.0\"\u003e2.8.0\u003c/a\u003e (2026-06-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Agent Platform MCP support to async generate_content (\u003ca href=\"https://github.com/googleapis/js-genai/commit/baeaeaa5ae89f9f0a987a8cac5ef61703593fbc4\"\u003ebaeaeaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd transcription language code. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/d2981d6c94e10f4b65d225e637e605b533c9a9d7\"\u003ed2981d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd TranslationConfig for live translation. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/8c44240f961708cfde6f2201af2175a0239ef490\"\u003e8c44240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport ReinforcementTuning in GenAI SDK including ValidateReward API method. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/36f0bfb710ba954983de1fd786c89ed8fe887ce9\"\u003e36f0bfb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.7.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.6.0...v2.7.0\"\u003e2.7.0\u003c/a\u003e (2026-05-27)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Skill Registry ListSkills and DeleteSkill to SDK (\u003ca href=\"https://github.com/googleapis/js-genai/commit/d75582ad9bd04b071c4eea003df80b417070fd87\"\u003ed75582a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadditional computer_use field support for vertex. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/54a692b372fe6d5ab1340cd3ae4ea02a3a59e85c\"\u003e54a692b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einteraction-api:\u003c/strong\u003e Allow \u0026quot;text/csv\u0026quot; as a supported document mime type for Interaction API. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/3cc830e592d9c3185f0b9c15ed36de7581e0a5d5\"\u003e3cc830e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einteraction-api:\u003c/strong\u003e Enable BigQuery tool in Deep Research config. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/58c8c7e57b8454469e0f33a873432b892ef3ffc1\"\u003e58c8c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Reinforcement Tuning in GenAI SDK (\u003ca href=\"https://github.com/googleapis/js-genai/commit/418cc35c62af073dc41169df09884bfdcd25b4b8\"\u003e418cc35\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.5.0...v2.6.0\"\u003e2.6.0\u003c/a\u003e (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eenable_prompt_injection_detection\u003c/code\u003e for Computer Use feature for the Gemini API. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/f780f3c6dcbf311b8712a8d2bda2b1cee38d3067\"\u003ef780f3c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd budget_exceeded status (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1e97bd0ab7791f6140b24d3a4457c097dd2d48a0\"\u003e1e97bd0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd gemini-3.5-flash (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1e97bd0ab7791f6140b24d3a4457c097dd2d48a0\"\u003e1e97bd0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd new fields (\u003ca href=\"https://github.com/googleapis/js-genai/commit/b78eeee55607797a1bb14d41e648dacab863a7d2\"\u003eb78eeee\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.4.0...v2.5.0\"\u003e2.5.0\u003c/a\u003e (2026-05-20)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Gemini 3.5 Flash model to options (\u003ca href=\"https://github.com/googleapis/js-genai/commit/fcf26e386d4c8586047b64ecb0f01705d7a0a43e\"\u003efcf26e3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.3.0...v2.4.0\"\u003e2.4.0\u003c/a\u003e (2026-05-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Agent and Environment APIs. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/b0d9d2b84b3f94ba710b30b8a993cb7d23a10d35\"\u003eb0d9d2b\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/googleapis/js-genai/blob/main/CHANGELOG.md\"\u003e@​google/genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.7.0...v2.8.0\"\u003e2.8.0\u003c/a\u003e (2026-06-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Agent Platform MCP support to async generate_content (\u003ca href=\"https://github.com/googleapis/js-genai/commit/baeaeaa5ae89f9f0a987a8cac5ef61703593fbc4\"\u003ebaeaeaa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd transcription language code. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/d2981d6c94e10f4b65d225e637e605b533c9a9d7\"\u003ed2981d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd TranslationConfig for live translation. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/8c44240f961708cfde6f2201af2175a0239ef490\"\u003e8c44240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport ReinforcementTuning in GenAI SDK including ValidateReward API method. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/36f0bfb710ba954983de1fd786c89ed8fe887ce9\"\u003e36f0bfb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.6.0...v2.7.0\"\u003e2.7.0\u003c/a\u003e (2026-05-27)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Skill Registry ListSkills and DeleteSkill to SDK (\u003ca href=\"https://github.com/googleapis/js-genai/commit/d75582ad9bd04b071c4eea003df80b417070fd87\"\u003ed75582a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadditional computer_use field support for vertex. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/54a692b372fe6d5ab1340cd3ae4ea02a3a59e85c\"\u003e54a692b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einteraction-api:\u003c/strong\u003e Allow \u0026quot;text/csv\u0026quot; as a supported document mime type for Interaction API. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/3cc830e592d9c3185f0b9c15ed36de7581e0a5d5\"\u003e3cc830e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einteraction-api:\u003c/strong\u003e Enable BigQuery tool in Deep Research config. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/58c8c7e57b8454469e0f33a873432b892ef3ffc1\"\u003e58c8c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Reinforcement Tuning in GenAI SDK (\u003ca href=\"https://github.com/googleapis/js-genai/commit/418cc35c62af073dc41169df09884bfdcd25b4b8\"\u003e418cc35\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.5.0...v2.6.0\"\u003e2.6.0\u003c/a\u003e (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eenable_prompt_injection_detection\u003c/code\u003e for Computer Use feature for the Gemini API. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/f780f3c6dcbf311b8712a8d2bda2b1cee38d3067\"\u003ef780f3c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd budget_exceeded status (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1e97bd0ab7791f6140b24d3a4457c097dd2d48a0\"\u003e1e97bd0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd gemini-3.5-flash (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1e97bd0ab7791f6140b24d3a4457c097dd2d48a0\"\u003e1e97bd0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd new fields (\u003ca href=\"https://github.com/googleapis/js-genai/commit/b78eeee55607797a1bb14d41e648dacab863a7d2\"\u003eb78eeee\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.4.0...v2.5.0\"\u003e2.5.0\u003c/a\u003e (2026-05-20)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Gemini 3.5 Flash model to options (\u003ca href=\"https://github.com/googleapis/js-genai/commit/fcf26e386d4c8586047b64ecb0f01705d7a0a43e\"\u003efcf26e3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.3.0...v2.4.0\"\u003e2.4.0\u003c/a\u003e (2026-05-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Agent and Environment APIs. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/b0d9d2b84b3f94ba710b30b8a993cb7d23a10d35\"\u003eb0d9d2b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eoutput_text for turns that don't end with text. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1a3d94f81574256e2f9e72af6bd5273f44d9fe2f\"\u003e1a3d94f\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/googleapis/js-genai/commit/ea0dd6004dcfdbb69895193efff2ee0af9b3ed80\"\u003e\u003ccode\u003eea0dd60\u003c/code\u003e\u003c/a\u003e chore(main): release 2.8.0 (\u003ca href=\"https://redirect.github.com/googleapis/js-genai/issues/1646\"\u003e#1646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/36f0bfb710ba954983de1fd786c89ed8fe887ce9\"\u003e\u003ccode\u003e36f0bfb\u003c/code\u003e\u003c/a\u003e feat: Support ReinforcementTuning in GenAI SDK including ValidateReward API m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/d2981d6c94e10f4b65d225e637e605b533c9a9d7\"\u003e\u003ccode\u003ed2981d6\u003c/code\u003e\u003c/a\u003e feat: Add transcription language code.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/98ac90d0c4578d82754535d0df451b29c3ffb1c9\"\u003e\u003ccode\u003e98ac90d\u003c/code\u003e\u003c/a\u003e chore: deprecate Google Maps grounding widget API fields\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/8c44240f961708cfde6f2201af2175a0239ef490\"\u003e\u003ccode\u003e8c44240\u003c/code\u003e\u003c/a\u003e feat: Add TranslationConfig for live translation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/baeaeaa5ae89f9f0a987a8cac5ef61703593fbc4\"\u003e\u003ccode\u003ebaeaeaa\u003c/code\u003e\u003c/a\u003e feat: Add Agent Platform MCP support to async generate_content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/c1d3cb7bd100804437ca5c1c8d4d56dce881ef2d\"\u003e\u003ccode\u003ec1d3cb7\u003c/code\u003e\u003c/a\u003e chore: Internal cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/bd78ed331caeb1bd9d7322327f61a7dad9872e50\"\u003e\u003ccode\u003ebd78ed3\u003c/code\u003e\u003c/a\u003e chore: Fix relative import path in pagers.ts.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/2821346c85468d5fc18f95a5824583868548c6d8\"\u003e\u003ccode\u003e2821346\u003c/code\u003e\u003c/a\u003e chore(main): release 2.7.0 (\u003ca href=\"https://redirect.github.com/googleapis/js-genai/issues/1630\"\u003e#1630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/54a692b372fe6d5ab1340cd3ae4ea02a3a59e85c\"\u003e\u003ccode\u003e54a692b\u003c/code\u003e\u003c/a\u003e feat: additional computer_use field support for vertex.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/js-genai/compare/v1.46.0...v2.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003epreinstall\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vscode/copilot-api` from 0.2.18 to 0.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Microsoft/vscode-extension-telemetry/releases\"\u003e@​vscode/copilot-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eSmall perf improvements + new common property\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved an inefficient cleaning regex. Definitely recommend updating as this can cause unnecessarily high CPU usage.\u003c/li\u003e\n\u003cli\u003eAdded new common property \u003ccode\u003ecommon.nodeArch\u003c/code\u003e thanks to \u003ca href=\"https://github.com/radeksimko\"\u003e\u003ccode\u003e@​radeksimko\u003c/code\u003e\u003c/a\u003e. This will collect the system architecture to provide more insights into arm vs x86 system usage\u003c/li\u003e\n\u003cli\u003eUpdated build machine to Node LTS from Node 14.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdd telemetry caching\u003c/h2\u003e\n\u003cp\u003eWith the recent addition of lazy-loading it was possible to get into a state where logged telemetry wouldn't be sent due to the client not being ready. This releases adds caching which stores logged events created before the client is ready and then sends them once it is. Additionally, a larger refactor was done internally to reduce duplicated appender code.\u003c/p\u003e\n\u003ch2\u003eFix compatibility with old versions of VS Code\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix old version of VS Code not respecting telemetry setting\u003c/li\u003e\n\u003cli\u003eFix old version of VS Code throw with \u003ccode\u003eisNewAppInstall\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLazy loading\u003c/h2\u003e\n\u003cp\u003eAdds dynamic imports to the app insights modules so that when telemetry is off they don't load at all. Minor performance improvements might be seen when telemetry is off due to not loading these additional modules.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e This version bumped our target from ES6 to ES2020 due to these dynamic imports\u003c/p\u003e\n\u003ch2\u003e0.4\u003c/h2\u003e\n\u003cp\u003eremove peer dependency on vscode to allow using this module for extensions bundled inside vscode.\u003c/p\u003e\n\u003ch2\u003eSupport new telemetry settings\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVS Code has introduced \u003ccode\u003etelemetry.telemetryLevel\u003c/code\u003e for more granularity between turning off all telemetry and still allowing error telemetry. This update now supports and respects that setting.\u003c/li\u003e\n\u003cli\u003eAdd new common property \u003ccode\u003ecommon.product\u003c/code\u003e which says where VS Code is running, i.e. desktop, codespaces, github.dev\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBetter typings + More cleaning!\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd JS Doc comments to \u003ccode\u003e.d.ts\u003c/code\u003e file for intellisense\u003c/li\u003e\n\u003cli\u003eBetter cleaning of possibly leaked user data by looking for keywords such as key \u0026amp; token\u003c/li\u003e\n\u003cli\u003eLower target to Node 12 to support older extensions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFix Bad CI\u003c/h2\u003e\n\u003cp\u003eBad CI caused package to get published without any source files. This fixes that and publishes a fixed package\u003c/p\u003e\n\u003ch2\u003e0.3\u003c/h2\u003e\n\u003cp\u003eCritical fix for \u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/1\"\u003e#1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eDisable endpoint ping when telemetry is disabled\u003c/h2\u003e\n\u003cp\u003eThis release introduces some minor improvements to the package\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRedact \u003ccode\u003epasswd\u003c/code\u003e as well rather than just \u003ccode\u003epassword\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDon't ping the endpoint in web to test for adblock if telemetry is disabled as this may look like we're sending telemetry when we're not\u003c/li\u003e\n\u003cli\u003eAdded GitHub action + cleaned up build script to allow for automated release when a GitHub release is created\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Microsoft/vscode-extension-telemetry/commits/v0.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vscode/extension-telemetry` from 1.5.1 to 1.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Microsoft/vscode-extension-telemetry/releases\"\u003e@​vscode/extension-telemetry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.5.2\u003c/h2\u003e\n\u003ch2\u003eChanges:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/245\"\u003e#245\u003c/a\u003e: Update and explicitly list direct dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/243\"\u003e#243\u003c/a\u003e: npm update brace-expansion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/242\"\u003e#242\u003c/a\u003e: Bump flatted from 3.4.1 to 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/241\"\u003e#241\u003c/a\u003e: chore: migrate to ESLint 9 with flat config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/240\"\u003e#240\u003c/a\u003e: Bump minimatch from 3.1.2 to 3.1.5\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis list of changes was \u003ca href=\"https://dev.azure.com/monacotools/Monaco/_build/results?buildId=437454\u0026amp;view=logs\"\u003eauto generated\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/microsoft/vscode-extension-telemetry/commit/e33243f90eb20c49dd5464a7303414f3d3a181fc\"\u003e\u003ccode\u003ee33243f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/245\"\u003e#245\u003c/a\u003e from microsoft/updateAndAddExplicitDependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-extension-telemetry/commit/5c7de261ab79348fe9d7f29bb4d605347dbd9281\"\u003e\u003ccode\u003e5c7de26\u003c/code\u003e\u003c/a\u003e Update version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-extension-telemetry/commit/2e31d473f83d37e4ff88c1c44d2af70c3c564076\"\u003e\u003ccode\u003e2e31d47\u003c/code\u003e\u003c/a\u003e Update and explicitly list all dependencies.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-extension-telemetry/commit/31e45f23eca676b28a22f46690f0fe7208a5f4a4\"\u003e\u003ccode\u003e31e45f2\u003c/code\u003e\u003c/a\u003e npm update brace-expansion (\u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/243\"\u003e#243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-extension-telemetry/commit/5d142e32db5f2c31a6f971b9835d3676b47b01cd\"\u003e\u003ccode\u003e5d142e3\u003c/code\u003e\u003c/a\u003e Bump flatted from 3.4.1 to 3.4.2 (\u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/242\"\u003e#242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-extension-telemetry/commit/7d1752f8c104ad25af894cbd761b6cce6481f7a5\"\u003e\u003ccode\u003e7d1752f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/241\"\u003e#241\u003c/a\u003e from microsoft/copilot/migrate-to-eslint-9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-extension-telemetry/commit/8131abe1da9fde7989839210368a64fb59c1d061\"\u003e\u003ccode\u003e8131abe\u003c/code\u003e\u003c/a\u003e chore: migrate to ESLint 9 with flat config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-extension-telemetry/commit/71d0bac2f622c16c2e45066ed92dbfee662b0f99\"\u003e\u003ccode\u003e71d0bac\u003c/code\u003e\u003c/a\u003e Initial plan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-extension-telemetry/commit/9e420921554a4b451ce7eb50f556cc56ca634c39\"\u003e\u003ccode\u003e9e42092\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Microsoft/vscode-extension-telemetry/issues/240\"\u003e#240\u003c/a\u003e from microsoft/dependabot/npm_and_yarn/minimatch-3.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-extension-telemetry/commit/66b07a3112af4de001cdf966981cf0fe880525ca\"\u003e\u003ccode\u003e66b07a3\u003c/code\u003e\u003c/a\u003e Bump minimatch from 3.1.2 to 3.1.5\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Microsoft/vscode-extension-telemetry/compare/v1.5.1...v1.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ajv` from 8.18.0 to 8.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ajv-validator/ajv/releases\"\u003eajv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: add support for node 22/24, drop node 16/21 by \u003ca href=\"https://github.com/jasoniangreen\"\u003e\u003ccode\u003e@​jasoniangreen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ajv-validator/ajv/pull/2580\"\u003eajv-validator/ajv#2580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add ES2022.RegExp for RegExpIndicesArray by \u003ca href=\"https://github.com/SignpostMarv\"\u003e\u003ccode\u003e@​SignpostMarv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ajv-validator/ajv/pull/2604\"\u003eajv-validator/ajv#2604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ajv-validator/ajv/compare/v8.19.0...v8.20.0\"\u003ehttps://github.com/ajv-validator/ajv/compare/v8.19.0...v8.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev8.19.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix prototype pollution via format keyword using $data ref by \u003ca href=\"https://github.com/epoberezkin\"\u003e\u003ccode\u003e@​epoberezkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ajv-validator/ajv/pull/2607\"\u003eajv-validator/ajv#2607\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ajv-validator/ajv/compare/v8.18.0...v8.19.0\"\u003ehttps://github.com/ajv-validator/ajv/compare/v8.18.0...v8.19.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/0fba0b8e649909613cfce0999b149cd08f4a4987\"\u003e\u003ccode\u003e0fba0b8\u003c/code\u003e\u003c/a\u003e 8.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/9caf8d64409b05e2c670b3ff09cf7ca07937342e\"\u003e\u003ccode\u003e9caf8d6\u003c/code\u003e\u003c/a\u003e fix: add ES2022.RegExp for RegExpIndicesArray; fixes \u003ca href=\"https://redirect.github.com/ajv-validator/ajv/issues/2603\"\u003eajv-validator/ajv#2603\u003c/a\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/206535071f776f57737394c8896d4b2dc2bfb9a3\"\u003e\u003ccode\u003e2065350\u003c/code\u003e\u003c/a\u003e fix: add support for node 22/24, drop node 16/21 (\u003ca href=\"https://redirect.github.com/ajv-validator/ajv/issues/2580\"\u003e#2580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/154b58d690c6596e09ca676e12720ab8234ee3d2\"\u003e\u003ccode\u003e154b58d\u003c/code\u003e\u003c/a\u003e 8.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/e8d2bdc501b3ba6f03922db5e595770d4763d9da\"\u003e\u003ccode\u003ee8d2bdc\u003c/code\u003e\u003c/a\u003e test/fix prototype pollution via $data ref with format keyword (\u003ca href=\"https://redirect.github.com/ajv-validator/ajv/issues/2607\"\u003e#2607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ajv-validator/ajv/compare/v8.18.0...v8.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `diff` from 8.0.3 to 9.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kpdecker/jsdiff/blob/master/release-notes.md\"\u003ediff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.0\u003c/h2\u003e\n\u003cp\u003e(All changes part of PR \u003ca href=\"https://redirect.github.com/kpdecker/jsdiff/pull/672\"\u003e#672\u003c/a\u003e.)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eES5 support is dropped\u003c/strong\u003e. \u003ccode\u003eparsePatch\u003c/code\u003e now uses \u003ccode\u003eTextDecoder\u003c/code\u003e and \u003ccode\u003eUint8Array\u003c/code\u003e, which are not available in ES5, and TypeScript is now compiled with the \u0026quot;es6\u0026quot; \u003ccode\u003etarget\u003c/code\u003e. From now on, I intend to freely use any features that are deemed \u0026quot;Widely available\u0026quot; by \u003ca href=\"https://web.dev/baseline\"\u003eBaseline\u003c/a\u003e. Users who need ES5 support should stick to version 8.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eC-style quoted strings in filename headers are now properly supported\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eWhen the name of either the old or new file in a patch contains \u0026quot;special characters\u0026quot;, both GNU \u003ccode\u003ediff\u003c/code\u003e and Git quote the filename in the patch's headers and escape special characters using the same escape sequences that are used in string literals in C, including octal escapes for all non-ASCII characters. Previously, jsdiff had very little support for this; \u003ccode\u003eparsePatch\u003c/code\u003e would remove the quotes, and unescape any escaped backslashes, but would not unescape other escape sequences. \u003ccode\u003eformatPatch\u003c/code\u003e, meanwhile, did not quote or escape special characters at all.\u003c/p\u003e\n\u003cp\u003eNow, \u003ccode\u003eparsePatch\u003c/code\u003e parses all the possible escape sequences that GNU diff (or Git) ever output, and \u003ccode\u003eformatPatch\u003c/code\u003e quotes and escapes filenames containing special characters in the same way GNU diff does.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eformatPatch\u003c/code\u003e now omits file headers when \u003ccode\u003eoldFileName\u003c/code\u003e or \u003ccode\u003enewFileName\u003c/code\u003e in the provided patch object are \u003ccode\u003eundefined\u003c/code\u003e\u003c/strong\u003e, regardless of the \u003ccode\u003eheaderOptions\u003c/code\u003e parameter. (Previously, it would treat the absence of \u003ccode\u003eoldFileName\u003c/code\u003e or \u003ccode\u003enewFileName\u003c/code\u003e as indicating the filename was the word \u0026quot;undefined\u0026quot; and emit headers \u003ccode\u003e--- undefined\u003c/code\u003e / \u003ccode\u003e+++ undefined\u003c/code\u003e.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eformatPatch\u003c/code\u003e no longer outputs trailing tab characters at the end of \u003ccode\u003e---\u003c/code\u003e/\u003ccode\u003e+++\u003c/code\u003e headers.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, if \u003ccode\u003eformatPatch\u003c/code\u003e was passed a patch object to serialize that had empty strings for the \u003ccode\u003eoldHeader\u003c/code\u003e or \u003ccode\u003enewHeader\u003c/code\u003e property, it would include a trailing tab character after the filename in the \u003ccode\u003e---\u003c/code\u003e and/or \u003ccode\u003e+++\u003c/code\u003e file header. Now, this scenario is treated the same as when \u003ccode\u003eoldHeader\u003c/code\u003e/\u003ccode\u003enewHeader\u003c/code\u003e is \u003ccode\u003eundefined\u003c/code\u003e - i.e. the trailing tab is omitted.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eformatPatch\u003c/code\u003e no longer mutates its input\u003c/strong\u003e when serializing a patch containing a hunk where either the old or new content contained zero lines. (Such a hunk occurs only when the hunk has no context lines and represents a pure insertion or pure deletion, which for instance will occur whenever one of the two files being diffed is completely empty.) Previously \u003ccode\u003eformatPatch\u003c/code\u003e would provide the correct output but also mutate the \u003ccode\u003eoldLines\u003c/code\u003e or \u003ccode\u003enewLines\u003c/code\u003e property on the hunk, changing the meaning of the underlying patch.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eGit-style patches are now supported by \u003ccode\u003eparsePatch\u003c/code\u003e, \u003ccode\u003eformatPatch\u003c/code\u003e, and \u003ccode\u003ereversePatch\u003c/code\u003e\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003ePatches output by \u003ccode\u003egit diff\u003c/code\u003e can include some features that are unlike those output by GNU \u003ccode\u003ediff\u003c/code\u003e, and therefore not handled by an ordinary unified diff format parser. An ordinary diff simply describes the differences between the \u003cem\u003econtent\u003c/em\u003e of two files, but Git diffs can also indicate, via \u0026quot;extended headers\u0026quot;, the creation or deletion of (potentially empty) files, indicate that a file was renamed, and contain information about file mode changes. Furthermore, when these changes appear in a diff in the absence of a content change (e.g. when an empty file is created, or a file is renamed without content changes), the patch will contain no associated \u003ccode\u003e---\u003c/code\u003e/\u003ccode\u003e+++\u003c/code\u003e file headers nor any hunks.\u003c/p\u003e\n\u003cp\u003ejsdiff previously did not support parsing Git's extended headers, nor hunkless patches. Now \u003ccode\u003eparsePatch\u003c/code\u003e parses some of the extended headers, parses hunkless Git patches, and can determine filenames (e.g. from the extended headers) when parsing a patch that includes no \u003ccode\u003e---\u003c/code\u003e or \u003ccode\u003e+++\u003c/code\u003e file headers. The additional information conveyed by the extended headers we support is recorded on new fields on the result object returned by \u003ccode\u003eparsePatch\u003c/code\u003e. See \u003ccode\u003eisGit\u003c/code\u003e and subsequent properties in the docs in the README.md file.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eformatPatch\u003c/code\u003e now outputs extended headers based on these new Git-specific properties, and \u003ccode\u003ereversePatch\u003c/code\u003e respects them as far as possible (with one unavoid...\n\n_Description has been truncated_","html_url":"https://github.com/johnohhh1/ollama-code/pull/28","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnohhh1%2Follama-code/issues/28","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/28/packages"}},{"old_version":"19.0.5","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-06-08T02:26:06.000Z","version_change":"19.0.5 → 22.0.0","issue":{"uuid":"4609582139","node_id":"PR_kwDOSJqA0s7ju249","number":6,"state":"open","title":"deps: bump the development-dependencies group with 8 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T02:26:06.000Z","updated_at":"2026-06-08T02:26:07.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"development-dependencies","update_count":8,"packages":[{"name":"@types/node","old_version":"25.6.0","new_version":"25.9.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/vscode","old_version":"1.107.0","new_version":"1.120.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vscode/vsce","old_version":"3.9.1","new_version":"3.9.2","repository_url":"https://github.com/Microsoft/vsce"},{"name":"c8","old_version":"10.1.3","new_version":"11.0.0","repository_url":"https://github.com/bcoe/c8"},{"name":"eslint","old_version":"9.39.4","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-config-prettier","old_version":"9.1.2","new_version":"10.1.8","repository_url":"https://github.com/prettier/eslint-config-prettier"},{"name":"mocha","old_version":"11.7.5","new_version":"11.7.6","repository_url":"https://github.com/mochajs/mocha"},{"name":"sinon","old_version":"19.0.5","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.0` | `25.9.2` |\n| [@types/vscode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/vscode) | `1.107.0` | `1.120.0` |\n| [@vscode/vsce](https://github.com/Microsoft/vsce) | `3.9.1` | `3.9.2` |\n| [c8](https://github.com/bcoe/c8) | `10.1.3` | `11.0.0` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.4` | `10.4.1` |\n| [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) | `9.1.2` | `10.1.8` |\n| [mocha](https://github.com/mochajs/mocha) | `11.7.5` | `11.7.6` |\n| [sinon](https://github.com/sinonjs/sinon) | `19.0.5` | `22.0.0` |\n\nUpdates `@types/node` from 25.6.0 to 25.9.2\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 `@types/vscode` from 1.107.0 to 1.120.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/vscode\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vscode/vsce` from 3.9.1 to 3.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Microsoft/vsce/releases\"\u003e@​vscode/vsce's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.9.2\u003c/h2\u003e\n\u003ch2\u003eChanges:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1283\"\u003e#1283\u003c/a\u003e: fix: skip APIScan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1282\"\u003e#1282\u003c/a\u003e: chore: bump CI to Node 22 and fix build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1279\"\u003e#1279\u003c/a\u003e: Bump the \u003ccode\u003euuid\u003c/code\u003e test fixture version to \u003ccode\u003e100.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1278\"\u003e#1278\u003c/a\u003e: Bump tmp from 0.2.4 to 0.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1277\"\u003e#1277\u003c/a\u003e: Bump qs from 6.14.2 to 6.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1276\"\u003e#1276\u003c/a\u003e: Bump uuid and \u003ccode\u003e@​azure/msal-node\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1274\"\u003e#1274\u003c/a\u003e: Run npm audit fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1272\"\u003e#1272\u003c/a\u003e: Bump fast-uri from 3.0.6 to 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1267\"\u003e#1267\u003c/a\u003e: Bump minimatch from 10.2.2 to 10.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1247\"\u003e#1247\u003c/a\u003e: Update minimatch dependency to v10\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis list of changes was \u003ca href=\"https://dev.azure.com/monacotools/Monaco/_build/results?buildId=444641\u0026amp;view=logs\"\u003eauto generated\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev3.9.2-4\u003c/h2\u003e\n\u003ch2\u003eChanges:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1283\"\u003e#1283\u003c/a\u003e: fix: skip APIScan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1282\"\u003e#1282\u003c/a\u003e: chore: bump CI to Node 22 and fix build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1279\"\u003e#1279\u003c/a\u003e: Bump the \u003ccode\u003euuid\u003c/code\u003e test fixture version to \u003ccode\u003e100.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1278\"\u003e#1278\u003c/a\u003e: Bump tmp from 0.2.4 to 0.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1277\"\u003e#1277\u003c/a\u003e: Bump qs from 6.14.2 to 6.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1276\"\u003e#1276\u003c/a\u003e: Bump uuid and \u003ccode\u003e@​azure/msal-node\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis list of changes was \u003ca href=\"https://dev.azure.com/monacotools/Monaco/_build/results?buildId=444633\u0026amp;view=logs\"\u003eauto generated\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev3.9.2-3\u003c/h2\u003e\n\u003ch2\u003eChanges:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1274\"\u003e#1274\u003c/a\u003e: Run npm audit fix\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis list of changes was \u003ca href=\"https://dev.azure.com/monacotools/Monaco/_build/results?buildId=439213\u0026amp;view=logs\"\u003eauto generated\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev3.9.2-2\u003c/h2\u003e\n\u003ch2\u003eChanges:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1272\"\u003e#1272\u003c/a\u003e: Bump fast-uri from 3.0.6 to 3.1.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis list of changes was \u003ca href=\"https://dev.azure.com/monacotools/Monaco/_build/results?buildId=437853\u0026amp;view=logs\"\u003eauto generated\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/f7501f20f101efe79aaf8e3dd2831c17313866d1\"\u003e\u003ccode\u003ef7501f2\u003c/code\u003e\u003c/a\u003e fix: skip APIScan (\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1283\"\u003e#1283\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/7cd3244a20fddd6bc4e27de95bf1a25e31c7e5ac\"\u003e\u003ccode\u003e7cd3244\u003c/code\u003e\u003c/a\u003e chore: bump CI to Node 22 and fix build (\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1282\"\u003e#1282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/df1a68ebee505a6689482194d9e45a3b71bdcc66\"\u003e\u003ccode\u003edf1a68e\u003c/code\u003e\u003c/a\u003e Bump the \u003ccode\u003euuid\u003c/code\u003e test fixture version to \u003ccode\u003e100.0.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/3a5786ecd97f48696705e84b869599278596a1b0\"\u003e\u003ccode\u003e3a5786e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1278\"\u003e#1278\u003c/a\u003e from microsoft/dependabot/npm_and_yarn/tmp-0.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/4954e081efa832d254601bd560a1b8bb65059a77\"\u003e\u003ccode\u003e4954e08\u003c/code\u003e\u003c/a\u003e Bump tmp from 0.2.4 to 0.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/54dce879966ddfa8b4c2d2b7f67d2019f0b02096\"\u003e\u003ccode\u003e54dce87\u003c/code\u003e\u003c/a\u003e Bump qs from 6.14.2 to 6.15.2 (\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1277\"\u003e#1277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/86fc2d6153161663acbe0c7a059dea8291e2ce7c\"\u003e\u003ccode\u003e86fc2d6\u003c/code\u003e\u003c/a\u003e Bump uuid and \u003ccode\u003e@​azure/msal-node\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1276\"\u003e#1276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/4699582ee0950c9c614aa54888811aa108c1ab1a\"\u003e\u003ccode\u003e4699582\u003c/code\u003e\u003c/a\u003e Run npm audit fix and update lockfile (\u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1274\"\u003e#1274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/e003a0aec0e116b1b500ab3585535613c8f65a32\"\u003e\u003ccode\u003ee003a0a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Microsoft/vsce/issues/1272\"\u003e#1272\u003c/a\u003e from microsoft/dependabot/npm_and_yarn/fast-uri-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/vscode-vsce/commit/74ab7a9049c9881e74cbc9966c83f90743434cd6\"\u003e\u003ccode\u003e74ab7a9\u003c/code\u003e\u003c/a\u003e Bump fast-uri from 3.0.6 to 3.1.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Microsoft/vsce/compare/v3.9.1...v3.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `c8` from 10.1.3 to 11.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcoe/c8/releases\"\u003ec8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.0.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/bcoe/c8/compare/v10.1.3...v11.0.0\"\u003e11.0.0\u003c/a\u003e (2026-02-22)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e transitive deps require 20 || \u0026gt;=22\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e pull newer minimatch addressing CVE-2026-26996 (\u003ca href=\"https://redirect.github.com/bcoe/c8/issues/576\"\u003e#576\u003c/a\u003e) (\u003ca href=\"https://github.com/bcoe/c8/commit/678eeca3310a5bb260c4cf5d5fe7cec4f7f20726\"\u003e678eeca\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/bcoe/c8/blob/main/CHANGELOG.md\"\u003ec8's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/bcoe/c8/compare/v10.1.3...v11.0.0\"\u003e11.0.0\u003c/a\u003e (2026-02-22)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e transitive deps require 20 || \u0026gt;=22\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e pull newer minimatch addressing CVE-2026-26996 (\u003ca href=\"https://redirect.github.com/bcoe/c8/issues/576\"\u003e#576\u003c/a\u003e) (\u003ca href=\"https://github.com/bcoe/c8/commit/678eeca3310a5bb260c4cf5d5fe7cec4f7f20726\"\u003e678eeca\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/bcoe/c8/commit/ce78df45a7db7d59f7e656e79b03b8323e20e606\"\u003e\u003ccode\u003ece78df4\u003c/code\u003e\u003c/a\u003e chore(main): release 11.0.0 (\u003ca href=\"https://redirect.github.com/bcoe/c8/issues/577\"\u003e#577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcoe/c8/commit/678eeca3310a5bb260c4cf5d5fe7cec4f7f20726\"\u003e\u003ccode\u003e678eeca\u003c/code\u003e\u003c/a\u003e fix(deps)!: pull newer minimatch addressing CVE-2026-26996 (\u003ca href=\"https://redirect.github.com/bcoe/c8/issues/576\"\u003e#576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcoe/c8/commit/ec4c5e4bb172f90f06b7a84ba42d6c89b145a8cc\"\u003e\u003ccode\u003eec4c5e4\u003c/code\u003e\u003c/a\u003e chore: .editorconfig to avoid unintended mods to .snap files (\u003ca href=\"https://redirect.github.com/bcoe/c8/issues/556\"\u003e#556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bcoe/c8/compare/v10.1.3...v11.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 9.39.4 to 10.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e) (Minh Vu)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c5bc78b37e08b9054a11f0cc2d81808bb24acb85\"\u003e\u003ccode\u003ec5bc78b\u003c/code\u003e\u003c/a\u003e fix: false positive for reference in \u003ccode\u003efinally\u003c/code\u003e block (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20655\"\u003e#20655\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/27538c01f5df4e9306f6f4ba867b2dd6307fae59\"\u003e\u003ccode\u003e27538c0\u003c/code\u003e\u003c/a\u003e fix: add missing CodePath and CodePathSegment types (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20853\"\u003e#20853\u003c/a\u003e) (Pixel998)\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/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/305d5b91aeac24d36fde42f75625a8f183d4ce43\"\u003e\u003ccode\u003e305d5b9\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rules from related rules section (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20911\"\u003e#20911\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c\"\u003e\u003ccode\u003e49b0202\u003c/code\u003e\u003c/a\u003e docs: fix \u003ccode\u003edisplay: none\u003c/code\u003e of ad (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20901\"\u003e#20901\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9067f9492ec998afc5b4f057a477ecf6ebd45e44\"\u003e\u003ccode\u003e9067f94\u003c/code\u003e\u003c/a\u003e docs: switch build to Node.js 24 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20893\"\u003e#20893\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c91b0417e3420c76807ce1fa2aea76e2de87ab86\"\u003e\u003ccode\u003ec91b041\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/e349265cb37f3ebc837e178e48a725bb782bd870\"\u003e\u003ccode\u003ee349265\u003c/code\u003e\u003c/a\u003e docs: clarify semver strings in rule deprecation objects (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20885\"\u003e#20885\u003c/a\u003e) (Milos Djermanovic)\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/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20922\"\u003e#20922\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e) (Arpit Jain)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b\"\u003e\u003ccode\u003e64bca24\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20912\"\u003e#20912\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56\"\u003e\u003ccode\u003e6d7c832\u003c/code\u003e\u003c/a\u003e chore: ignore fflate updates in renovate (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20908\"\u003e#20908\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b2c86382164d87c6203b78d52068cd6a2a6ffe30\"\u003e\u003ccode\u003eb2c8638\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.7 to 6.0.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20889\"\u003e#20889\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a9b8d7f74c50211701cfc49710fa541fd91b2aa5\"\u003e\u003ccode\u003ea9b8d7f\u003c/code\u003e\u003c/a\u003e chore: increase maxBuffer for ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20881\"\u003e#20881\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b702ead5e1ed7cb9f28238a454797662efb37396\"\u003e\u003ccode\u003eb702ead\u003c/code\u003e\u003c/a\u003e chore: update ecosystem update PR settings (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20884\"\u003e#20884\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/507f60e9a78c9a902bc8759f066ae17a1ea6cd81\"\u003e\u003ccode\u003e507f60e\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20882\"\u003e#20882\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92f5c5bb6bf3a5d167c8ee53a430833410295c6d\"\u003e\u003ccode\u003e92f5c5b\u003c/code\u003e\u003c/a\u003e test: add unit test for message-count (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20878\"\u003e#20878\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/df321080af5758b1fa25e4b9a40e26135642dd6e\"\u003e\u003ccode\u003edf32108\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003e@​eslint/markdown\u003c/code\u003e and typescript-eslint ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20837\"\u003e#20837\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/327f91d36aa49f2a50ded931d841a16374fd875f\"\u003e\u003ccode\u003e327f91d\u003c/code\u003e\u003c/a\u003e chore: use includeIgnoreFile internally (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20876\"\u003e#20876\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f0dc4bd893fb3a9f44e4ddc3ad7063ffb0beacd3\"\u003e\u003ccode\u003ef0dc4bd\u003c/code\u003e\u003c/a\u003e chore: pin fflate@0.8.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20877\"\u003e#20877\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0f4bd257a67a082b756de746d9e0c4842ab764ca\"\u003e\u003ccode\u003e0f4bd25\u003c/code\u003e\u003c/a\u003e ci: run Discord alert for ecosystem test failures (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20873\"\u003e#20873\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.4.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf\"\u003e\u003ccode\u003e1a45ec5\u003c/code\u003e\u003c/a\u003e feat: check sequence expressions in \u003ccode\u003efor-direction\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20701\"\u003e#20701\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b\"\u003e\u003ccode\u003e450040b\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to \u003ccode\u003eeslint/config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20735\"\u003e#20735\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c\"\u003e\u003ccode\u003e6799431\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-helpers\u003c/code\u003e to ^0.6.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20850\"\u003e#20850\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd\"\u003e\u003ccode\u003ef078fef\u003c/code\u003e\u003c/a\u003e fix: handle non-array deprecated rule replacements (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20825\"\u003e#20825\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f\"\u003e\u003ccode\u003e9cc7387\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5\"\u003e\u003ccode\u003e3d7b548\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb\"\u003e\u003ccode\u003e191ec3c\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/4a3d15a99c452c4db2fd56b577fa7597e98ab0c2\"\u003e\u003ccode\u003e4a3d15a\u003c/code\u003e\u003c/a\u003e 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43e7e2bdc5c6cacc535446b7d23c10f780384ba8\"\u003e\u003ccode\u003e43e7e2b\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20\"\u003e#20\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v9.39.4...v10.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-config-prettier` from 9.1.2 to 10.1.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/eslint-config-prettier/releases\"\u003eeslint-config-prettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.1.8\u003c/h2\u003e\n\u003cp\u003erepublish latest version\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prettier/eslint-config-prettier/compare/v10.1.5...v10.1.8\"\u003ehttps://github.com/prettier/eslint-config-prettier/compare/v10.1.5...v10.1.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev10.1.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/332\"\u003e#332\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/60fef02574467d31d10ff47ecb567d378483c9d4\"\u003e\u003ccode\u003e60fef02\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: add \u003ccode\u003efunding\u003c/code\u003e field into \u003ccode\u003epackage.json\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prettier/eslint-config-prettier/compare/v10.1.4...v10.1.5\"\u003ehttps://github.com/prettier/eslint-config-prettier/compare/v10.1.4...v10.1.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev10.1.4\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/328\"\u003e#328\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/94b47999e7eb13b703835729331376cef598b850\"\u003e\u003ccode\u003e94b4799\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/silvenon\"\u003e\u003ccode\u003e@​silvenon\u003c/code\u003e\u003c/a\u003e! - fix(cli): do not crash on no rules configured\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prettier/eslint-config-prettier/compare/v10.1.3...v10.1.4\"\u003ehttps://github.com/prettier/eslint-config-prettier/compare/v10.1.3...v10.1.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev10.1.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/325\"\u003e#325\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/4e95a1d50073f1a24f004239ad6e1a4ffa8476df\"\u003e\u003ccode\u003e4e95a1d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/pilikan\"\u003e\u003ccode\u003e@​pilikan\u003c/code\u003e\u003c/a\u003e! - fix: this package is \u003ccode\u003ecommonjs\u003c/code\u003e, align its types correctly\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pilikan\"\u003e\u003ccode\u003e@​pilikan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/325\"\u003eprettier/eslint-config-prettier#325\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/prettier/eslint-config-prettier/compare/v10.1.2...v10.1.3\"\u003ehttps://github.com/prettier/eslint-config-prettier/compare/v10.1.2...v10.1.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev10.1.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/321\"\u003e#321\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/a8768bfe54a91d08f0cef8705f91de2883436bb0\"\u003e\u003ccode\u003ea8768bf\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e! - chore(package): add homepage for some 3rd-party registry - see \u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/321\"\u003e#321\u003c/a\u003e for more details\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.1.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/prettier/eslint-config-prettier/pull/309\"\u003e#309\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/eb56a5e09964e49045bccde3c616275eb0a0902d\"\u003e\u003ccode\u003eeb56a5e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - fix: separate the \u003ccode\u003e/flat\u003c/code\u003e entry for compatibility\u003c/p\u003e\n\u003cp\u003eFor flat config users, the previous \u003ccode\u003e\u0026quot;eslint-config-prettier\u0026quot;\u003c/code\u003e entry still works, but \u003ccode\u003e\u0026quot;eslint-config-prettier/flat\u0026quot;\u003c/code\u003e adds a new \u003ccode\u003ename\u003c/code\u003e property for \u003ca href=\"https://eslint.org/blog/2024/04/eslint-config-inspector/\"\u003econfig-inspector\u003c/a\u003e, we just can't add it for the default entry for compatibility.\u003c/p\u003e\n\u003cp\u003eSee also \u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/issues/308\"\u003eprettier/eslint-config-prettier#308\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003e// before\nimport eslintConfigPrettier from \u0026quot;eslint-config-prettier\u0026quot;;\n\u003cp\u003e// after\u003cbr /\u003e\nimport eslintConfigPrettier from \u0026quot;eslint-config-prettier/flat\u0026quot;;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md\"\u003eeslint-config-prettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eeslint-config-prettier\u003c/h1\u003e\n\u003ch2\u003e10.1.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/332\"\u003e#332\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/60fef02574467d31d10ff47ecb567d378483c9d4\"\u003e\u003ccode\u003e60fef02\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: add \u003ccode\u003efunding\u003c/code\u003e field into \u003ccode\u003epackage.json\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.1.4\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/328\"\u003e#328\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/94b47999e7eb13b703835729331376cef598b850\"\u003e\u003ccode\u003e94b4799\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/silvenon\"\u003e\u003ccode\u003e@​silvenon\u003c/code\u003e\u003c/a\u003e! - fix(cli): do not crash on no rules configured\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.1.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/325\"\u003e#325\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/4e95a1d50073f1a24f004239ad6e1a4ffa8476df\"\u003e\u003ccode\u003e4e95a1d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/pilikan\"\u003e\u003ccode\u003e@​pilikan\u003c/code\u003e\u003c/a\u003e! - fix: this package is \u003ccode\u003ecommonjs\u003c/code\u003e, align its types correctly\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.1.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/321\"\u003e#321\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/a8768bfe54a91d08f0cef8705f91de2883436bb0\"\u003e\u003ccode\u003ea8768bf\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e! - chore(package): add homepage for some 3rd-party registry - see \u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/321\"\u003e#321\u003c/a\u003e for more details\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.1.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/prettier/eslint-config-prettier/pull/309\"\u003e#309\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/eb56a5e09964e49045bccde3c616275eb0a0902d\"\u003e\u003ccode\u003eeb56a5e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - fix: separate the \u003ccode\u003e/flat\u003c/code\u003e entry for compatibility\u003c/p\u003e\n\u003cp\u003eFor flat config users, the previous \u003ccode\u003e\u0026quot;eslint-config-prettier\u0026quot;\u003c/code\u003e entry still works, but \u003ccode\u003e\u0026quot;eslint-config-prettier/flat\u0026quot;\u003c/code\u003e adds a new \u003ccode\u003ename\u003c/code\u003e property for \u003ca href=\"https://eslint.org/blog/2024/04/eslint-config-inspector/\"\u003econfig-inspector\u003c/a\u003e, we just can't add it for the default entry for compatibility.\u003c/p\u003e\n\u003cp\u003eSee also \u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/issues/308\"\u003eprettier/eslint-config-prettier#308\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003e// before\nimport eslintConfigPrettier from \u0026quot;eslint-config-prettier\u0026quot;;\n\u003cp\u003e// after\u003cbr /\u003e\nimport eslintConfigPrettier from \u0026quot;eslint-config-prettier/flat\u0026quot;;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.1.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-config-prettier/pull/306\"\u003e#306\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-config-prettier/commit/56e2e3466391d0fdfc200e42130309c687aaab53\"\u003e\u003ccode\u003e56e2e34\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - feat: migrate to exports field\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/prettier/eslint-config-prettier/commits/v10.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mocha` from 11.7.5 to 11.7.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mochajs/mocha/releases\"\u003emocha's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.7.6\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mochajs/mocha/compare/v11.7.5...v11.7.6\"\u003e11.7.6\u003c/a\u003e (2026-02-14)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emake \u003ccode\u003edescribe().timeout()\u003c/code\u003e work (\u003ca href=\"https://github.com/mochajs/mocha/commit/aafe6fd8c8f0a897c35cfb228aa8ecf43805b697\"\u003eaafe6fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etest:\u003c/strong\u003e replace \u003ccode\u003ewmic\u003c/code\u003e usage with native Windows API (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5694\"\u003e#5694\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/73ebdfadb95198704ca57ec8087d97f7f3a7a37a\"\u003e73ebdfa\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eformat all code (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5629\"\u003e#5629\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/0696784dd2d7f9b11471acd5854603fa57fe6fab\"\u003e0696784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove Netlify (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5630\"\u003e#5630\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/8d01d335becbcb12439328be90ce75351418d787\"\u003e8d01d33\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/mochajs/mocha/blob/v11.7.6/CHANGELOG.md\"\u003emocha's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mochajs/mocha/compare/v11.7.5...v11.7.6\"\u003e11.7.6\u003c/a\u003e (2026-02-14)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emake \u003ccode\u003edescribe().timeout()\u003c/code\u003e work (\u003ca href=\"https://github.com/mochajs/mocha/commit/aafe6fd8c8f0a897c35cfb228aa8ecf43805b697\"\u003eaafe6fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etest:\u003c/strong\u003e replace \u003ccode\u003ewmic\u003c/code\u003e usage with native Windows API (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5694\"\u003e#5694\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/73ebdfadb95198704ca57ec8087d97f7f3a7a37a\"\u003e73ebdfa\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eformat all code (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5629\"\u003e#5629\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/0696784dd2d7f9b11471acd5854603fa57fe6fab\"\u003e0696784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove Netlify (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5630\"\u003e#5630\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/8d01d335becbcb12439328be90ce75351418d787\"\u003e8d01d33\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/mochajs/mocha/commit/3765ba0d9bd9e8918405b681991b982d3f8d4d7e\"\u003e\u003ccode\u003e3765ba0\u003c/code\u003e\u003c/a\u003e chore(v11.x): release 11.7.6 (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5632\"\u003e#5632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mochajs/mocha/commit/73ebdfadb95198704ca57ec8087d97f7f3a7a37a\"\u003e\u003ccode\u003e73ebdfa\u003c/code\u003e\u003c/a\u003e fix(test): replace \u003ccode\u003ewmic\u003c/code\u003e usage with native Windows API (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5694\"\u003e#5694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mochajs/mocha/commit/aafe6fd8c8f0a897c35cfb228aa8ecf43805b697\"\u003e\u003ccode\u003eaafe6fd\u003c/code\u003e\u003c/a\u003e fix: make \u003ccode\u003edescribe().timeout()\u003c/code\u003e work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mochajs/mocha/commit/0696784dd2d7f9b11471acd5854603fa57fe6fab\"\u003e\u003ccode\u003e0696784\u003c/code\u003e\u003c/a\u003e chore: format all code (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5629\"\u003e#5629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mochajs/mocha/commit/8d01d335becbcb12439328be90ce75351418d787\"\u003e\u003ccode\u003e8d01d33\u003c/code\u003e\u003c/a\u003e chore: remove Netlify (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5630\"\u003e#5630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mochajs/mocha/compare/v11.7.5...v11.7.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 19.0.5 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v19.0.5...v22.0.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/GJYNBB/cursor-ime-hud/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/GJYNBB%2Fcursor-ime-hud/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"}},{"old_version":"21.0.1","new_version":"22.0.0","update_type":"major","path":"/vscode","pr_created_at":"2026-06-08T01:52:15.000Z","version_change":"21.0.1 → 22.0.0","issue":{"uuid":"4609472760","node_id":"PR_kwDOPiz4t87jug9Y","number":29,"state":"open","title":"build(deps-dev): bump sinon from 21.0.1 to 22.0.0 in /vscode","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-06-08T01:52:15.000Z","updated_at":"2026-06-08T01:52:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"sinon","old_version":"21.0.1","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"}],"path":"/vscode","ecosystem":"npm"},"body":"Bumps [sinon](https://github.com/sinonjs/sinon) from 21.0.1 to 22.0.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.0.1...v22.0.0\"\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=sinon\u0026package-manager=npm_and_yarn\u0026previous-version=21.0.1\u0026new-version=22.0.0)](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/tabrezahmed51/microsoft_kiota_sdk_opensource_0118/pull/29","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tabrezahmed51%2Fmicrosoft_kiota_sdk_opensource_0118/issues/29","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/29/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-06-05T23:15:15.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4600787369","node_id":"PR_kwDOSRkiy87jTHkk","number":30,"state":"closed","title":"Bump the dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-12T23:14:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-05T23:15:15.000Z","updated_at":"2026-06-12T23:14:51.000Z","time_to_close":604775,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":12,"packages":[{"name":"@opentelemetry/exporter-prometheus","old_version":"0.215.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"ioredis","old_version":"5.10.1","new_version":"5.11.1","repository_url":"https://github.com/luin/ioredis"},{"name":"js-yaml","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"qs","old_version":"6.15.1","new_version":"6.15.2","repository_url":"https://github.com/ljharb/qs"},{"name":"sql-formatter","old_version":"15.7.3","new_version":"15.8.1","repository_url":"https://github.com/sql-formatter-org/sql-formatter"},{"name":"@bufbuild/buf","old_version":"1.68.4","new_version":"1.70.0","repository_url":"https://github.com/bufbuild/buf"},{"name":"@testcontainers/postgresql","old_version":"11.14.0","new_version":"12.0.1","repository_url":"https://github.com/testcontainers/testcontainers-node"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"tar","old_version":"7.5.13","new_version":"7.5.16","repository_url":"https://github.com/isaacs/node-tar"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 11 updates in the /rest directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@opentelemetry/exporter-prometheus](https://github.com/open-telemetry/opentelemetry-js) | `0.215.0` | `0.218.0` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.1` | `5.11.1` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `4.1.1` | `4.2.0` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [qs](https://github.com/ljharb/qs) | `6.15.1` | `6.15.2` |\n| [sql-formatter](https://github.com/sql-formatter-org/sql-formatter) | `15.7.3` | `15.8.1` |\n| [@bufbuild/buf](https://github.com/bufbuild/buf) | `1.68.4` | `1.70.0` |\n| [@testcontainers/postgresql](https://github.com/testcontainers/testcontainers-node) | `11.14.0` | `12.0.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |\n| [tar](https://github.com/isaacs/node-tar) | `7.5.13` | `7.5.16` |\n\n\nUpdates `@opentelemetry/exporter-prometheus` from 0.215.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/exporter-prometheus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.215.0...experimental/v0.218.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/sdk-metrics` from 2.7.0 to 2.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-metrics's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.7.1\u003c/h2\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(sdk-metrics): reduce loop overhead in sdk hot paths \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6593\"\u003e#6593\u003c/a\u003e \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md\"\u003e@​opentelemetry/sdk-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: test Node.js 26 in CI \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6671\"\u003e#6671\u003c/a\u003e \u003ca href=\"https://github.com/cjihrig\"\u003e\u003ccode\u003e@​cjihrig\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7\"\u003e\u003ccode\u003e2400d83\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6647\"\u003e#6647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f7a9b7cc854232ebf7dea2d3ec0d6adc49128f53\"\u003e\u003ccode\u003ef7a9b7c\u003c/code\u003e\u003c/a\u003e fix(otlp-transformer): pin protobufjs to 8.0.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6646\"\u003e#6646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/cb38d7f833781c336c990757f773ce9c8360434a\"\u003e\u003ccode\u003ecb38d7f\u003c/code\u003e\u003c/a\u003e test(otlp-transformer): add metrics transfrom benchmark (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6628\"\u003e#6628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a28f12fef5fbdfb3b77a1334175b752883ef708a\"\u003e\u003ccode\u003ea28f12f\u003c/code\u003e\u003c/a\u003e fix(opentelemetry-core): defer tracestate vaidation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6459\"\u003e#6459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b27c5146ac21deb3fb1e8fca370d34f1828f3cc6\"\u003e\u003ccode\u003eb27c514\u003c/code\u003e\u003c/a\u003e refactor(opentelemetry-exporter-prometheus): do not call `enforcePrometheusNa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a2a8186e65a04dfdaf442927fbab268076cd4f5a\"\u003e\u003ccode\u003ea2a8186\u003c/code\u003e\u003c/a\u003e perf(sdk-trace-base): optimize TraceIdRatioBasedSampler hex parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6284\"\u003e#6284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/4c0f3f1b911c4740a085b6c66d267bb74826b475\"\u003e\u003ccode\u003e4c0f3f1\u003c/code\u003e\u003c/a\u003e feat(sdk-node): set TracerProvider in startNodeSDK() (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6607\"\u003e#6607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/417f2f17e4234417b34dbf7bdf8e24c330259dd2\"\u003e\u003ccode\u003e417f2f1\u003c/code\u003e\u003c/a\u003e fix(instr-xhr): do not unpatch XHR methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6611\"\u003e#6611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/47ac523b124be222ac89160e4623e8a60c960f35\"\u003e\u003ccode\u003e47ac523\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: allow browser maintainers to approve changelog edits\u0026quot; (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6627\"\u003e#6627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/86c621d5b8344f1ecdc13a9841a90604912d0055\"\u003e\u003ccode\u003e86c621d\u003c/code\u003e\u003c/a\u003e fix(instrumentation-fetch): tolerate non-writable globalThis.fetch and fix pr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/v2.7.0...v2.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ioredis` from 5.10.1 to 5.11.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/luin/ioredis/releases\"\u003eioredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.11.0...v5.11.1\"\u003e5.11.1\u003c/a\u003e (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecluster:\u003c/strong\u003e reconnect to nodes that restart without slot changes (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2096\"\u003e#2096\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/c84b2ee97fd7b25d8f6ef8b509c228a602f47cca\"\u003ec84b2ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse protocol-relative Redis URLs as TCP connections (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2125\"\u003e#2125\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/131ee24173380b986e62ecc428ddde82be12bc40\"\u003e131ee24\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.11.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/blob/main/CHANGELOG.md\"\u003eioredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.11.0...v5.11.1\"\u003e5.11.1\u003c/a\u003e (2026-06-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecluster:\u003c/strong\u003e reconnect to nodes that restart without slot changes (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2096\"\u003e#2096\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/c84b2ee97fd7b25d8f6ef8b509c228a602f47cca\"\u003ec84b2ee\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse protocol-relative Redis URLs as TCP connections (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2125\"\u003e#2125\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/131ee24173380b986e62ecc428ddde82be12bc40\"\u003e131ee24\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/commit/fb224a7609b6d25959e06e31fdab2460d1f75691\"\u003e\u003ccode\u003efb224a7\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/131ee24173380b986e62ecc428ddde82be12bc40\"\u003e\u003ccode\u003e131ee24\u003c/code\u003e\u003c/a\u003e fix: parse protocol-relative Redis URLs as TCP connections (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2125\"\u003e#2125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/c84b2ee97fd7b25d8f6ef8b509c228a602f47cca\"\u003e\u003ccode\u003ec84b2ee\u003c/code\u003e\u003c/a\u003e fix(cluster): reconnect to nodes that restart without slot changes (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2096\"\u003e#2096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/14904327fc212d1f592172d776ebe45178fb7ee7\"\u003e\u003ccode\u003e1490432\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/5359d4d090c17f2ca1e86d92b139cd935ba4643d\"\u003e\u003ccode\u003e5359d4d\u003c/code\u003e\u003c/a\u003e refactor(utils): inline defaults and isArguments helpers (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003e\u003ccode\u003eb7b3def\u003c/code\u003e\u003c/a\u003e feat: add vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/faa53fdfae7f605c19bd74564639640f9d30d404\"\u003e\u003ccode\u003efaa53fd\u003c/code\u003e\u003c/a\u003e ci: update Node.js and Redis test matrix (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e\u003ccode\u003e37d0695\u003c/code\u003e\u003c/a\u003e feat: add increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/612ee9dfe96c1df942eaa415ca94881077191b5c\"\u003e\u003ccode\u003e612ee9d\u003c/code\u003e\u003c/a\u003e chore: update Redis 8.8 test image to custom (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003e\u003ccode\u003ebaf68d6\u003c/code\u003e\u003c/a\u003e feat: add array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `js-yaml` from 4.1.1 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md\"\u003ejs-yaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.0] - 2026-06-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003edocs/safety.md\u003c/code\u003e with notes about processing untrusted YAML.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxDepth\u003c/code\u003e (100) loader option. Not a problem, but gives a better\nexception instead of RangeError on stack overflow.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxMergeSeqLength\u003c/code\u003e (20) loader option. Not a problem after \u003ccode\u003emerge\u003c/code\u003e fix,\nbut an additional restriction for safety.\u003c/li\u003e\n\u003cli\u003eAdded sourcemaps to \u003ccode\u003edist/\u003c/code\u003e builds.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop resolving numbers with underscores as numeric scalars, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/627\"\u003e#627\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSwitched dev toolchains to Vite / neostandard.\u003c/li\u003e\n\u003cli\u003eUpdated demo.\u003c/li\u003e\n\u003cli\u003eReorganized tests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edist/\u003c/code\u003e files are no longer kept in the repository.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parsing of properties on the first implicit block mapping key, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/62\"\u003e#62\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix trailing whitespace handling when folding flow scalar lines, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReject top-level block scalars without content indentation, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/280\"\u003e#280\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnsure numbers survive round-trip, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/737\"\u003e#737\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix test coverage for issue \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/221\"\u003e#221\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix flow scalar trailing whitespace folding, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix digits in YAML named tag handles.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix potential DoS via quadratic complexity in merge - deduplicate repeated\nelements (makes sense for malformed files \u0026gt; 10K).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.14.2] - 2025-11-15\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackported v4.1.1 fix to v3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nodeca/js-yaml/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 8.20.0 to 8.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epg@8.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3521\"\u003eSASL SCRAM\u003c/a\u003e server error responses properly.\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3667\"\u003enode@26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escramMaxIterations\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3677\"\u003econfig option\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eclient.getTransactionStatus()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3645\"\u003emethod\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/brianc/node-postgres/commit/544b1ce8152bc280e398dc1e8a66920abe6a640e\"\u003e\u003ccode\u003e544b1ce\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/cc03fa5cdf0f1e67b2518ebad5cf2269206aa49c\"\u003e\u003ccode\u003ecc03fa5\u003c/code\u003e\u003c/a\u003e Add scramMaxIterations option to limit SCRAM iteration count (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f776327b3fcdd997c67e866ef7c620ef9c26b3f2\"\u003e\u003ccode\u003ef776327\u003c/code\u003e\u003c/a\u003e Remove compatibility code for unsupported versions of Node (\u0026lt;16) (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3678\"\u003e#3678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f252870eba73c15449b57562e6698b5859e32095\"\u003e\u003ccode\u003ef252870\u003c/code\u003e\u003c/a\u003e cleanup: pg utils (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/c8da6ab9326d93005e6947217cf665f707e08ec7\"\u003e\u003ccode\u003ec8da6ab\u003c/code\u003e\u003c/a\u003e Assorted test cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/fa47e73349786c2a76db98801d60c05371b0a906\"\u003e\u003ccode\u003efa47e73\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eClient#end\u003c/code\u003e callback being called multiple times when first is no-op (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/88a7e60c7191ce8061d6276b299895bf5511e042\"\u003e\u003ccode\u003e88a7e60\u003c/code\u003e\u003c/a\u003e cleanup: Move declaration to more natural place\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/2095247a7b10ebe19cd7d518e07ee2f259dda70a\"\u003e\u003ccode\u003e2095247\u003c/code\u003e\u003c/a\u003e cleanup: Combine duplicated code in \u003ccode\u003eClient#query\u003c/code\u003e and avoid unneeded early n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/0ac3eddef6481f4e4f9359c65d3c0cfd7d2124e1\"\u003e\u003ccode\u003e0ac3edd\u003c/code\u003e\u003c/a\u003e fix: apply SASLprep (RFC 4013) to passwords before SCRAM-SHA-256 PBKDF2 (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/be880d45552269f0b847a3e568014bde6536eae3\"\u003e\u003ccode\u003ebe880d4\u003c/code\u003e\u003c/a\u003e Assorted test fixes and cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `qs` from 6.15.1 to 6.15.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ljharb/qs/blob/main/CHANGELOG.md\"\u003eqs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003cstrong\u003e6.15.2\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + \u003ccode\u003eencodeValuesOnly\u003c/code\u003e instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[readme] fix grammar (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Tests] add regression tests for keys containing percent-encoded bracket text\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/ljharb/qs/commit/9aca4076fe788338c67cf7e115f0be6bc58d85a8\"\u003e\u003ccode\u003e9aca407\u003c/code\u003e\u003c/a\u003e v6.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/5e33d33447ed0bf1ddab9abc41d27dea4687d992\"\u003e\u003ccode\u003e5e33d33\u003c/code\u003e\u003c/a\u003e [Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/21f80b33e5c8b3f7eba1034fff0da4a4a37a1d41\"\u003e\u003ccode\u003e21f80b3\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + `e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a0a81ea2071acce3eff41a040f719ac8f5c4f64c\"\u003e\u003ccode\u003ea0a81ea\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/e3062f78f5233b338ceeb8e8dfa5a07dea4b32a8\"\u003e\u003ccode\u003ee3062f7\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/0c180a40adb8c6703fffc85b2ff06ca209f5c1e0\"\u003e\u003ccode\u003e0c180a4\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/3a8b94aec19bd664720f6f6b1e66c4a0dfe4b656\"\u003e\u003ccode\u003e3a8b94a\u003c/code\u003e\u003c/a\u003e [Tests] add regression tests for keys containing percent-encoded bracket text\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/96755abd357c0e534dd3442a84a04d08864bfe0d\"\u003e\u003ccode\u003e96755ab\u003c/code\u003e\u003c/a\u003e [readme] fix grammar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a419ce5bbfcdb98a299f1a0bb47ea055baef20e6\"\u003e\u003ccode\u003ea419ce5\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ljharb/qs/compare/v6.15.1...v6.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sql-formatter` from 15.7.3 to 15.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/releases\"\u003esql-formatter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e15.8.1\u003c/h2\u003e\n\u003cp\u003eFix block-comment placement idempotency issue (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/952\"\u003e#952\u003c/a\u003e) Thanks to \u003ca href=\"https://github.com/sarathfrancis90\"\u003e\u003ccode\u003e@​sarathfrancis90\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e15.8.0\u003c/h2\u003e\n\u003ch3\u003ePostgreSQL formatting\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for PostgreSQL keywords in \u003ccode\u003eCREATE CONSTRAINT TRIGGER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/948\"\u003e#948\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/karlhorky\"\u003e\u003ccode\u003e@​karlhorky\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch from yarn to pnpm (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.4...v15.8.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003e15.7.4\u003c/h2\u003e\n\u003ch3\u003eBugfix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Tcl-style $param(...) syntax in SQLite (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/944\"\u003e#944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/943\"\u003e#943\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\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/sql-formatter-org/sql-formatter/commit/f3707ba179fac6bee8489144cbd66ed7038530dd\"\u003e\u003ccode\u003ef3707ba\u003c/code\u003e\u003c/a\u003e Release 15.8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/b6f936d8c95455f0d181898c0193b4353261030a\"\u003e\u003ccode\u003eb6f936d\u003c/code\u003e\u003c/a\u003e Turn off verifyDepsBeforeRun\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/502224cdebc30288721f5a1f20c2400fbd46a775\"\u003e\u003ccode\u003e502224c\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-block-comment-idempotency'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/f9304a6ac14100930f3efd03f0e8f5e0829dd0a4\"\u003e\u003ccode\u003ef9304a6\u003c/code\u003e\u003c/a\u003e Add Sarath Francis to AUTHORS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/71c0835fbfd8fa68cb0a007f8c7a9f415bf81b1a\"\u003e\u003ccode\u003e71c0835\u003c/code\u003e\u003c/a\u003e Rewrite comment inside isStandaloneBlockComment()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/953f228c994b9dd30cb60dfe47e44a7ed07cf288\"\u003e\u003ccode\u003e953f228\u003c/code\u003e\u003c/a\u003e Reorganize idempotent comment tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/54d4cf2bbd6a42e3b2bd1563f9d6738aee65eefa\"\u003e\u003ccode\u003e54d4cf2\u003c/code\u003e\u003c/a\u003e test: cover block comments in more clause positions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/2b70a665025e1c6c4f1d310a540acb4b7b7616fe\"\u003e\u003ccode\u003e2b70a66\u003c/code\u003e\u003c/a\u003e fix: keep leading block comment of clause item on its own line\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/a3bfeeb4e96415efe4820a1b2c7ed592384aa0be\"\u003e\u003ccode\u003ea3bfeeb\u003c/code\u003e\u003c/a\u003e Release v15.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/a7f50d8a68f667b90cfd4e75b1fd683e67413a89\"\u003e\u003ccode\u003ea7f50d8\u003c/code\u003e\u003c/a\u003e Add tagName config to release-it\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.3...v15.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@bufbuild/buf` from 1.68.4 to 1.70.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bufbuild/buf/releases\"\u003e@​bufbuild/buf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.70.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e, \u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules and make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.69.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/blob/main/CHANGELOG.md\"\u003e@​bufbuild/buf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.70.0] - 2026-05-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e,\n\u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules\nand make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v1.69.0] - 2026-04-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/commit/4f657db175eb7418efef85b35db97472ff9df526\"\u003e\u003ccode\u003e4f657db\u003c/code\u003e\u003c/a\u003e Release v1.70.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4556\"\u003e#4556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/f278fa0989621eca516eb5a0a5b00b8ebe94b777\"\u003e\u003ccode\u003ef278fa0\u003c/code\u003e\u003c/a\u003e Bump buf.build/gen/go/bufbuild/registry/connectrpc/go from 1.19.2-20260507063...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/977b89ba82ca288850b6ba64602d6d201d331cd9\"\u003e\u003ccode\u003e977b89b\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4555\"\u003e#4555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/88dfb3409802d618d1fe4f8b6beef84b06df0ea3\"\u003e\u003ccode\u003e88dfb34\u003c/code\u003e\u003c/a\u003e Lint MessageRules.oneof in PROTOVALIDATE check (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4540\"\u003e#4540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/e96239e0572348b8f9d6ee8345b97713aa8e46f6\"\u003e\u003ccode\u003ee96239e\u003c/code\u003e\u003c/a\u003e Filter out GIT_WORK_TREE from cloner environment variables (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d0e7d39ca13bbacc73a3e82d1073fb1fe71a4e3e\"\u003e\u003ccode\u003ed0e7d39\u003c/code\u003e\u003c/a\u003e Add env override test cases to git package (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/37478176d82c2a099f0b4c85b86e40d01c857531\"\u003e\u003ccode\u003e3747817\u003c/code\u003e\u003c/a\u003e Bump actions/create-github-app-token from 3.1.1 to 3.2.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4544\"\u003e#4544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/9eddb9cdeb75daab3c3b699060ae1a38ed199961\"\u003e\u003ccode\u003e9eddb9c\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d46006023cfbff8bd7571a8c8b908455865005b2\"\u003e\u003ccode\u003ed460060\u003c/code\u003e\u003c/a\u003e Update README.md (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/2dae4779331f5d24244176ce168758fcc25b84e7\"\u003e\u003ccode\u003e2dae477\u003c/code\u003e\u003c/a\u003e Fix LSP documentSymbol marking every symbol as deprecated (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4531\"\u003e#4531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bufbuild/buf/compare/v1.68.4...v1.70.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@testcontainers/postgresql` from 11.14.0 to 12.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-node/releases\"\u003e@​testcontainers/postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.0.1\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Podman image healthcheck detection \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd npm dependency release age cooldown \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse Docker Hub Redpanda image \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse preinstalled Podman in checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify affected package checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd npm publish dry run workflow \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade build agents from Ubuntu 22.04 to 24.04 \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove module compile checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1327\"\u003e#1327\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump tmp from 0.2.5 to 0.2.6 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 14 directories with 16 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group with 13 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 13 directories with 12 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 1 directory with 22 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.0\u003c/h2\u003e\n\u003ch2\u003e🚨 Breaking Changes\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eNode 20 is EOL. Minimum engine requirement is now \u003ccode\u003e\u0026gt;= 22.22\u003c/code\u003e, matching the constraints from our dependencies.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePreviously, when no wait strategy was configured, Testcontainers defaulted to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe new default wait strategy uses a Docker healthcheck when one is configured on the container image or service, falling back to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e when no healthcheck is available.\u003c/p\u003e\n\u003cp\u003eTo keep the previous behaviour, configure \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e explicitly:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { DockerComposeEnvironment, GenericContainer, Wait } from \u0026quot;testcontainers\u0026quot;;\r\n\u003cp\u003e// Container: opt back into the previous default of waiting for listening ports\nconst container = await new GenericContainer(\u0026quot;my-image:latest\u0026quot;)\n.withExposedPorts(8080)\n.withWaitStrategy(Wait.forListeningPorts())\n.start();\u003c/p\u003e\n\u003cp\u003e// Compose: apply the previous default to all services\nconst environment = await new DockerComposeEnvironment(composeFilePath, \u0026quot;docker-compose.yml\u0026quot;)\n.withDefaultWaitStrategy(Wait.forListeningPorts())\n.up();\u003c/p\u003e\n\u003cp\u003e// Compose: or apply it to a specific compose container\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/4d8de0cd81c26734b2c95b5fd717fa62ea0648eb\"\u003e\u003ccode\u003e4d8de0c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;v12.0.1\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/d2e4da4b820d5694b120739dad0c360c9e50c3b6\"\u003e\u003ccode\u003ed2e4da4\u003c/code\u003e\u003c/a\u003e v12.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/1077fd6bce442a08fdea707536290a1ae7a0de88\"\u003e\u003ccode\u003e1077fd6\u003c/code\u003e\u003c/a\u003e Revert default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1346\"\u003e#1346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/665feb4f42073eb7394435a84c6eff9f20d7a714\"\u003e\u003ccode\u003e665feb4\u003c/code\u003e\u003c/a\u003e Bump tmp from 0.2.5 to 0.2.6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cdb8366ad8c17692782a2073406209699eeeff73\"\u003e\u003ccode\u003ecdb8366\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 14 directories with 16 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/3148791de679c3208beb6c1a8f37eafe8abb6810\"\u003e\u003ccode\u003e3148791\u003c/code\u003e\u003c/a\u003e Add default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1340\"\u003e#1340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/34c581136a78d3b2098253c8ed86515617d76a52\"\u003e\u003ccode\u003e34c5811\u003c/code\u003e\u003c/a\u003e Add npm dependency release age cooldown (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/c584af1ca12b059c13ba9d76d3b73a2440dbae92\"\u003e\u003ccode\u003ec584af1\u003c/code\u003e\u003c/a\u003e Fix Podman image healthcheck detection (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cae5c26312c234df0001f2866e9d8e58002e54c7\"\u003e\u003ccode\u003ecae5c26\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 13 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/33e1dc109cc94ef9b4e0020b4a6fd9e8b8a354af\"\u003e\u003ccode\u003e33e1dc1\u003c/code\u003e\u003c/a\u003e Use Docker Hub Redpanda image (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-node/compare/v11.14.0...v12.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.3.0 to 30.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003ejest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev30.4.2\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.1\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.0\u003c/h2\u003e\n\u003cp\u003eBig release! 😀\u003c/p\u003e\n\u003cp\u003eMain feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work \u003ccode\u003erequire(esm)\u003c/code\u003e module is now supported on Node 24.9+ (still requires \u003ccode\u003e--experimental-vm-modules\u003c/code\u003e like before).\u003c/p\u003e\n\u003cp\u003eIn addition we now support fake timers for the recently released \u003ccode\u003eTemporal\u003c/code\u003e API in Node v26.\u003c/p\u003e\n\u003cp\u003eReact 19 is also supported properly in \u003ccode\u003epretty-format\u003c/code\u003e, meaning snapshots of React components now work like they should.\u003c/p\u003e\n\u003cp\u003eDue to all the changes, there might be regressions that snuck in. Please report them!\u003c/p\u003e\n\u003cp\u003eFull list of changes below\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\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/jestjs/jest/blob/main/CHANGELOG.md\"\u003ejest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.4.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[pretty-format]\u003c/code\u003e Support React 19 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16123\"\u003e#16123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect-utils]\u003c/code\u003e Fix \u003ccode\u003etoStrictEqual\u003c/code\u003e failing on \u003ccode\u003estructuredClone\u003c/code\u003e results due to cross-realm constructor mismatch (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15959\"\u003e#15959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Prevent \u003ccode\u003etoMatchObject\u003c/code\u003e/subset matching from throwing when encountering exotic iterables (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15952\"\u003e#15952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[fake-timers]\u003c/code\u003e Convert \u003ccode\u003eDate\u003c/code\u003e to milliseconds before passing to \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16029\"\u003e#16029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest]\u003c/code\u003e Export \u003ccode\u003eGlobalConfig\u003c/code\u003e and \u003ccode\u003eProjectConfig\u003c/code\u003e TypeScript types (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Prevent crash when \u003ccode\u003easyncError\u003c/code\u003e is undefined for non-Error throws (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16003\"\u003e#16003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Include \u003ccode\u003eError.cause\u003c/code\u003e in JSON \u003ccode\u003efailureMessages\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15967\"\u003e#15967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Fix preset path resolution on Windows when the preset uses subpath \u003ccode\u003eexports\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15961\"\u003e#15961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config without a validation warning (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Project config validator now emits \u0026quot;is not supported in an individual project configuration\u0026quot; instead of \u0026quot;probably a typing mistake\u0026quot; for known global-only options (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Fix \u003ccode\u003e--localstorage-file\u003c/code\u003e warning on Node 25+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16086\"\u003e#16086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16137\"\u003e#16137\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/jestjs/jest/commit/746f2a0f57c56e3bba555280f0587d40f3db95c0\"\u003e\u003ccode\u003e746f2a0\u003c/code\u003e\u003c/a\u003e v30.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/b3b4a09ed3005369dacc7466d1d2122797283785\"\u003e\u003ccode\u003eb3b4a09\u003c/code\u003e\u003c/a\u003e v30.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/5cbb21e0b3037edb42e503ec1a1ce80efad40c20\"\u003e\u003ccode\u003e5cbb21e\u003c/code\u003e\u003c/a\u003e v30.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/db7141a93cc85fab81cf9c25368e1f2b2c312286\"\u003e\u003ccode\u003edb7141a\u003c/code\u003e\u003c/a\u003e fix: allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.2/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://...\n\n_Description has been truncated_","html_url":"https://github.com/Ojekhile7-v1/hiero-mirror-node--027/pull/30","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ojekhile7-v1%2Fhiero-mirror-node--027/issues/30","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/30/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":"/src/lambda-alarm-notification","pr_created_at":"2026-06-04T03:36:13.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4585537124","node_id":"PR_kwDOIHm6ac7ig07I","number":2120,"state":"open","title":"chore(deps-dev): bump sinon in /src/lambda-alarm-notification","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":8,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T03:36:13.000Z","updated_at":"2026-06-18T09:03:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"}],"path":"/src/lambda-alarm-notification","ecosystem":"npm"},"body":"Bumps [sinon](https://github.com/sinonjs/sinon) in `/src/lambda-alarm-notification` from 21.1.2 to 22.0.0.\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 17.0.1 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.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/UKHSA-Internal/data-dashboard-infra/pull/2120","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/UKHSA-Internal%2Fdata-dashboard-infra/issues/2120","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2120/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-06-03T15:24:25.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4581234929","node_id":"PR_kwDOSOOt487iShJk","number":28,"state":"closed","title":"Bump the dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-15T23:07:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-03T15:24:25.000Z","updated_at":"2026-06-15T23:07:52.000Z","time_to_close":1064605,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":12,"packages":[{"name":"@opentelemetry/exporter-prometheus","old_version":"0.215.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"ioredis","old_version":"5.10.1","new_version":"5.11.0","repository_url":"https://github.com/luin/ioredis"},{"name":"js-yaml","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"qs","old_version":"6.15.1","new_version":"6.15.2","repository_url":"https://github.com/ljharb/qs"},{"name":"sql-formatter","old_version":"15.7.3","new_version":"15.8.0","repository_url":"https://github.com/sql-formatter-org/sql-formatter"},{"name":"@bufbuild/buf","old_version":"1.68.4","new_version":"1.70.0","repository_url":"https://github.com/bufbuild/buf"},{"name":"@testcontainers/postgresql","old_version":"11.14.0","new_version":"12.0.1","repository_url":"https://github.com/testcontainers/testcontainers-node"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"tar","old_version":"7.5.13","new_version":"7.5.16","repository_url":"https://github.com/isaacs/node-tar"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 11 updates in the /rest directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@opentelemetry/exporter-prometheus](https://github.com/open-telemetry/opentelemetry-js) | `0.215.0` | `0.218.0` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.1` | `5.11.0` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `4.1.1` | `4.2.0` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [qs](https://github.com/ljharb/qs) | `6.15.1` | `6.15.2` |\n| [sql-formatter](https://github.com/sql-formatter-org/sql-formatter) | `15.7.3` | `15.8.0` |\n| [@bufbuild/buf](https://github.com/bufbuild/buf) | `1.68.4` | `1.70.0` |\n| [@testcontainers/postgresql](https://github.com/testcontainers/testcontainers-node) | `11.14.0` | `12.0.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |\n| [tar](https://github.com/isaacs/node-tar) | `7.5.13` | `7.5.16` |\n\n\nUpdates `@opentelemetry/exporter-prometheus` from 0.215.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/exporter-prometheus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.215.0...experimental/v0.218.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/sdk-metrics` from 2.7.0 to 2.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-metrics's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.7.1\u003c/h2\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(sdk-metrics): reduce loop overhead in sdk hot paths \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6593\"\u003e#6593\u003c/a\u003e \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md\"\u003e@​opentelemetry/sdk-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: test Node.js 26 in CI \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6671\"\u003e#6671\u003c/a\u003e \u003ca href=\"https://github.com/cjihrig\"\u003e\u003ccode\u003e@​cjihrig\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7\"\u003e\u003ccode\u003e2400d83\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6647\"\u003e#6647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f7a9b7cc854232ebf7dea2d3ec0d6adc49128f53\"\u003e\u003ccode\u003ef7a9b7c\u003c/code\u003e\u003c/a\u003e fix(otlp-transformer): pin protobufjs to 8.0.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6646\"\u003e#6646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/cb38d7f833781c336c990757f773ce9c8360434a\"\u003e\u003ccode\u003ecb38d7f\u003c/code\u003e\u003c/a\u003e test(otlp-transformer): add metrics transfrom benchmark (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6628\"\u003e#6628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a28f12fef5fbdfb3b77a1334175b752883ef708a\"\u003e\u003ccode\u003ea28f12f\u003c/code\u003e\u003c/a\u003e fix(opentelemetry-core): defer tracestate vaidation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6459\"\u003e#6459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b27c5146ac21deb3fb1e8fca370d34f1828f3cc6\"\u003e\u003ccode\u003eb27c514\u003c/code\u003e\u003c/a\u003e refactor(opentelemetry-exporter-prometheus): do not call `enforcePrometheusNa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a2a8186e65a04dfdaf442927fbab268076cd4f5a\"\u003e\u003ccode\u003ea2a8186\u003c/code\u003e\u003c/a\u003e perf(sdk-trace-base): optimize TraceIdRatioBasedSampler hex parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6284\"\u003e#6284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/4c0f3f1b911c4740a085b6c66d267bb74826b475\"\u003e\u003ccode\u003e4c0f3f1\u003c/code\u003e\u003c/a\u003e feat(sdk-node): set TracerProvider in startNodeSDK() (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6607\"\u003e#6607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/417f2f17e4234417b34dbf7bdf8e24c330259dd2\"\u003e\u003ccode\u003e417f2f1\u003c/code\u003e\u003c/a\u003e fix(instr-xhr): do not unpatch XHR methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6611\"\u003e#6611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/47ac523b124be222ac89160e4623e8a60c960f35\"\u003e\u003ccode\u003e47ac523\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: allow browser maintainers to approve changelog edits\u0026quot; (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6627\"\u003e#6627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/86c621d5b8344f1ecdc13a9841a90604912d0055\"\u003e\u003ccode\u003e86c621d\u003c/code\u003e\u003c/a\u003e fix(instrumentation-fetch): tolerate non-writable globalThis.fetch and fix pr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/v2.7.0...v2.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ioredis` from 5.10.1 to 5.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/luin/ioredis/releases\"\u003eioredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/blob/main/CHANGELOG.md\"\u003eioredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/commit/14904327fc212d1f592172d776ebe45178fb7ee7\"\u003e\u003ccode\u003e1490432\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/5359d4d090c17f2ca1e86d92b139cd935ba4643d\"\u003e\u003ccode\u003e5359d4d\u003c/code\u003e\u003c/a\u003e refactor(utils): inline defaults and isArguments helpers (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003e\u003ccode\u003eb7b3def\u003c/code\u003e\u003c/a\u003e feat: add vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/faa53fdfae7f605c19bd74564639640f9d30d404\"\u003e\u003ccode\u003efaa53fd\u003c/code\u003e\u003c/a\u003e ci: update Node.js and Redis test matrix (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e\u003ccode\u003e37d0695\u003c/code\u003e\u003c/a\u003e feat: add increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/612ee9dfe96c1df942eaa415ca94881077191b5c\"\u003e\u003ccode\u003e612ee9d\u003c/code\u003e\u003c/a\u003e chore: update Redis 8.8 test image to custom (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003e\u003ccode\u003ebaf68d6\u003c/code\u003e\u003c/a\u003e feat: add array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/ba3b4cfb6204eccecde928f691a60a869313a0c9\"\u003e\u003ccode\u003eba3b4cf\u003c/code\u003e\u003c/a\u003e test: update Redis 8.8 test image to m03 (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2113\"\u003e#2113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/32dd17b3f714823d9fec09da5f3bc489ef12475d\"\u003e\u003ccode\u003e32dd17b\u003c/code\u003e\u003c/a\u003e test: add hash field subkey notification coverage (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2112\"\u003e#2112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e\u003ccode\u003e04a4615\u003c/code\u003e\u003c/a\u003e feat: add Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `js-yaml` from 4.1.1 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md\"\u003ejs-yaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.0] - 2026-06-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003edocs/safety.md\u003c/code\u003e with notes about processing untrusted YAML.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxDepth\u003c/code\u003e (100) loader option. Not a problem, but gives a better\nexception instead of RangeError on stack overflow.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxMergeSeqLength\u003c/code\u003e (20) loader option. Not a problem after \u003ccode\u003emerge\u003c/code\u003e fix,\nbut an additional restriction for safety.\u003c/li\u003e\n\u003cli\u003eAdded sourcemaps to \u003ccode\u003edist/\u003c/code\u003e builds.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop resolving numbers with underscores as numeric scalars, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/627\"\u003e#627\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSwitched dev toolchains to Vite / neostandard.\u003c/li\u003e\n\u003cli\u003eUpdated demo.\u003c/li\u003e\n\u003cli\u003eReorganized tests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edist/\u003c/code\u003e files are no longer kept in the repository.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parsing of properties on the first implicit block mapping key, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/62\"\u003e#62\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix trailing whitespace handling when folding flow scalar lines, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReject top-level block scalars without content indentation, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/280\"\u003e#280\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnsure numbers survive round-trip, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/737\"\u003e#737\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix test coverage for issue \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/221\"\u003e#221\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix flow scalar trailing whitespace folding, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix digits in YAML named tag handles.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix potential DoS via quadratic complexity in merge - deduplicate repeated\nelements (makes sense for malformed files \u0026gt; 10K).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.14.2] - 2025-11-15\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackported v4.1.1 fix to v3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nodeca/js-yaml/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 8.20.0 to 8.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epg@8.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3521\"\u003eSASL SCRAM\u003c/a\u003e server error responses properly.\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3667\"\u003enode@26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escramMaxIterations\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3677\"\u003econfig option\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eclient.getTransactionStatus()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3645\"\u003emethod\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/brianc/node-postgres/commit/544b1ce8152bc280e398dc1e8a66920abe6a640e\"\u003e\u003ccode\u003e544b1ce\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/cc03fa5cdf0f1e67b2518ebad5cf2269206aa49c\"\u003e\u003ccode\u003ecc03fa5\u003c/code\u003e\u003c/a\u003e Add scramMaxIterations option to limit SCRAM iteration count (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f776327b3fcdd997c67e866ef7c620ef9c26b3f2\"\u003e\u003ccode\u003ef776327\u003c/code\u003e\u003c/a\u003e Remove compatibility code for unsupported versions of Node (\u0026lt;16) (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3678\"\u003e#3678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f252870eba73c15449b57562e6698b5859e32095\"\u003e\u003ccode\u003ef252870\u003c/code\u003e\u003c/a\u003e cleanup: pg utils (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/c8da6ab9326d93005e6947217cf665f707e08ec7\"\u003e\u003ccode\u003ec8da6ab\u003c/code\u003e\u003c/a\u003e Assorted test cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/fa47e73349786c2a76db98801d60c05371b0a906\"\u003e\u003ccode\u003efa47e73\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eClient#end\u003c/code\u003e callback being called multiple times when first is no-op (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/88a7e60c7191ce8061d6276b299895bf5511e042\"\u003e\u003ccode\u003e88a7e60\u003c/code\u003e\u003c/a\u003e cleanup: Move declaration to more natural place\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/2095247a7b10ebe19cd7d518e07ee2f259dda70a\"\u003e\u003ccode\u003e2095247\u003c/code\u003e\u003c/a\u003e cleanup: Combine duplicated code in \u003ccode\u003eClient#query\u003c/code\u003e and avoid unneeded early n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/0ac3eddef6481f4e4f9359c65d3c0cfd7d2124e1\"\u003e\u003ccode\u003e0ac3edd\u003c/code\u003e\u003c/a\u003e fix: apply SASLprep (RFC 4013) to passwords before SCRAM-SHA-256 PBKDF2 (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/be880d45552269f0b847a3e568014bde6536eae3\"\u003e\u003ccode\u003ebe880d4\u003c/code\u003e\u003c/a\u003e Assorted test fixes and cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `qs` from 6.15.1 to 6.15.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ljharb/qs/blob/main/CHANGELOG.md\"\u003eqs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003cstrong\u003e6.15.2\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + \u003ccode\u003eencodeValuesOnly\u003c/code\u003e instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[readme] fix grammar (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Tests] add regression tests for keys containing percent-encoded bracket text\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/ljharb/qs/commit/9aca4076fe788338c67cf7e115f0be6bc58d85a8\"\u003e\u003ccode\u003e9aca407\u003c/code\u003e\u003c/a\u003e v6.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/5e33d33447ed0bf1ddab9abc41d27dea4687d992\"\u003e\u003ccode\u003e5e33d33\u003c/code\u003e\u003c/a\u003e [Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/21f80b33e5c8b3f7eba1034fff0da4a4a37a1d41\"\u003e\u003ccode\u003e21f80b3\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + `e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a0a81ea2071acce3eff41a040f719ac8f5c4f64c\"\u003e\u003ccode\u003ea0a81ea\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/e3062f78f5233b338ceeb8e8dfa5a07dea4b32a8\"\u003e\u003ccode\u003ee3062f7\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/0c180a40adb8c6703fffc85b2ff06ca209f5c1e0\"\u003e\u003ccode\u003e0c180a4\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/3a8b94aec19bd664720f6f6b1e66c4a0dfe4b656\"\u003e\u003ccode\u003e3a8b94a\u003c/code\u003e\u003c/a\u003e [Tests] add regression tests for keys containing percent-encoded bracket text\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/96755abd357c0e534dd3442a84a04d08864bfe0d\"\u003e\u003ccode\u003e96755ab\u003c/code\u003e\u003c/a\u003e [readme] fix grammar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a419ce5bbfcdb98a299f1a0bb47ea055baef20e6\"\u003e\u003ccode\u003ea419ce5\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ljharb/qs/compare/v6.15.1...v6.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sql-formatter` from 15.7.3 to 15.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/releases\"\u003esql-formatter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e15.8.0\u003c/h2\u003e\n\u003ch3\u003ePostgreSQL formatting\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for PostgreSQL keywords in \u003ccode\u003eCREATE CONSTRAINT TRIGGER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/948\"\u003e#948\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/karlhorky\"\u003e\u003ccode\u003e@​karlhorky\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch from yarn to pnpm (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.4...v15.8.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003e15.7.4\u003c/h2\u003e\n\u003ch3\u003eBugfix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Tcl-style $param(...) syntax in SQLite (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/944\"\u003e#944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/943\"\u003e#943\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\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/sql-formatter-org/sql-formatter/commit/a3bfeeb4e96415efe4820a1b2c7ed592384aa0be\"\u003e\u003ccode\u003ea3bfeeb\u003c/code\u003e\u003c/a\u003e Release v15.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/a7f50d8a68f667b90cfd4e75b1fd683e67413a89\"\u003e\u003ccode\u003ea7f50d8\u003c/code\u003e\u003c/a\u003e Add tagName config to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dab8693b1728696981f3db9b0780b8a7229687c3\"\u003e\u003ccode\u003edab8693\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm as plugin to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/5ab2c8019f9d09ccf3df388d74672821b27ce241\"\u003e\u003ccode\u003e5ab2c80\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/1a000ca83e2e30999f222193ef28c14a949998a2\"\u003e\u003ccode\u003e1a000ca\u003c/code\u003e\u003c/a\u003e Configure release-it to use pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/34fe5b080c11b1cecbe3a0c5d8b89ed8a62941ef\"\u003e\u003ccode\u003e34fe5b0\u003c/code\u003e\u003c/a\u003e Fix scripts using -- (pnpm interprets this as file name)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/6610b6a65a1f7a3654d45bc6100a897649b3136d\"\u003e\u003ccode\u003e6610b6a\u003c/code\u003e\u003c/a\u003e Add pnpm to lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/af633e85fb684650ee7e3b48f1a9dcd897dc050e\"\u003e\u003ccode\u003eaf633e8\u003c/code\u003e\u003c/a\u003e Switch from yarn@1.22.22 to pnpm@11.0.8 (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/ba7437e24b51bb7c5cf38dfcc9f4e58a5dc7fab5\"\u003e\u003ccode\u003eba7437e\u003c/code\u003e\u003c/a\u003e Ignore pnpm-lock.yaml from Prettier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dcee63f96d576ed828dd5af67d26ee9a3728e2db\"\u003e\u003ccode\u003edcee63f\u003c/code\u003e\u003c/a\u003e Work around pnpm bug with pmOnFail + devEngines.packageManager\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.3...v15.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@bufbuild/buf` from 1.68.4 to 1.70.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bufbuild/buf/releases\"\u003e@​bufbuild/buf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.70.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e, \u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules and make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.69.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/blob/main/CHANGELOG.md\"\u003e@​bufbuild/buf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.70.0] - 2026-05-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e,\n\u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules\nand make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v1.69.0] - 2026-04-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/commit/4f657db175eb7418efef85b35db97472ff9df526\"\u003e\u003ccode\u003e4f657db\u003c/code\u003e\u003c/a\u003e Release v1.70.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4556\"\u003e#4556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/f278fa0989621eca516eb5a0a5b00b8ebe94b777\"\u003e\u003ccode\u003ef278fa0\u003c/code\u003e\u003c/a\u003e Bump buf.build/gen/go/bufbuild/registry/connectrpc/go from 1.19.2-20260507063...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/977b89ba82ca288850b6ba64602d6d201d331cd9\"\u003e\u003ccode\u003e977b89b\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4555\"\u003e#4555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/88dfb3409802d618d1fe4f8b6beef84b06df0ea3\"\u003e\u003ccode\u003e88dfb34\u003c/code\u003e\u003c/a\u003e Lint MessageRules.oneof in PROTOVALIDATE check (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4540\"\u003e#4540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/e96239e0572348b8f9d6ee8345b97713aa8e46f6\"\u003e\u003ccode\u003ee96239e\u003c/code\u003e\u003c/a\u003e Filter out GIT_WORK_TREE from cloner environment variables (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d0e7d39ca13bbacc73a3e82d1073fb1fe71a4e3e\"\u003e\u003ccode\u003ed0e7d39\u003c/code\u003e\u003c/a\u003e Add env override test cases to git package (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/37478176d82c2a099f0b4c85b86e40d01c857531\"\u003e\u003ccode\u003e3747817\u003c/code\u003e\u003c/a\u003e Bump actions/create-github-app-token from 3.1.1 to 3.2.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4544\"\u003e#4544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/9eddb9cdeb75daab3c3b699060ae1a38ed199961\"\u003e\u003ccode\u003e9eddb9c\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d46006023cfbff8bd7571a8c8b908455865005b2\"\u003e\u003ccode\u003ed460060\u003c/code\u003e\u003c/a\u003e Update README.md (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/2dae4779331f5d24244176ce168758fcc25b84e7\"\u003e\u003ccode\u003e2dae477\u003c/code\u003e\u003c/a\u003e Fix LSP documentSymbol marking every symbol as deprecated (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4531\"\u003e#4531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bufbuild/buf/compare/v1.68.4...v1.70.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@testcontainers/postgresql` from 11.14.0 to 12.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-node/releases\"\u003e@​testcontainers/postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.0.1\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Podman image healthcheck detection \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd npm dependency release age cooldown \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse Docker Hub Redpanda image \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse preinstalled Podman in checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify affected package checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd npm publish dry run workflow \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade build agents from Ubuntu 22.04 to 24.04 \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove module compile checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1327\"\u003e#1327\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump tmp from 0.2.5 to 0.2.6 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 14 directories with 16 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group with 13 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 13 directories with 12 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 1 directory with 22 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.0\u003c/h2\u003e\n\u003ch2\u003e🚨 Breaking Changes\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eNode 20 is EOL. Minimum engine requirement is now \u003ccode\u003e\u0026gt;= 22.22\u003c/code\u003e, matching the constraints from our dependencies.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePreviously, when no wait strategy was configured, Testcontainers defaulted to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe new default wait strategy uses a Docker healthcheck when one is configured on the container image or service, falling back to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e when no healthcheck is available.\u003c/p\u003e\n\u003cp\u003eTo keep the previous behaviour, configure \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e explicitly:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { DockerComposeEnvironment, GenericContainer, Wait } from \u0026quot;testcontainers\u0026quot;;\r\n\u003cp\u003e// Container: opt back into the previous default of waiting for listening ports\nconst container = await new GenericContainer(\u0026quot;my-image:latest\u0026quot;)\n.withExposedPorts(8080)\n.withWaitStrategy(Wait.forListeningPorts())\n.start();\u003c/p\u003e\n\u003cp\u003e// Compose: apply the previous default to all services\nconst environment = await new DockerComposeEnvironment(composeFilePath, \u0026quot;docker-compose.yml\u0026quot;)\n.withDefaultWaitStrategy(Wait.forListeningPorts())\n.up();\u003c/p\u003e\n\u003cp\u003e// Compose: or apply it to a specific compose container\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/4d8de0cd81c26734b2c95b5fd717fa62ea0648eb\"\u003e\u003ccode\u003e4d8de0c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;v12.0.1\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/d2e4da4b820d5694b120739dad0c360c9e50c3b6\"\u003e\u003ccode\u003ed2e4da4\u003c/code\u003e\u003c/a\u003e v12.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/1077fd6bce442a08fdea707536290a1ae7a0de88\"\u003e\u003ccode\u003e1077fd6\u003c/code\u003e\u003c/a\u003e Revert default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1346\"\u003e#1346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/665feb4f42073eb7394435a84c6eff9f20d7a714\"\u003e\u003ccode\u003e665feb4\u003c/code\u003e\u003c/a\u003e Bump tmp from 0.2.5 to 0.2.6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cdb8366ad8c17692782a2073406209699eeeff73\"\u003e\u003ccode\u003ecdb8366\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 14 directories with 16 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/3148791de679c3208beb6c1a8f37eafe8abb6810\"\u003e\u003ccode\u003e3148791\u003c/code\u003e\u003c/a\u003e Add default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1340\"\u003e#1340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/34c581136a78d3b2098253c8ed86515617d76a52\"\u003e\u003ccode\u003e34c5811\u003c/code\u003e\u003c/a\u003e Add npm dependency release age cooldown (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/c584af1ca12b059c13ba9d76d3b73a2440dbae92\"\u003e\u003ccode\u003ec584af1\u003c/code\u003e\u003c/a\u003e Fix Podman image healthcheck detection (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cae5c26312c234df0001f2866e9d8e58002e54c7\"\u003e\u003ccode\u003ecae5c26\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 13 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/33e1dc109cc94ef9b4e0020b4a6fd9e8b8a354af\"\u003e\u003ccode\u003e33e1dc1\u003c/code\u003e\u003c/a\u003e Use Docker Hub Redpanda image (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-node/compare/v11.14.0...v12.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.3.0 to 30.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003ejest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev30.4.2\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.1\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.0\u003c/h2\u003e\n\u003cp\u003eBig release! 😀\u003c/p\u003e\n\u003cp\u003eMain feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work \u003ccode\u003erequire(esm)\u003c/code\u003e module is now supported on Node 24.9+ (still requires \u003ccode\u003e--experimental-vm-modules\u003c/code\u003e like before).\u003c/p\u003e\n\u003cp\u003eIn addition we now support fake timers for the recently released \u003ccode\u003eTemporal\u003c/code\u003e API in Node v26.\u003c/p\u003e\n\u003cp\u003eReact 19 is also supported properly in \u003ccode\u003epretty-format\u003c/code\u003e, meaning snapshots of React components now work like they should.\u003c/p\u003e\n\u003cp\u003eDue to all the changes, there might be regressions that snuck in. Please report them!\u003c/p\u003e\n\u003cp\u003eFull list of changes below\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\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/jestjs/jest/blob/main/CHANGELOG.md\"\u003ejest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.4.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[pretty-format]\u003c/code\u003e Support React 19 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16123\"\u003e#16123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect-utils]\u003c/code\u003e Fix \u003ccode\u003etoStrictEqual\u003c/code\u003e failing on \u003ccode\u003estructuredClone\u003c/code\u003e results due to cross-realm constructor mismatch (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15959\"\u003e#15959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Prevent \u003ccode\u003etoMatchObject\u003c/code\u003e/subset matching from throwing when encountering exotic iterables (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15952\"\u003e#15952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[fake-timers]\u003c/code\u003e Convert \u003ccode\u003eDate\u003c/code\u003e to milliseconds before passing to \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16029\"\u003e#16029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest]\u003c/code\u003e Export \u003ccode\u003eGlobalConfig\u003c/code\u003e and \u003ccode\u003eProjectConfig\u003c/code\u003e TypeScript types (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Prevent crash when \u003ccode\u003easyncError\u003c/code\u003e is undefined for non-Error throws (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16003\"\u003e#16003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Include \u003ccode\u003eError.cause\u003c/code\u003e in JSON \u003ccode\u003efailureMessages\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15967\"\u003e#15967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Fix preset path resolution on Windows when the preset uses subpath \u003ccode\u003eexports\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15961\"\u003e#15961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config without a validation warning (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Project config validator now emits \u0026quot;is not supported in an individual project configuration\u0026quot; instead of \u0026quot;probably a typing mistake\u0026quot; for known global-only options (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Fix \u003ccode\u003e--localstorage-file\u003c/code\u003e warning on Node 25+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16086\"\u003e#16086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16137\"\u003e#16137\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/jestjs/jest/commit/746f2a0f57c56e3bba555280f0587d40f3db95c0\"\u003e\u003ccode\u003e746f2a0\u003c/code\u003e\u003c/a\u003e v30.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/b3b4a09ed3005369dacc7466d1d2122797283785\"\u003e\u003ccode\u003eb3b4a09\u003c/code\u003e\u003c/a\u003e v30.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/5cbb21e0b3037edb42e503ec1a1ce80efad40c20\"\u003e\u003ccode\u003e5cbb21e\u003c/code\u003e\u003c/a\u003e v30.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/db7141a93cc85fab81cf9c25368e1f2b2c312286\"\u003e\u003ccode\u003edb7141a\u003c/code\u003e\u003c/a\u003e fix: allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.2/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are to...\n\n_Description has been truncated_","html_url":"https://github.com/oyakh1/hiero-mirror-node--022/pull/28","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyakh1%2Fhiero-mirror-node--022/issues/28","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/28/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-06-03T07:31:42.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4577823742","node_id":"PR_kwDOSOOyhM7iHTbK","number":27,"state":"closed","title":"Bump the dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-15T20:37:13.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-03T07:31:42.000Z","updated_at":"2026-06-15T20:37:15.000Z","time_to_close":1083931,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":12,"packages":[{"name":"@opentelemetry/exporter-prometheus","old_version":"0.215.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"ioredis","old_version":"5.10.1","new_version":"5.11.0","repository_url":"https://github.com/luin/ioredis"},{"name":"js-yaml","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"qs","old_version":"6.15.1","new_version":"6.15.2","repository_url":"https://github.com/ljharb/qs"},{"name":"sql-formatter","old_version":"15.7.3","new_version":"15.8.0","repository_url":"https://github.com/sql-formatter-org/sql-formatter"},{"name":"@bufbuild/buf","old_version":"1.68.4","new_version":"1.70.0","repository_url":"https://github.com/bufbuild/buf"},{"name":"@testcontainers/postgresql","old_version":"11.14.0","new_version":"12.0.1","repository_url":"https://github.com/testcontainers/testcontainers-node"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"tar","old_version":"7.5.13","new_version":"7.5.16","repository_url":"https://github.com/isaacs/node-tar"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 11 updates in the /rest directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@opentelemetry/exporter-prometheus](https://github.com/open-telemetry/opentelemetry-js) | `0.215.0` | `0.218.0` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.1` | `5.11.0` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `4.1.1` | `4.2.0` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [qs](https://github.com/ljharb/qs) | `6.15.1` | `6.15.2` |\n| [sql-formatter](https://github.com/sql-formatter-org/sql-formatter) | `15.7.3` | `15.8.0` |\n| [@bufbuild/buf](https://github.com/bufbuild/buf) | `1.68.4` | `1.70.0` |\n| [@testcontainers/postgresql](https://github.com/testcontainers/testcontainers-node) | `11.14.0` | `12.0.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |\n| [tar](https://github.com/isaacs/node-tar) | `7.5.13` | `7.5.16` |\n\n\nUpdates `@opentelemetry/exporter-prometheus` from 0.215.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/exporter-prometheus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.215.0...experimental/v0.218.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/sdk-metrics` from 2.7.0 to 2.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-metrics's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.7.1\u003c/h2\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(sdk-metrics): reduce loop overhead in sdk hot paths \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6593\"\u003e#6593\u003c/a\u003e \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md\"\u003e@​opentelemetry/sdk-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: test Node.js 26 in CI \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6671\"\u003e#6671\u003c/a\u003e \u003ca href=\"https://github.com/cjihrig\"\u003e\u003ccode\u003e@​cjihrig\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7\"\u003e\u003ccode\u003e2400d83\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6647\"\u003e#6647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f7a9b7cc854232ebf7dea2d3ec0d6adc49128f53\"\u003e\u003ccode\u003ef7a9b7c\u003c/code\u003e\u003c/a\u003e fix(otlp-transformer): pin protobufjs to 8.0.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6646\"\u003e#6646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/cb38d7f833781c336c990757f773ce9c8360434a\"\u003e\u003ccode\u003ecb38d7f\u003c/code\u003e\u003c/a\u003e test(otlp-transformer): add metrics transfrom benchmark (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6628\"\u003e#6628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a28f12fef5fbdfb3b77a1334175b752883ef708a\"\u003e\u003ccode\u003ea28f12f\u003c/code\u003e\u003c/a\u003e fix(opentelemetry-core): defer tracestate vaidation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6459\"\u003e#6459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b27c5146ac21deb3fb1e8fca370d34f1828f3cc6\"\u003e\u003ccode\u003eb27c514\u003c/code\u003e\u003c/a\u003e refactor(opentelemetry-exporter-prometheus): do not call `enforcePrometheusNa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a2a8186e65a04dfdaf442927fbab268076cd4f5a\"\u003e\u003ccode\u003ea2a8186\u003c/code\u003e\u003c/a\u003e perf(sdk-trace-base): optimize TraceIdRatioBasedSampler hex parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6284\"\u003e#6284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/4c0f3f1b911c4740a085b6c66d267bb74826b475\"\u003e\u003ccode\u003e4c0f3f1\u003c/code\u003e\u003c/a\u003e feat(sdk-node): set TracerProvider in startNodeSDK() (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6607\"\u003e#6607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/417f2f17e4234417b34dbf7bdf8e24c330259dd2\"\u003e\u003ccode\u003e417f2f1\u003c/code\u003e\u003c/a\u003e fix(instr-xhr): do not unpatch XHR methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6611\"\u003e#6611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/47ac523b124be222ac89160e4623e8a60c960f35\"\u003e\u003ccode\u003e47ac523\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: allow browser maintainers to approve changelog edits\u0026quot; (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6627\"\u003e#6627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/86c621d5b8344f1ecdc13a9841a90604912d0055\"\u003e\u003ccode\u003e86c621d\u003c/code\u003e\u003c/a\u003e fix(instrumentation-fetch): tolerate non-writable globalThis.fetch and fix pr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/v2.7.0...v2.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ioredis` from 5.10.1 to 5.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/luin/ioredis/releases\"\u003eioredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/blob/main/CHANGELOG.md\"\u003eioredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/commit/14904327fc212d1f592172d776ebe45178fb7ee7\"\u003e\u003ccode\u003e1490432\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/5359d4d090c17f2ca1e86d92b139cd935ba4643d\"\u003e\u003ccode\u003e5359d4d\u003c/code\u003e\u003c/a\u003e refactor(utils): inline defaults and isArguments helpers (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003e\u003ccode\u003eb7b3def\u003c/code\u003e\u003c/a\u003e feat: add vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/faa53fdfae7f605c19bd74564639640f9d30d404\"\u003e\u003ccode\u003efaa53fd\u003c/code\u003e\u003c/a\u003e ci: update Node.js and Redis test matrix (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e\u003ccode\u003e37d0695\u003c/code\u003e\u003c/a\u003e feat: add increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/612ee9dfe96c1df942eaa415ca94881077191b5c\"\u003e\u003ccode\u003e612ee9d\u003c/code\u003e\u003c/a\u003e chore: update Redis 8.8 test image to custom (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003e\u003ccode\u003ebaf68d6\u003c/code\u003e\u003c/a\u003e feat: add array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/ba3b4cfb6204eccecde928f691a60a869313a0c9\"\u003e\u003ccode\u003eba3b4cf\u003c/code\u003e\u003c/a\u003e test: update Redis 8.8 test image to m03 (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2113\"\u003e#2113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/32dd17b3f714823d9fec09da5f3bc489ef12475d\"\u003e\u003ccode\u003e32dd17b\u003c/code\u003e\u003c/a\u003e test: add hash field subkey notification coverage (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2112\"\u003e#2112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e\u003ccode\u003e04a4615\u003c/code\u003e\u003c/a\u003e feat: add Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `js-yaml` from 4.1.1 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md\"\u003ejs-yaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.0] - 2026-06-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003edocs/safety.md\u003c/code\u003e with notes about processing untrusted YAML.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxDepth\u003c/code\u003e (100) loader option. Not a problem, but gives a better\nexception instead of RangeError on stack overflow.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxMergeSeqLength\u003c/code\u003e (20) loader option. Not a problem after \u003ccode\u003emerge\u003c/code\u003e fix,\nbut an additional restriction for safety.\u003c/li\u003e\n\u003cli\u003eAdded sourcemaps to \u003ccode\u003edist/\u003c/code\u003e builds.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop resolving numbers with underscores as numeric scalars, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/627\"\u003e#627\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSwitched dev toolchains to Vite / neostandard.\u003c/li\u003e\n\u003cli\u003eUpdated demo.\u003c/li\u003e\n\u003cli\u003eReorganized tests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edist/\u003c/code\u003e files are no longer kept in the repository.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parsing of properties on the first implicit block mapping key, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/62\"\u003e#62\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix trailing whitespace handling when folding flow scalar lines, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReject top-level block scalars without content indentation, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/280\"\u003e#280\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnsure numbers survive round-trip, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/737\"\u003e#737\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix test coverage for issue \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/221\"\u003e#221\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix flow scalar trailing whitespace folding, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix digits in YAML named tag handles.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix potential DoS via quadratic complexity in merge - deduplicate repeated\nelements (makes sense for malformed files \u0026gt; 10K).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.14.2] - 2025-11-15\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackported v4.1.1 fix to v3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nodeca/js-yaml/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 8.20.0 to 8.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epg@8.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3521\"\u003eSASL SCRAM\u003c/a\u003e server error responses properly.\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3667\"\u003enode@26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escramMaxIterations\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3677\"\u003econfig option\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eclient.getTransactionStatus()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3645\"\u003emethod\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/brianc/node-postgres/commit/544b1ce8152bc280e398dc1e8a66920abe6a640e\"\u003e\u003ccode\u003e544b1ce\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/cc03fa5cdf0f1e67b2518ebad5cf2269206aa49c\"\u003e\u003ccode\u003ecc03fa5\u003c/code\u003e\u003c/a\u003e Add scramMaxIterations option to limit SCRAM iteration count (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f776327b3fcdd997c67e866ef7c620ef9c26b3f2\"\u003e\u003ccode\u003ef776327\u003c/code\u003e\u003c/a\u003e Remove compatibility code for unsupported versions of Node (\u0026lt;16) (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3678\"\u003e#3678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f252870eba73c15449b57562e6698b5859e32095\"\u003e\u003ccode\u003ef252870\u003c/code\u003e\u003c/a\u003e cleanup: pg utils (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/c8da6ab9326d93005e6947217cf665f707e08ec7\"\u003e\u003ccode\u003ec8da6ab\u003c/code\u003e\u003c/a\u003e Assorted test cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/fa47e73349786c2a76db98801d60c05371b0a906\"\u003e\u003ccode\u003efa47e73\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eClient#end\u003c/code\u003e callback being called multiple times when first is no-op (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/88a7e60c7191ce8061d6276b299895bf5511e042\"\u003e\u003ccode\u003e88a7e60\u003c/code\u003e\u003c/a\u003e cleanup: Move declaration to more natural place\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/2095247a7b10ebe19cd7d518e07ee2f259dda70a\"\u003e\u003ccode\u003e2095247\u003c/code\u003e\u003c/a\u003e cleanup: Combine duplicated code in \u003ccode\u003eClient#query\u003c/code\u003e and avoid unneeded early n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/0ac3eddef6481f4e4f9359c65d3c0cfd7d2124e1\"\u003e\u003ccode\u003e0ac3edd\u003c/code\u003e\u003c/a\u003e fix: apply SASLprep (RFC 4013) to passwords before SCRAM-SHA-256 PBKDF2 (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/be880d45552269f0b847a3e568014bde6536eae3\"\u003e\u003ccode\u003ebe880d4\u003c/code\u003e\u003c/a\u003e Assorted test fixes and cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `qs` from 6.15.1 to 6.15.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ljharb/qs/blob/main/CHANGELOG.md\"\u003eqs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003cstrong\u003e6.15.2\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + \u003ccode\u003eencodeValuesOnly\u003c/code\u003e instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[readme] fix grammar (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Tests] add regression tests for keys containing percent-encoded bracket text\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/ljharb/qs/commit/9aca4076fe788338c67cf7e115f0be6bc58d85a8\"\u003e\u003ccode\u003e9aca407\u003c/code\u003e\u003c/a\u003e v6.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/5e33d33447ed0bf1ddab9abc41d27dea4687d992\"\u003e\u003ccode\u003e5e33d33\u003c/code\u003e\u003c/a\u003e [Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/21f80b33e5c8b3f7eba1034fff0da4a4a37a1d41\"\u003e\u003ccode\u003e21f80b3\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + `e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a0a81ea2071acce3eff41a040f719ac8f5c4f64c\"\u003e\u003ccode\u003ea0a81ea\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/e3062f78f5233b338ceeb8e8dfa5a07dea4b32a8\"\u003e\u003ccode\u003ee3062f7\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/0c180a40adb8c6703fffc85b2ff06ca209f5c1e0\"\u003e\u003ccode\u003e0c180a4\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/3a8b94aec19bd664720f6f6b1e66c4a0dfe4b656\"\u003e\u003ccode\u003e3a8b94a\u003c/code\u003e\u003c/a\u003e [Tests] add regression tests for keys containing percent-encoded bracket text\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/96755abd357c0e534dd3442a84a04d08864bfe0d\"\u003e\u003ccode\u003e96755ab\u003c/code\u003e\u003c/a\u003e [readme] fix grammar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a419ce5bbfcdb98a299f1a0bb47ea055baef20e6\"\u003e\u003ccode\u003ea419ce5\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ljharb/qs/compare/v6.15.1...v6.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sql-formatter` from 15.7.3 to 15.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/releases\"\u003esql-formatter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e15.8.0\u003c/h2\u003e\n\u003ch3\u003ePostgreSQL formatting\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for PostgreSQL keywords in \u003ccode\u003eCREATE CONSTRAINT TRIGGER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/948\"\u003e#948\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/karlhorky\"\u003e\u003ccode\u003e@​karlhorky\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch from yarn to pnpm (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.4...v15.8.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003e15.7.4\u003c/h2\u003e\n\u003ch3\u003eBugfix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Tcl-style $param(...) syntax in SQLite (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/944\"\u003e#944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/943\"\u003e#943\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\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/sql-formatter-org/sql-formatter/commit/a3bfeeb4e96415efe4820a1b2c7ed592384aa0be\"\u003e\u003ccode\u003ea3bfeeb\u003c/code\u003e\u003c/a\u003e Release v15.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/a7f50d8a68f667b90cfd4e75b1fd683e67413a89\"\u003e\u003ccode\u003ea7f50d8\u003c/code\u003e\u003c/a\u003e Add tagName config to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dab8693b1728696981f3db9b0780b8a7229687c3\"\u003e\u003ccode\u003edab8693\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm as plugin to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/5ab2c8019f9d09ccf3df388d74672821b27ce241\"\u003e\u003ccode\u003e5ab2c80\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/1a000ca83e2e30999f222193ef28c14a949998a2\"\u003e\u003ccode\u003e1a000ca\u003c/code\u003e\u003c/a\u003e Configure release-it to use pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/34fe5b080c11b1cecbe3a0c5d8b89ed8a62941ef\"\u003e\u003ccode\u003e34fe5b0\u003c/code\u003e\u003c/a\u003e Fix scripts using -- (pnpm interprets this as file name)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/6610b6a65a1f7a3654d45bc6100a897649b3136d\"\u003e\u003ccode\u003e6610b6a\u003c/code\u003e\u003c/a\u003e Add pnpm to lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/af633e85fb684650ee7e3b48f1a9dcd897dc050e\"\u003e\u003ccode\u003eaf633e8\u003c/code\u003e\u003c/a\u003e Switch from yarn@1.22.22 to pnpm@11.0.8 (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/ba7437e24b51bb7c5cf38dfcc9f4e58a5dc7fab5\"\u003e\u003ccode\u003eba7437e\u003c/code\u003e\u003c/a\u003e Ignore pnpm-lock.yaml from Prettier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dcee63f96d576ed828dd5af67d26ee9a3728e2db\"\u003e\u003ccode\u003edcee63f\u003c/code\u003e\u003c/a\u003e Work around pnpm bug with pmOnFail + devEngines.packageManager\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.3...v15.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@bufbuild/buf` from 1.68.4 to 1.70.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bufbuild/buf/releases\"\u003e@​bufbuild/buf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.70.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e, \u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules and make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.69.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/blob/main/CHANGELOG.md\"\u003e@​bufbuild/buf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.70.0] - 2026-05-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e,\n\u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules\nand make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v1.69.0] - 2026-04-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/commit/4f657db175eb7418efef85b35db97472ff9df526\"\u003e\u003ccode\u003e4f657db\u003c/code\u003e\u003c/a\u003e Release v1.70.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4556\"\u003e#4556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/f278fa0989621eca516eb5a0a5b00b8ebe94b777\"\u003e\u003ccode\u003ef278fa0\u003c/code\u003e\u003c/a\u003e Bump buf.build/gen/go/bufbuild/registry/connectrpc/go from 1.19.2-20260507063...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/977b89ba82ca288850b6ba64602d6d201d331cd9\"\u003e\u003ccode\u003e977b89b\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4555\"\u003e#4555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/88dfb3409802d618d1fe4f8b6beef84b06df0ea3\"\u003e\u003ccode\u003e88dfb34\u003c/code\u003e\u003c/a\u003e Lint MessageRules.oneof in PROTOVALIDATE check (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4540\"\u003e#4540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/e96239e0572348b8f9d6ee8345b97713aa8e46f6\"\u003e\u003ccode\u003ee96239e\u003c/code\u003e\u003c/a\u003e Filter out GIT_WORK_TREE from cloner environment variables (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d0e7d39ca13bbacc73a3e82d1073fb1fe71a4e3e\"\u003e\u003ccode\u003ed0e7d39\u003c/code\u003e\u003c/a\u003e Add env override test cases to git package (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/37478176d82c2a099f0b4c85b86e40d01c857531\"\u003e\u003ccode\u003e3747817\u003c/code\u003e\u003c/a\u003e Bump actions/create-github-app-token from 3.1.1 to 3.2.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4544\"\u003e#4544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/9eddb9cdeb75daab3c3b699060ae1a38ed199961\"\u003e\u003ccode\u003e9eddb9c\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d46006023cfbff8bd7571a8c8b908455865005b2\"\u003e\u003ccode\u003ed460060\u003c/code\u003e\u003c/a\u003e Update README.md (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/2dae4779331f5d24244176ce168758fcc25b84e7\"\u003e\u003ccode\u003e2dae477\u003c/code\u003e\u003c/a\u003e Fix LSP documentSymbol marking every symbol as deprecated (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4531\"\u003e#4531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bufbuild/buf/compare/v1.68.4...v1.70.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@testcontainers/postgresql` from 11.14.0 to 12.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-node/releases\"\u003e@​testcontainers/postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.0.1\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Podman image healthcheck detection \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd npm dependency release age cooldown \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse Docker Hub Redpanda image \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse preinstalled Podman in checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify affected package checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd npm publish dry run workflow \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade build agents from Ubuntu 22.04 to 24.04 \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove module compile checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1327\"\u003e#1327\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump tmp from 0.2.5 to 0.2.6 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 14 directories with 16 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group with 13 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 13 directories with 12 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 1 directory with 22 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.0\u003c/h2\u003e\n\u003ch2\u003e🚨 Breaking Changes\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eNode 20 is EOL. Minimum engine requirement is now \u003ccode\u003e\u0026gt;= 22.22\u003c/code\u003e, matching the constraints from our dependencies.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePreviously, when no wait strategy was configured, Testcontainers defaulted to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe new default wait strategy uses a Docker healthcheck when one is configured on the container image or service, falling back to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e when no healthcheck is available.\u003c/p\u003e\n\u003cp\u003eTo keep the previous behaviour, configure \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e explicitly:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { DockerComposeEnvironment, GenericContainer, Wait } from \u0026quot;testcontainers\u0026quot;;\r\n\u003cp\u003e// Container: opt back into the previous default of waiting for listening ports\nconst container = await new GenericContainer(\u0026quot;my-image:latest\u0026quot;)\n.withExposedPorts(8080)\n.withWaitStrategy(Wait.forListeningPorts())\n.start();\u003c/p\u003e\n\u003cp\u003e// Compose: apply the previous default to all services\nconst environment = await new DockerComposeEnvironment(composeFilePath, \u0026quot;docker-compose.yml\u0026quot;)\n.withDefaultWaitStrategy(Wait.forListeningPorts())\n.up();\u003c/p\u003e\n\u003cp\u003e// Compose: or apply it to a specific compose container\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/4d8de0cd81c26734b2c95b5fd717fa62ea0648eb\"\u003e\u003ccode\u003e4d8de0c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;v12.0.1\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/d2e4da4b820d5694b120739dad0c360c9e50c3b6\"\u003e\u003ccode\u003ed2e4da4\u003c/code\u003e\u003c/a\u003e v12.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/1077fd6bce442a08fdea707536290a1ae7a0de88\"\u003e\u003ccode\u003e1077fd6\u003c/code\u003e\u003c/a\u003e Revert default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1346\"\u003e#1346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/665feb4f42073eb7394435a84c6eff9f20d7a714\"\u003e\u003ccode\u003e665feb4\u003c/code\u003e\u003c/a\u003e Bump tmp from 0.2.5 to 0.2.6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cdb8366ad8c17692782a2073406209699eeeff73\"\u003e\u003ccode\u003ecdb8366\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 14 directories with 16 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/3148791de679c3208beb6c1a8f37eafe8abb6810\"\u003e\u003ccode\u003e3148791\u003c/code\u003e\u003c/a\u003e Add default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1340\"\u003e#1340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/34c581136a78d3b2098253c8ed86515617d76a52\"\u003e\u003ccode\u003e34c5811\u003c/code\u003e\u003c/a\u003e Add npm dependency release age cooldown (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/c584af1ca12b059c13ba9d76d3b73a2440dbae92\"\u003e\u003ccode\u003ec584af1\u003c/code\u003e\u003c/a\u003e Fix Podman image healthcheck detection (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cae5c26312c234df0001f2866e9d8e58002e54c7\"\u003e\u003ccode\u003ecae5c26\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 13 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/33e1dc109cc94ef9b4e0020b4a6fd9e8b8a354af\"\u003e\u003ccode\u003e33e1dc1\u003c/code\u003e\u003c/a\u003e Use Docker Hub Redpanda image (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-node/compare/v11.14.0...v12.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.3.0 to 30.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003ejest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev30.4.2\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.1\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.0\u003c/h2\u003e\n\u003cp\u003eBig release! 😀\u003c/p\u003e\n\u003cp\u003eMain feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work \u003ccode\u003erequire(esm)\u003c/code\u003e module is now supported on Node 24.9+ (still requires \u003ccode\u003e--experimental-vm-modules\u003c/code\u003e like before).\u003c/p\u003e\n\u003cp\u003eIn addition we now support fake timers for the recently released \u003ccode\u003eTemporal\u003c/code\u003e API in Node v26.\u003c/p\u003e\n\u003cp\u003eReact 19 is also supported properly in \u003ccode\u003epretty-format\u003c/code\u003e, meaning snapshots of React components now work like they should.\u003c/p\u003e\n\u003cp\u003eDue to all the changes, there might be regressions that snuck in. Please report them!\u003c/p\u003e\n\u003cp\u003eFull list of changes below\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\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/jestjs/jest/blob/main/CHANGELOG.md\"\u003ejest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.4.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[pretty-format]\u003c/code\u003e Support React 19 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16123\"\u003e#16123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect-utils]\u003c/code\u003e Fix \u003ccode\u003etoStrictEqual\u003c/code\u003e failing on \u003ccode\u003estructuredClone\u003c/code\u003e results due to cross-realm constructor mismatch (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15959\"\u003e#15959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Prevent \u003ccode\u003etoMatchObject\u003c/code\u003e/subset matching from throwing when encountering exotic iterables (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15952\"\u003e#15952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[fake-timers]\u003c/code\u003e Convert \u003ccode\u003eDate\u003c/code\u003e to milliseconds before passing to \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16029\"\u003e#16029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest]\u003c/code\u003e Export \u003ccode\u003eGlobalConfig\u003c/code\u003e and \u003ccode\u003eProjectConfig\u003c/code\u003e TypeScript types (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Prevent crash when \u003ccode\u003easyncError\u003c/code\u003e is undefined for non-Error throws (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16003\"\u003e#16003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Include \u003ccode\u003eError.cause\u003c/code\u003e in JSON \u003ccode\u003efailureMessages\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15967\"\u003e#15967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Fix preset path resolution on Windows when the preset uses subpath \u003ccode\u003eexports\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15961\"\u003e#15961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config without a validation warning (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Project config validator now emits \u0026quot;is not supported in an individual project configuration\u0026quot; instead of \u0026quot;probably a typing mistake\u0026quot; for known global-only options (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Fix \u003ccode\u003e--localstorage-file\u003c/code\u003e warning on Node 25+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16086\"\u003e#16086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16137\"\u003e#16137\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/jestjs/jest/commit/746f2a0f57c56e3bba555280f0587d40f3db95c0\"\u003e\u003ccode\u003e746f2a0\u003c/code\u003e\u003c/a\u003e v30.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/b3b4a09ed3005369dacc7466d1d2122797283785\"\u003e\u003ccode\u003eb3b4a09\u003c/code\u003e\u003c/a\u003e v30.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/5cbb21e0b3037edb42e503ec1a1ce80efad40c20\"\u003e\u003ccode\u003e5cbb21e\u003c/code\u003e\u003c/a\u003e v30.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/db7141a93cc85fab81cf9c25368e1f2b2c312286\"\u003e\u003ccode\u003edb7141a\u003c/code\u003e\u003c/a\u003e fix: allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.2/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are to...\n\n_Description has been truncated_","html_url":"https://github.com/oyakh1/hiero-mirror-node--036/pull/27","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyakh1%2Fhiero-mirror-node--036/issues/27","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/27/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-06-02T22:41:26.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4575473236","node_id":"PR_kwDOQMWxUc7h_r7q","number":92,"state":"open","title":"chore(deps)(deps): bump the major-dependencies group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","triage"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-02T22:41:26.000Z","updated_at":"2026-06-06T13:53:06.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"major-dependencies","update_count":11,"packages":[{"name":"dotenv","old_version":"16.6.1","new_version":"17.4.2","repository_url":"https://github.com/motdotla/dotenv"},{"name":"express","old_version":"4.22.1","new_version":"5.2.1","repository_url":"https://github.com/expressjs/express"},{"name":"nodemailer","old_version":"7.0.13","new_version":"8.0.10","repository_url":"https://github.com/nodemailer/nodemailer"},{"name":"vue-router","old_version":"4.6.4","new_version":"5.1.0","repository_url":"https://github.com/vuejs/router"},{"name":"jsdom","old_version":"27.4.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"lint-staged","old_version":"16.4.0","new_version":"17.0.7","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"postcss-cli","old_version":"10.1.0","new_version":"11.0.1","repository_url":"https://github.com/postcss/postcss-cli"},{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"unplugin-vue-components","old_version":"30.0.0","new_version":"32.1.0","repository_url":"https://github.com/unplugin/unplugin-vue-components"},{"name":"vite","old_version":"7.3.2","new_version":"8.0.16","repository_url":"https://github.com/vitejs/vite"},{"name":"knip","old_version":"5.88.1","new_version":"6.15.0","repository_url":"https://github.com/webpro-nl/knip"}],"path":null,"ecosystem":"npm"},"body":"Bumps the major-dependencies group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [dotenv](https://github.com/motdotla/dotenv) | `16.6.1` | `17.4.2` |\n| [express](https://github.com/expressjs/express) | `4.22.1` | `5.2.1` |\n| [nodemailer](https://github.com/nodemailer/nodemailer) | `7.0.13` | `8.0.10` |\n| [vue-router](https://github.com/vuejs/router) | `4.6.4` | `5.1.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `27.4.0` | `29.1.1` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.4.0` | `17.0.7` |\n| [postcss-cli](https://github.com/postcss/postcss-cli) | `10.1.0` | `11.0.1` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |\n| [unplugin-vue-components](https://github.com/unplugin/unplugin-vue-components) | `30.0.0` | `32.1.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `7.3.2` | `8.0.16` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `5.88.1` | `6.15.0` |\n\n\nUpdates `dotenv` from 16.6.1 to 17.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md\"\u003edotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.4.1...v17.4.2\"\u003e17.4.2\u003c/a\u003e (2026-04-12)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved skill files - tightened up details (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1009\"\u003e#1009\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.4.0...v17.4.1\"\u003e17.4.1\u003c/a\u003e (2026-04-05)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange text \u003ccode\u003einjecting\u003c/code\u003e to \u003ccode\u003einjected\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1005\"\u003e#1005\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.3.1...v17.4.0\"\u003e17.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eskills/\u003c/code\u003e folder with focused agent skills: \u003ccode\u003eskills/dotenv/SKILL.md\u003c/code\u003e (core usage) and \u003ccode\u003eskills/dotenvx/SKILL.md\u003c/code\u003e (encryption, multiple environments, variable expansion) for AI coding agent discovery via the skills.sh ecosystem (\u003ccode\u003enpx skills add motdotla/dotenv\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTighten up logs: \u003ccode\u003e◇ injecting env (14) from .env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1003\"\u003e#1003\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.3.0...v17.3.1\"\u003e17.3.1\u003c/a\u003e (2026-02-12)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix as2 example command in README and update spanish README\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.2.4...v17.3.0\"\u003e17.3.0\u003c/a\u003e (2026-02-12)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a new README section on dotenv’s approach to the agentic future.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite README to get humans started more quickly with less noise while simultaneously making more accessible for llms and agents to go deeper into details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.2.3...v17.2.4\"\u003e17.2.4\u003c/a\u003e (2026-02-05)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003eDotenvPopulateInput\u003c/code\u003e accept \u003ccode\u003eNodeJS.ProcessEnv\u003c/code\u003e type (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/915\"\u003e#915\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eGive back to dotenv by checking out my newest project \u003ca href=\"https://github.com/vestauth/vestauth\"\u003evestauth\u003c/a\u003e. It is auth for agents. Thank you for using my software.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.2.2...v17.2.3\"\u003e17.2.3\u003c/a\u003e (2025-09-29)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed typescript error definition (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/912\"\u003e#912\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/motdotla/dotenv/commit/f116f70310abab44fbfddbaeb833698b5bf84a9b\"\u003e\u003ccode\u003ef116f70\u003c/code\u003e\u003c/a\u003e 17.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/3a8161274fdd745239b86e604f4a7e972a1d3902\"\u003e\u003ccode\u003e3a81612\u003c/code\u003e\u003c/a\u003e fix visual order of faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/13f55a89e136b2024e68d277b836dd5260fc16cf\"\u003e\u003ccode\u003e13f55a8\u003c/code\u003e\u003c/a\u003e Merge branch 'skill'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/4bbbf73f0906bd69975c48bf310a84b686e5b1b4\"\u003e\u003ccode\u003e4bbbf73\u003c/code\u003e\u003c/a\u003e reorganize faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/c3da64bb2ba1d0e02f8b9b2b7ccb7e6f7a51d56c\"\u003e\u003ccode\u003ec3da64b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/motdotla/dotenv/issues/1009\"\u003e#1009\u003c/a\u003e from motdotla/skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/6f743b173fbd6c26f7eab7040d251f9a6c8b977d\"\u003e\u003ccode\u003e6f743b1\u003c/code\u003e\u003c/a\u003e update source\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/fc2c6247e858a32d4024cb06a5b0c79aa35851f5\"\u003e\u003ccode\u003efc2c624\u003c/code\u003e\u003c/a\u003e update skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/972315ba74bb2bbba4483d112e853fd26006ef8a\"\u003e\u003ccode\u003e972315b\u003c/code\u003e\u003c/a\u003e Tighten up skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/2795fce3d1ed07b4c570f1e06ab1c0d533c86997\"\u003e\u003ccode\u003e2795fce\u003c/code\u003e\u003c/a\u003e reorganize faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/d5495d4ae8e4e41ef9a682c9e00c81552794274e\"\u003e\u003ccode\u003ed5495d4\u003c/code\u003e\u003c/a\u003e adjust skill\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/motdotla/dotenv/compare/v16.6.1...v17.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express` from 4.22.1 to 5.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/express/releases\"\u003eexpress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\u003cbr /\u003e\nThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003eRelease: 5.2.1 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6933\"\u003eexpressjs/express#6933\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/express/compare/v5.2.0...v5.2.1\"\u003ehttps://github.com/expressjs/express/compare/v5.2.0...v5.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.2.0\u003c/h2\u003e\n\u003ch2\u003eImportant: Security\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.11 to 3.28.13 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/expressjs/express/pull/6429\"\u003eexpressjs/express#6429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: simplify \u003ccode\u003eacceptsLanguages\u003c/code\u003e implementation using spread operator by \u003ca href=\"https://github.com/Ayoub-Mabrouk\"\u003e\u003ccode\u003e@​Ayoub-Mabrouk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6137\"\u003eexpressjs/express#6137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eincreased code coverage of utils.js file by \u003ca href=\"https://github.com/ashish3011\"\u003e\u003ccode\u003e@​ashish3011\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6386\"\u003eexpressjs/express#6386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove duplicate word by \u003ca href=\"https://github.com/dufucun\"\u003e\u003ccode\u003e@​dufucun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6456\"\u003eexpressjs/express#6456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.13 to 3.28.16 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/expressjs/express/pull/6498\"\u003eexpressjs/express#6498\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 4.3.0 to 4.4.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/expressjs/express/pull/6497\"\u003eexpressjs/express#6497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 4.2.1 to 4.3.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/expressjs/express/pull/6496\"\u003eexpressjs/express#6496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add node.js 24 to test matrix by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6504\"\u003eexpressjs/express#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update codeql config by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6488\"\u003eexpressjs/express#6488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: wider range for query test skip by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6512\"\u003eexpressjs/express#6512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typos in test by \u003ca href=\"https://github.com/noritaka1166\"\u003e\u003ccode\u003e@​noritaka1166\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6535\"\u003eexpressjs/express#6535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: disable credential persistence for checkout actions by \u003ca href=\"https://github.com/mertssmnoglu\"\u003e\u003ccode\u003e@​mertssmnoglu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6522\"\u003eexpressjs/express#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: allow manual triggering of workflow by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6515\"\u003eexpressjs/express#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: add coverage for app.listen() variants by \u003ca href=\"https://github.com/kgarg1\"\u003e\u003ccode\u003e@​kgarg1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6476\"\u003eexpressjs/express#6476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: move documentation and charters to the discussions and .github … by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6427\"\u003eexpressjs/express#6427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.16 to 3.28.18 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/expressjs/express/pull/6549\"\u003eexpressjs/express#6549\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.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/expressjs/express/pull/6548\"\u003eexpressjs/express#6548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: enforce explicit \u003ccode\u003eBuffer\u003c/code\u003e import and add lint rule by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6525\"\u003eexpressjs/express#6525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: use node protocol for querystring by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6520\"\u003eexpressjs/express#6520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typo by \u003ca href=\"https://github.com/mountdisk\"\u003e\u003ccode\u003e@​mountdisk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6609\"\u003eexpressjs/express#6609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.18 to 3.29.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/expressjs/express/pull/6618\"\u003eexpressjs/express#6618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deprecation warnings for redirect arguments undefined by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6405\"\u003eexpressjs/express#6405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run CI when the markdown changes by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6632\"\u003eexpressjs/express#6632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: fix CONTRIBUTING link by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6653\"\u003eexpressjs/express#6653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update contributing guidelines and code of conduct links by \u003ca href=\"https://github.com/ShubhamOulkar\"\u003e\u003ccode\u003e@​ShubhamOulkar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6601\"\u003eexpressjs/express#6601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump morgan from 1.10.0 to 1.10.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/expressjs/express/pull/6679\"\u003eexpressjs/express#6679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump cookie-session from 2.1.0 to 2.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/expressjs/express/pull/6678\"\u003eexpressjs/express#6678\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elint: add --fix flag to automatic fix linting issue by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6644\"\u003eexpressjs/express#6644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: ignore yarn.lock file and update example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6588\"\u003eexpressjs/express#6588\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elib: use req.socket over deprecated req.connection by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6705\"\u003eexpressjs/express#6705\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update express app example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6718\"\u003eexpressjs/express#6718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.2 to 3.29.5 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/expressjs/express/pull/6675\"\u003eexpressjs/express#6675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove history.md from being packaged on publish by \u003ca href=\"https://github.com/sheplu\"\u003e\u003ccode\u003e@​sheplu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6780\"\u003eexpressjs/express#6780\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/expressjs/express/blob/master/History.md\"\u003eexpress's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.2.1 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRevert security fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.2.0 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eA deprecation warning was added when using \u003ccode\u003eres.redirect\u003c/code\u003e with undefined arguments, Express now emits a warning to help detect calls that pass undefined as the status or URL and make them easier to fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.1.0 / 2025-03-31\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eUint8Array\u003c/code\u003e in \u003ccode\u003eres.send()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for ETag option in \u003ccode\u003eres.sendFile()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for multiple links with the same rel in \u003ccode\u003eres.links()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd funding field to package.json\u003c/li\u003e\n\u003cli\u003eperf: use loop for acceptParams\u003c/li\u003e\n\u003cli\u003erefactor: prefix built-in node module imports\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esetprototypeof\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esafe-buffer\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003eutils-merge\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003emethods\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003edepd\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003edebug@^4.4.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003erouter@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003econtent-type@^1.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003efinalhandler@^2.1.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eqs@^6.14.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eserver-static@2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003etype-is@2.0.1\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.1 / 2024-10-08\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecookie\u003c/code\u003e semver lock to address \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2024-47764\"\u003eCVE-2024-47764\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.0 / 2024-09-10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eremove:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epath-is-absolute\u003c/code\u003e dependency - use \u003ccode\u003epath.isAbsolute\u003c/code\u003e instead\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ebreaking:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eres.status()\u003c/code\u003e accepts only integers, and input must be greater than 99 and less than 1000\n\u003cul\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eRangeError: Invalid status code: ${code}. Status code must be greater than 99 and less than 1000.\u003c/code\u003e for inputs outside this range\u003c/li\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eTypeError: Invalid status code: ${code}. Status code must be an integer.\u003c/code\u003e for non integer inputs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003edeps: send@1.0.0\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/expressjs/express/commit/dbac741a49a5a64336b70c06e85c2e2706e36336\"\u003e\u003ccode\u003edbac741\u003c/code\u003e\u003c/a\u003e 5.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/697547cde621d8b0a47b4fff6e98b29337f8c980\"\u003e\u003ccode\u003e697547c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;sec: security patch for CVE-2024-51999\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/4007ad103ba29f6426b2ec9eccfb1ceb792682a8\"\u003e\u003ccode\u003e4007ad1\u003c/code\u003e\u003c/a\u003e Release: 5.2.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6920\"\u003e#6920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/2f64f68c37c64ae333e41ff38032d21860f22255\"\u003e\u003ccode\u003e2f64f68\u003c/code\u003e\u003c/a\u003e sec: security patch for CVE-2024-51999\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/ed0ba3f1dc905d6b62eabf23bd383abcae4901ba\"\u003e\u003ccode\u003eed0ba3f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6928\"\u003e#6928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/8eace4603cb2547608578a4fbb259dc984216f71\"\u003e\u003ccode\u003e8eace46\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 4.31.2 to 4.31.6 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6929\"\u003e#6929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/30bae810279b2ea162bed5b14ce6c35a110a87f5\"\u003e\u003ccode\u003e30bae81\u003c/code\u003e\u003c/a\u003e build(deps): bump coverallsapp/github-action from 2.3.6 to 2.3.7 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6930\"\u003e#6930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/758d4355d45322b4c8cd347ebcefbf3b154c7e7f\"\u003e\u003ccode\u003e758d435\u003c/code\u003e\u003c/a\u003e deps: body-parser@^2.2.1 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6922\"\u003e#6922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/77bcd5274a87047e5b3fe2f17f6c342db3909c53\"\u003e\u003ccode\u003e77bcd52\u003c/code\u003e\u003c/a\u003e docs: update emeritus triagers (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6890\"\u003e#6890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/f33caf1f89a028f0ea98ff5a156a68e65a2eabdd\"\u003e\u003ccode\u003ef33caf1\u003c/code\u003e\u003c/a\u003e Nominate to \u003ca href=\"https://github.com/efekrskl\"\u003e\u003ccode\u003e@​efekrskl\u003c/code\u003e\u003c/a\u003e for triage team (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6888\"\u003e#6888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/expressjs/express/compare/v4.22.1...v5.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nodemailer` from 7.0.13 to 8.0.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodemailer/nodemailer/releases\"\u003enodemailer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.10\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.9...v8.0.10\"\u003e8.0.10\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efall back to lower-severity handler when custom logger lacks a level method (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/6d849df59a56184b48844ed10b5fb7b8e9f74634\"\u003e6d849df\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.0.9\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.8...v8.0.9\"\u003e8.0.9\u003c/a\u003e (2026-05-26)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etwo pending security advisories (jsonTransport access bypass, List-* CRLF injection) (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1820\"\u003e#1820\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/5f694977da2e0e13dc947037566e8e689a01217e\"\u003e5f69497\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.0.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.7...v8.0.8\"\u003e8.0.8\u003c/a\u003e (2026-05-23)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenforce strict TLS for OAuth2 and Ethereal credential requests (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1818\"\u003e#1818\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/833d6e58c8b717962bbb1b23e16923cd267c3bc9\"\u003e833d6e5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efour listener/stream leaks in SMTP transport, connection, pool (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1817\"\u003e#1817\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/850bb91bff7707ed498c1424df01c4e5b30ea14b\"\u003e850bb91\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.0.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.6...v8.0.7\"\u003e8.0.7\u003c/a\u003e (2026-04-27)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ekeep domain as UTF-8 when local part is non-ASCII (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1814\"\u003e#1814\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/66d4ecb5aa431f3614a26b3c08b9c63cdf32a9ea\"\u003e66d4ecb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.0.6\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.5...v8.0.6\"\u003e8.0.6\u003c/a\u003e (2026-04-24)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erestore base64 wrap() trim behavior to prevent trailing CRLF (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1810\"\u003e#1810\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1811\"\u003e#1811\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/b1ae6c1c2927240737d9f68f316f0c84042b8adb\"\u003eb1ae6c1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.0.5\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.4...v8.0.5\"\u003e8.0.5\u003c/a\u003e (2026-04-07)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edecode SMTP server responses as UTF-8 at line boundary (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/95876b103e587e49583e43f88cb2c3a61556f3ac\"\u003e95876b1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esanitize CRLF in transport name option to prevent SMTP command injection (GHSA-vvjj-xcjg-gr5g) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/0a43876801a420ca528f492eaa01bfc421cc306e\"\u003e0a43876\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/nodemailer/nodemailer/blob/master/CHANGELOG.md\"\u003enodemailer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.9...v8.0.10\"\u003e8.0.10\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efall back to lower-severity handler when custom logger lacks a level method (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/6d849df59a56184b48844ed10b5fb7b8e9f74634\"\u003e6d849df\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.8...v8.0.9\"\u003e8.0.9\u003c/a\u003e (2026-05-26)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etwo pending security advisories (jsonTransport access bypass, List-* CRLF injection) (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1820\"\u003e#1820\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/5f694977da2e0e13dc947037566e8e689a01217e\"\u003e5f69497\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.7...v8.0.8\"\u003e8.0.8\u003c/a\u003e (2026-05-23)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenforce strict TLS for OAuth2 and Ethereal credential requests (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1818\"\u003e#1818\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/833d6e58c8b717962bbb1b23e16923cd267c3bc9\"\u003e833d6e5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efour listener/stream leaks in SMTP transport, connection, pool (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1817\"\u003e#1817\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/850bb91bff7707ed498c1424df01c4e5b30ea14b\"\u003e850bb91\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.6...v8.0.7\"\u003e8.0.7\u003c/a\u003e (2026-04-27)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ekeep domain as UTF-8 when local part is non-ASCII (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1814\"\u003e#1814\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/66d4ecb5aa431f3614a26b3c08b9c63cdf32a9ea\"\u003e66d4ecb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.5...v8.0.6\"\u003e8.0.6\u003c/a\u003e (2026-04-24)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erestore base64 wrap() trim behavior to prevent trailing CRLF (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1810\"\u003e#1810\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1811\"\u003e#1811\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/b1ae6c1c2927240737d9f68f316f0c84042b8adb\"\u003eb1ae6c1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.4...v8.0.5\"\u003e8.0.5\u003c/a\u003e (2026-04-07)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edecode SMTP server responses as UTF-8 at line boundary (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/95876b103e587e49583e43f88cb2c3a61556f3ac\"\u003e95876b1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esanitize CRLF in transport name option to prevent SMTP command injection (GHSA-vvjj-xcjg-gr5g) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/0a43876801a420ca528f492eaa01bfc421cc306e\"\u003e0a43876\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v8.0.3...v8.0.4\"\u003e8.0.4\u003c/a\u003e (2026-03-25)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esanitize envelope size to prevent SMTP command injection (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/2d7b9710e63555a1eb13d721296c51186d4b5651\"\u003e2d7b971\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/nodemailer/nodemailer/commit/948ae3ff14fb904058f9cf5a6544305eca3b3956\"\u003e\u003ccode\u003e948ae3f\u003c/code\u003e\u003c/a\u003e chore(master): release 8.0.10 (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1823\"\u003e#1823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/9eedad993010704002c50eb5d7238b6b4ce96be6\"\u003e\u003ccode\u003e9eedad9\u003c/code\u003e\u003c/a\u003e docs: add SECURITY.md policy (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1824\"\u003e#1824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/6d849df59a56184b48844ed10b5fb7b8e9f74634\"\u003e\u003ccode\u003e6d849df\u003c/code\u003e\u003c/a\u003e fix: fall back to lower-severity handler when custom logger lacks a level method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/07303cb0cb34b97b44856f5de3eff212b63e4567\"\u003e\u003ccode\u003e07303cb\u003c/code\u003e\u003c/a\u003e chore(master): release 8.0.9 (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1821\"\u003e#1821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/5f694977da2e0e13dc947037566e8e689a01217e\"\u003e\u003ccode\u003e5f69497\u003c/code\u003e\u003c/a\u003e fix: two pending security advisories (jsonTransport access bypass, List-* CRL...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/15138a84c543c20aa399218534cdbbfa2ea1ce55\"\u003e\u003ccode\u003e15138a8\u003c/code\u003e\u003c/a\u003e chore(master): release 8.0.8 (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1819\"\u003e#1819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/850bb91bff7707ed498c1424df01c4e5b30ea14b\"\u003e\u003ccode\u003e850bb91\u003c/code\u003e\u003c/a\u003e fix: four listener/stream leaks in SMTP transport, connection, pool (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1817\"\u003e#1817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/833d6e58c8b717962bbb1b23e16923cd267c3bc9\"\u003e\u003ccode\u003e833d6e5\u003c/code\u003e\u003c/a\u003e fix: enforce strict TLS for OAuth2 and Ethereal credential requests (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1818\"\u003e#1818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/1997040e23e5df901b8ee085ae3fc1fdbdd06f9f\"\u003e\u003ccode\u003e1997040\u003c/code\u003e\u003c/a\u003e chore(master): release 8.0.7 (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1815\"\u003e#1815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/9b9c545dcfae3b884d5b92bf3196e674066e8b3e\"\u003e\u003ccode\u003e9b9c545\u003c/code\u003e\u003c/a\u003e chore: drop nodemailer-ntlm-auth devDependency (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1816\"\u003e#1816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v7.0.13...v8.0.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vue-router` from 4.6.4 to 5.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vuejs/router/releases\"\u003evue-router's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.1.0\u003c/h2\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTyped definePage params.path  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2716\"\u003evuejs/router#2716\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/d65de749\"\u003e\u003c!-- raw HTML omitted --\u003e(d65de)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrict type for definePage param default  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/0ae10cdd\"\u003e\u003c!-- raw HTML omitted --\u003e(0ae10)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport raw param parsers  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/eadec558\"\u003e\u003c!-- raw HTML omitted --\u003e(eadec)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForce array type raw param parsers  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/7a68b87c\"\u003e\u003c!-- raw HTML omitted --\u003e(7a68b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow overriding the global Router type  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/1cd93b33\"\u003e\u003c!-- raw HTML omitted --\u003e(1cd93)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmit runtime warning for invalid format in query params  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/8259a09c\"\u003e\u003c!-- raw HTML omitted --\u003e(8259a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOverride useRouter() return with experimental types config  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/39a344f7\"\u003e\u003c!-- raw HTML omitted --\u003e(39a34)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow string as a param parser for convenience  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/be37b798\"\u003e\u003c!-- raw HTML omitted --\u003e(be37b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix auto import fixes and make experimental esm only  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/db3a6b37\"\u003e\u003c!-- raw HTML omitted --\u003e(db3a6)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeterministic param parser types order  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/bf0fc9b6\"\u003e\u003c!-- raw HTML omitted --\u003e(bf0fc)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid importing unused param parsers  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/41c00e7c\"\u003e\u003c!-- raw HTML omitted --\u003e(41c00)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFilter invalid query params without failing to match  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/db7178a5\"\u003e\u003c!-- raw HTML omitted --\u003e(db717)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect not set format  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/aa89e2ee\"\u003e\u003c!-- raw HTML omitted --\u003e(aa89e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow undefined values for params in query  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/4726e2b6\"\u003e\u003c!-- raw HTML omitted --\u003e(4726e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e: Repeatable params in subsegments  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/846640e4\"\u003e\u003c!-- raw HTML omitted --\u003e(84664)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypes\u003c/strong\u003e: Add vite as optional peer dependency  -  by \u003ca href=\"https://github.com/ForgottenR\"\u003e\u003ccode\u003e@​ForgottenR\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eshihuijie\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2712\"\u003evuejs/router#2712\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/facbf6b1\"\u003e\u003c!-- raw HTML omitted --\u003e(facbf)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vuejs/router/compare/v5.0.7...v5.1.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev5.0.7\u003c/h2\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to babel 8  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/8d3e60e7\"\u003e\u003c!-- raw HTML omitted --\u003e(8d3e6)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003edefineParamParser()\u003c/code\u003e more intuitive  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/8715b211\"\u003e\u003c!-- raw HTML omitted --\u003e(8715b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade \u003ccode\u003e@vue/devtools-api\u003c/code\u003e  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/87c3affe\"\u003e\u003c!-- raw HTML omitted --\u003e(87c3a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ematcher\u003c/strong\u003e: Hint at \u003ccode\u003eparams: {}\u003c/code\u003e workaround in discarded params warning  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eshanliuling\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2689\"\u003evuejs/router#2689\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/c2b13c61\"\u003e\u003c!-- raw HTML omitted --\u003e(c2b13)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eparam-parsers\u003c/strong\u003e: Add include/exclude options  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/91cdec3b\"\u003e\u003c!-- raw HTML omitted --\u003e(91cde)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ematcher\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFinalize param token before processing escaped colon  -  by \u003ca href=\"https://github.com/babu-ch\"\u003e\u003ccode\u003e@​babu-ch\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2654\"\u003evuejs/router#2654\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/20521b03\"\u003e\u003c!-- raw HTML omitted --\u003e(20521)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003equery\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eUse Object.create(null) to prevent prototype pollution  -  by \u003ca href=\"https://github.com/wdskuki\"\u003e\u003ccode\u003e@​wdskuki\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003ewdsmini\u003c/strong\u003e and \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2661\"\u003evuejs/router#2661\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/be88c756\"\u003e\u003c!-- raw HTML omitted --\u003e(be88c)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eresolve\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eOmit empty optional params from resolved params  -  by \u003ca href=\"https://github.com/babu-ch\"\u003e\u003ccode\u003e@​babu-ch\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2434\"\u003evuejs/router#2434\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/1ef09646\"\u003e\u003c!-- raw HTML omitted --\u003e(1ef09)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypes\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eWire RouteNamedMap via generated routes.d.ts  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2700\"\u003evuejs/router#2700\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/aef99415\"\u003e\u003c!-- raw HTML omitted --\u003e(aef99)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eunplugin\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAvoid generating empty routes  -  by \u003ca href=\"https://github.com/FrontEndDog\"\u003e\u003ccode\u003e@​FrontEndDog\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2642\"\u003evuejs/router#2642\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/10a8b773\"\u003e\u003c!-- raw HTML omitted --\u003e(10a8b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply definePage path-param parser overrides  -  by \u003ca href=\"https://github.com/posva\"\u003e\u003ccode\u003e@​posva\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2699\"\u003evuejs/router#2699\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/c8074862\"\u003e\u003c!-- raw HTML omitted --\u003e(c8074)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evolar\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDrop runtime \u003ccode\u003e@vue/language-core\u003c/code\u003e import  -  by \u003ca href=\"https://github.com/danielroe\"\u003e\u003ccode\u003e@​danielroe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vuejs/router/issues/2710\"\u003evuejs/router#2710\u003c/a\u003e \u003ca href=\"https://github.com/vuejs/router/commit/8af50c9c\"\u003e\u003c!-- raw HTML omitted --\u003e(8af50)\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/vuejs/router/commit/c0e3226dabccd7596b996ce851386997ea2d3cca\"\u003e\u003ccode\u003ec0e3226\u003c/code\u003e\u003c/a\u003e release: vue-router@5.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/router/commit/9ca76720bb7189dbfda1f2cf6255b876517d121c\"\u003e\u003ccode\u003e9ca7672\u003c/code\u003e\u003c/a\u003e chore: fix playgroundc usage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/router/commit/315cc09e6779615434186272503aba71684f7bc4\"\u003e\u003ccode\u003e315cc09\u003c/code\u003e\u003c/a\u003e refactor(experimental): remove defineQueryParamParser and definePathParamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/router/commit/7fa42f455d5fb660b7035722bd9ee373b590cbfb\"\u003e\u003ccode\u003e7fa42f4\u003c/code\u003e\u003c/a\u003e docs: fix gen and dead links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/router/commit/1b3a0683cbe7d95b5aadaea3b19a435c70489c53\"\u003e\u003ccode\u003e1b3a068\u003c/code\u003e\u003c/a\u003e refactor: organize imports and exports add back Router\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/router/commit/665be2dda8e770a7e9a2136c9692cf80519ab133\"\u003e\u003ccode\u003e665be2d\u003c/code\u003e\u003c/a\u003e docs: links update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/router/commit/5d79bd2b9c18db12f87d83e41c014efc10e617c9\"\u003e\u003ccode\u003e5d79bd2\u003c/code\u003e\u003c/a\u003e chore: unused param\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/router/commit/9ccf3d1758ee53eabe781ceabb46287f645ffa18\"\u003e\u003ccode\u003e9ccf3d1\u003c/code\u003e\u003c/a\u003e docs: experimental\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/router/commit/eee8ac6c6aee19b05910ae4147faae122869b186\"\u003e\u003ccode\u003eeee8ac6\u003c/code\u003e\u003c/a\u003e chore: playground param parsers testing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/router/commit/0194b85b7275ee172024baed3da6fb180a1bda2b\"\u003e\u003ccode\u003e0194b85\u003c/code\u003e\u003c/a\u003e build: build before test:types\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vuejs/router/compare/v4.6.4...v5.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 27.4.0 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved and sped up \u003ccode\u003egetComputedStyle()\u003c/code\u003e. Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as \u003ccode\u003ecurrentcolor\u003c/code\u003e and system colors. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CSS \u003ccode\u003e'background\u003c/code\u003e' and \u003ccode\u003e'border'\u003c/code\u003e shorthand parsing. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed CSS parsing of \u003ccode\u003e'border'\u003c/code\u003e, \u003ccode\u003e'background'\u003c/code\u003e, and their sub-shorthands containing keywords or \u003ccode\u003evar()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to return a more functional \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e object, including indexed access support, which regressed in v29.0.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNode.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOverhauled the CSSOM implementation, replacing the \u003ca href=\"https://www.npmjs.com/package/@acemir/cssom\"\u003e\u003ccode\u003e@acemir/cssom\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/jsdom/cssstyle\"\u003e\u003ccode\u003ecssstyle\u003c/code\u003e\u003c/a\u003e dependencies with fresh internal implementations built on webidl2js wrappers and the \u003ca href=\"https://www.npmjs.com/package/css-tree\"\u003e\u003ccode\u003ecss-tree\u003c/code\u003e\u003c/a\u003e parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCSSCounterStyleRule\u003c/code\u003e and \u003ccode\u003eCSSNamespaceRule\u003c/code\u003e to jsdom \u003ccode\u003eWindow\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssMediaRule.matches\u003c/code\u003e and \u003ccode\u003ecssSupportsRule.matches\u003c/code\u003e getters.\u003c/li\u003e\n\u003cli\u003eAdded proper media query parsing in \u003ccode\u003eMediaList\u003c/code\u003e, using \u003ccode\u003ecss-tree\u003c/code\u003e instead of naive comma-splitting. Invalid queries become \u003ccode\u003e\u0026quot;not all\u0026quot;\u003c/code\u003e per spec.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssKeyframeRule.keyText\u003c/code\u003e getter/setter validation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ecssStyleRule.selectorText\u003c/code\u003e setter validation: invalid selectors are now rejected.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estyleSheet.ownerNode\u003c/code\u003e, \u003ccode\u003estyleSheet.href\u003c/code\u003e, and \u003ccode\u003estyleSheet.title\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded bad port blocking per the \u003ca href=\"https://fetch.spec.whatwg.org/#bad-port\"\u003efetch specification\u003c/a\u003e, preventing fetches to commonly-abused ports.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eDocument\u003c/code\u003e initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per \u003ccode\u003eDocument\u003c/code\u003e. (\u003ca href=\"https://github.com/thypon\"\u003e\u003ccode\u003e@​thypon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when stylesheets were removed from the document.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleDeclaration\u003c/code\u003e modifications to properly trigger custom element reactions.\u003c/li\u003e\n\u003cli\u003eFixed nested \u003ccode\u003e@media\u003c/code\u003e rule parsing.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCSSStyleSheet\u003c/code\u003e's \u0026quot;disallow modification\u0026quot; flag not being checked in all mutation methods.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eXMLHttpRequest\u003c/code\u003e's \u003ccode\u003eresponse\u003c/code\u003e getter returning parsed JSON during the \u003ccode\u003eLOADING\u003c/code\u003e state instead of \u003ccode\u003enull\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e crashing in XHTML documents when stylesheets contained at-rules such as \u003ccode\u003e@page\u003c/code\u003e or \u003ccode\u003e@font-face\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed a potential hang in synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e caused by a race condition with the worker thread's idle timeout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev28.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eblob.text()\u003c/code\u003e, \u003ccode\u003eblob.arrayBuffer()\u003c/code\u003e, and \u003ccode\u003eblob.bytes()\u003c/code\u003e methods.\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003egetComputedStyle()\u003c/code\u003e to account for CSS specificity when multiple rules apply. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved synchronous \u003ccode\u003eXMLHttpRequest\u003c/code\u003e performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003enode.getRootNode()\u003c/code\u003e, \u003ccode\u003enode.isConnected\u003c/code\u003e, and \u003ccode\u003eevent.dispatchEvent()\u003c/code\u003e by caching the root node of document-connected trees.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to correctly handle \u003ccode\u003e!important\u003c/code\u003e priority. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.getElementById()\u003c/code\u003e to return the first element in tree order when multiple elements share the same ID.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;svg\u0026gt;\u003c/code\u003e elements to no longer incorrectly proxy event handlers to the \u003ccode\u003eWindow\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFileReader\u003c/code\u003e event timing and \u003ccode\u003efileReader.result\u003c/code\u003e state to more closely follow the spec.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/2a1e2cdb443e276b28ca49937cf7a7d6fa0a4806\"\u003e\u003ccode\u003e2a1e2cd\u003c/code\u003e\u003c/a\u003e 29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/4097d66ba188805a408b5186b4b8036bf582b40f\"\u003e\u003ccode\u003e4097d66\u003c/code\u003e\u003c/a\u003e Resolve computed CSS values lazily in CSSStyleDeclaration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v27.4.0...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for jsdom since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lint-staged` from 16.4.0 to 17.0.7\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.0.7\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.6\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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1792\"\u003e#1792\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/1f672718b6fa67e0f00aafe107cb9f084f4d9102\"\u003e\u003ccode\u003e1f67271\u003c/code\u003e\u003c/a\u003e - Correctly set the \u003ccode\u003e--max-arg-length\u003c/code\u003e default value based on the running platform. This controls how very long lists of staged files are split into multiple chunks.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.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/lint-staged/lint-staged/pull/1788\"\u003e#1788\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/f95c1f8df3368758c44c2052e568aac1b3d4c767\"\u003e\u003ccode\u003ef95c1f8\u003c/code\u003e\u003c/a\u003e - Another fix for making sure \u003cem\u003elint-staged\u003c/em\u003e adds task modifications correctly to the commit in the following cases:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eafter editing \u003ccode\u003e\u0026lt;file\u0026gt;\u003c/code\u003e it is staged with \u003ccode\u003egit add \u0026lt;file\u0026gt;\u003c/code\u003e, and then committed with \u003ccode\u003egit commit\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eafter editing \u003ccode\u003e\u0026lt;file\u0026gt;\u003c/code\u003e it is committed with \u003ccode\u003egit commit --all\u003c/code\u003e without explicit \u003ccode\u003egit add\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eafter editing \u003ccode\u003e\u0026lt;file\u0026gt;\u003c/code\u003e it is committed with \u003ccode\u003egit commit \u0026lt;pathspec\u0026gt;\u003c/code\u003e without explicit \u003ccode\u003egit add\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThere's new test cases which actually setup the Git \u003ccode\u003epre_commit\u003c/code\u003e hook to run \u003cem\u003elint-staged\u003c/em\u003e and verify them. These issues started in \u003cstrong\u003ev17.0.0\u003c/strong\u003e when trying to improve support for committig without having explicitly staged files.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1782\"\u003e#1782\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/06813f9ab661db987e7720086ef9ec3f552ee097\"\u003e\u003ccode\u003e06813f9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Fix \u003cem\u003elint-staged\u003c/em\u003e behavior when implicitly committing files without using \u003ccode\u003egit add\u003c/code\u003e by either:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003egit commit -am \u0026quot;my commit message\u0026quot;\u003c/code\u003e where \u003ccode\u003e-a\u003c/code\u003e (\u003ccode\u003e--all\u003c/code\u003e) means to automatically stage all tracked modified and deleted files\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003egit commit -m \u0026quot;my commit message\u0026quot; .\u003c/code\u003e where \u003ccode\u003e.\u003c/code\u003e is an example of a \u003ca href=\"https://git-scm.com/docs/git-commit#Documentation/git-commit.txt-pathspec\"\u003e\u003cem\u003epathspec\u003c/em\u003e\u003c/a\u003e where matching files will be staged\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1779\"\u003e#1779\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/88670ca2278200f6348ed663358895ddc4bfff3c\"\u003e\u003ccode\u003e88670ca\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Enable immutable GitHub releases\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1776\"\u003e#1776\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/4a5664be63af19590ec37940f705dad870ac5cfb\"\u003e\u003ccode\u003e4a5664b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Adjust GitHub Actions workflow so that automatic publishing works with signed commits.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev17.0.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.7\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1806\"\u003e#1806\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e - Update dependency \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.6\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/lint-staged/lint-staged/pull/1803\"\u003e#1803\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bdf27700a6e25b40333672eef4d438984a2d0383\"\u003e\u003ccode\u003ebdf2770\u003c/code\u003e\u003c/a\u003e - Run all tests with \u003ca href=\"https://deno.com\"\u003eDeno\u003c/a\u003e, in addition to Node.js and Bun.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1796\"\u003e#1796\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/75082727cdd070adb59d62c9040515da3bbbb2f9\"\u003e\u003ccode\u003e7508272\u003c/code\u003e\u003c/a\u003e - Fix performance regression of \u003cem\u003elint-staged\u003c/em\u003e v17 by going back to using \u003ccode\u003egit add\u003c/code\u003e to stage task modifications. This was changed to \u003ccode\u003egit update-index --again\u003c/code\u003e in v17 for less manual work, but unfortunately the \u003ccode\u003eupdate-index\u003c/code\u003e command gets slower in very large Git repos.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1797\"\u003e#1797\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7b2505a1f8fb8735e6306c7dabdd5295632f8c1a\"\u003e\u003ccode\u003e7b2505a\u003c/code\u003e\u003c/a\u003e - This version of \u003cem\u003elint-staged\u003c/em\u003e uses the new \u003ca href=\"https://docs.npmjs.com/staged-publishing\"\u003estaged publishing for npm packages\u003c/a\u003e feature. Releases are already published from GitHub Actions with \u003ca href=\"https://docs.npmjs.com/trusted-publishers\"\u003etrusted publishing\u003c/a\u003e, but now an additional approval with two-factor authentication is also required.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1802\"\u003e#1802\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/321b0a972a434006f5b5fac18867974ef040d037\"\u003e\u003ccode\u003e321b0a9\u003c/code\u003e\u003c/a\u003e - Downgrade dependency \u003ccode\u003etinyexec@1.2.2\u003c/code\u003e to avoid issues in version 1.2.3.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1792\"\u003e#1792\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/1f672718b6fa67e0f00aafe107cb9f084f4d9102\"\u003e\u003ccode\u003e1f67271\u003c/code\u003e\u003c/a\u003e - Correctly set the \u003ccode\u003e--max-arg-length\u003c/code\u003e default value based on the running platform. This controls how very long lists of staged files are split into multiple chunks.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.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/lint-staged/lint-staged/pull/1788\"\u003e#1788\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/f95c1f8df3368758c44c2052e568aac1b3d4c767\"\u003e\u003ccode\u003ef95c1f8\u003c/code\u003e\u003c/a\u003e - Another fix for making sure \u003cem\u003elint-staged\u003c/em\u003e adds task modifications correctly to the commit in the following cases:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eafter editing \u003ccode\u003e\u0026lt;file\u0026gt;\u003c/code\u003e it is staged with \u003ccode\u003egit add \u0026lt;file\u0026gt;\u003c/code\u003e, and then committed with \u003ccode\u003egit commit\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eafter editing \u003ccode\u003e\u0026lt;file\u0026gt;\u003c/code\u003e it is committed with \u003ccode\u003egit commit --all\u003c/code\u003e without explicit \u003ccode\u003egit add\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eafter editing \u003ccode\u003e\u0026lt;file\u0026gt;\u003c/code\u003e it is committed with \u003ccode\u003egit commit \u0026lt;pathspec\u0026gt;\u003c/code\u003e without explicit \u003ccode\u003egit add\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThere's new test cases which actually setup the Git \u003ccode\u003epre_commit\u003c/code\u003e hook to run \u003cem\u003elint-staged\u003c/em\u003e and verify them. These issues started in \u003cstrong\u003ev17.0.0\u003c/strong\u003e when trying to improve support for committig without having explicitly staged files.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1782\"\u003e#1782\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/06813f9ab661db987e7720086ef9ec3f552ee097\"\u003e\u003ccode\u003e06813f9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Fix \u003cem\u003elint-staged\u003c/em\u003e behavior when implicitly committing files without using \u003ccode\u003egit add\u003c/code\u003e by either:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003egit commit -am \u0026quot;my commit message\u0026quot;\u003c/code\u003e where \u003ccode\u003e-a\u003c/code\u003e (\u003ccode\u003e--all\u003c/code\u003e) means to automatically stage all tracked modified and deleted files\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003egit commit -m \u0026quot;my commit message\u0026quot; .\u003c/code\u003e where \u003ccode\u003e.\u003c/code\u003e is an example of a \u003ca href=\"https://git-scm.com/docs/git-commit#Documentation/git-commit.txt-pathspec\"\u003e\u003cem\u003epathspec\u003c/em\u003e\u003c/a\u003e where matching files will be staged\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1779\"\u003e#1779\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/88670ca2278200f6348ed663358895ddc4bfff3c\"\u003e\u003ccode\u003e88670ca\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Enable immutable GitHub releases\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e17.0.1\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/lint-staged/lint-staged/commit/cd11fec419c59b4900aab194f288adf6bb4afdd1\"\u003e\u003ccode\u003ecd11fec\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1807\"\u003e#1807\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/15a8ee0df4ffb4c6fc65ea6828133cc32740c9c4\"\u003e\u003ccode\u003e15a8ee0\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/797bbd943a7adab888640915449c09b8a67cc11d\"\u003e\u003ccode\u003e797bbd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1808\"\u003e#1808\u003c/a\u003e from lint-staged/add-stashing-faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/504e307c819a8b2decdf6c791d5350c4db0b15ed\"\u003e\u003ccode\u003e504e307\u003c/code\u003e\u003c/a\u003e docs: add FAQ entry on how stashing works\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/eff5cd19633ce51ca62ac17a9e66d972a2aaf104\"\u003e\u003ccode\u003eeff5cd1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1806\"\u003e#1806\u003c/a\u003e from lint-staged/update-tinyexec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e692e58ced9eae65b2077435b7e799c632f3db07\"\u003e\u003ccode\u003ee692e58\u003c/code\u003e\u003c/a\u003e build(deps): update \u003ccode\u003etinyexec@^1.2.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/a2dd4ea97b1ff36486d88d9bad285834acef7ea6\"\u003e\u003ccode\u003ea2dd4ea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1805\"\u003e#1805\u003c/a\u003e from lint-staged/update-github-templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/c92851945ff4fa604841e53fe044b47177b159b8\"\u003e\u003ccode\u003ec928519\u003c/code\u003e\u003c/a\u003e docs: update GitHub templates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/094ba56a3caeeda2cf83ad0a0c83df38ab2f6d06\"\u003e\u003ccode\u003e094ba56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1798\"\u003e#1798\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/88e19fe3d81b8e1516564e7afaf6681f09f83b16\"\u003e\u003ccode\u003e88e19fe\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lint-staged/lint-staged/compare/v16.4.0...v17.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `postcss-cli` from 10.1.0 to 11.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/postcss-cli/blob/master/CHANGELOG.md\"\u003epostcss-cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e11.0.1 / 2025-03-12\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate and minimize dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e11.0.0 / 2023-12-05\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING:\u003c/strong\u003e Require Node.js v18+ (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/pull/464\"\u003e#464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/postcss/postcss-load-config/blob/main/CHANGELOG.md#50-2023-11-20\"\u003e\u003ccode\u003epostcss-load-config@5\u003c/code\u003e\u003c/a\u003e for improved ESM \u0026amp; TS config support (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/issues/461\"\u003e#461\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/postcss/postcss-cli/pull/462\"\u003e#462\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/postcss/postcss-cli/commit/7bea18069b334b0d537d5c772ce20b1637c7e5d6\"\u003e\u003ccode\u003e7bea180\u003c/code\u003e\u003c/a\u003e 11.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss-cli/commit/0dc4eba537acf36af7747753027c99d768644820\"\u003e\u003ccode\u003e0dc4eba\u003c/code\u003e\u003c/a\u003e Use eslint v9 + flat config (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/issues/490\"\u003e#490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss-cli/commit/733ef42fa6b596139787c721ecfbc2b50d915fae\"\u003e\u003ccode\u003e733ef42\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency sugarss to v5 (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/issues/483\"\u003e#483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss-cli/commit/1363a6549a622a27b4a5d8e55c65d406aae94cbd\"\u003e\u003ccode\u003e1363a65\u003c/code\u003e\u003c/a\u003e Update dependency prettier to ~3.5.0 (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss-cli/commit/bd416f5b326562a228202b1b6b23495ffcffa8ee\"\u003e\u003ccode\u003ebd416f5\u003c/code\u003e\u003c/a\u003e Update dependency uuid to v11 (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/issues/482\"\u003e#482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss-cli/commit/bfad16da0dad084a0961efb1cf44b626fac3a2e0\"\u003e\u003ccode\u003ebfad16d\u003c/code\u003e\u003c/a\u003e Update dependency c8 to v10 (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/issues/480\"\u003e#480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss-cli/commit/b5d8f0ed6e25e7e0f0662e9aed3bfd7def9e6573\"\u003e\u003ccode\u003eb5d8f0e\u003c/code\u003e\u003c/a\u003e feat: replace globby with tinyglobby and remove get-stdin in favor of builtin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss-cli/commit/5f9f92af5f070313fc710a62db0c58705fb891eb\"\u003e\u003ccode\u003e5f9f92a\u003c/code\u003e\u003c/a\u003e Update dependency prettier to ~3.4.0 (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/issues/484\"\u003e#484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss-cli/commit/0f52be713e121c7e4476b380ce7bab9529890b7c\"\u003e\u003ccode\u003e0f52be7\u003c/code\u003e\u003c/a\u003e Update dependency prettier to ~3.3.0 (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/issues/477\"\u003e#477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss-cli/commit/528af4c30beffcce0653eb7046a6f331a0fd5ffd\"\u003e\u003ccode\u003e528af4c\u003c/code\u003e\u003c/a\u003e Adding link to PostCSS (\u003ca href=\"https://redirect.github.com/postcss/postcss-cli/issues/472\"\u003e#472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/postcss/postcss-cli/compare/10.1.0...11.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9a...\n\n_Description has been truncated_","html_url":"https://github.com/niyazmft/financial_tracker/pull/92","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/niyazmft%2Ffinancial_tracker/issues/92","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/92/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-06-01T10:40:45.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4562395890","node_id":"PR_kwDOSOOteM7hUy2I","number":26,"state":"closed","title":"Bump the dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-15T04:36:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T10:40:45.000Z","updated_at":"2026-06-15T04:36:42.000Z","time_to_close":1187755,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":12,"packages":[{"name":"@opentelemetry/exporter-prometheus","old_version":"0.215.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"ioredis","old_version":"5.10.1","new_version":"5.11.0","repository_url":"https://github.com/luin/ioredis"},{"name":"js-yaml","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"qs","old_version":"6.15.1","new_version":"6.15.2","repository_url":"https://github.com/ljharb/qs"},{"name":"sql-formatter","old_version":"15.7.3","new_version":"15.8.0","repository_url":"https://github.com/sql-formatter-org/sql-formatter"},{"name":"@bufbuild/buf","old_version":"1.68.4","new_version":"1.70.0","repository_url":"https://github.com/bufbuild/buf"},{"name":"@testcontainers/postgresql","old_version":"11.14.0","new_version":"12.0.1","repository_url":"https://github.com/testcontainers/testcontainers-node"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"tar","old_version":"7.5.13","new_version":"7.5.15","repository_url":"https://github.com/isaacs/node-tar"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 11 updates in the /rest directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@opentelemetry/exporter-prometheus](https://github.com/open-telemetry/opentelemetry-js) | `0.215.0` | `0.218.0` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.1` | `5.11.0` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `4.1.1` | `4.2.0` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [qs](https://github.com/ljharb/qs) | `6.15.1` | `6.15.2` |\n| [sql-formatter](https://github.com/sql-formatter-org/sql-formatter) | `15.7.3` | `15.8.0` |\n| [@bufbuild/buf](https://github.com/bufbuild/buf) | `1.68.4` | `1.70.0` |\n| [@testcontainers/postgresql](https://github.com/testcontainers/testcontainers-node) | `11.14.0` | `12.0.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |\n| [tar](https://github.com/isaacs/node-tar) | `7.5.13` | `7.5.15` |\n\n\nUpdates `@opentelemetry/exporter-prometheus` from 0.215.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/exporter-prometheus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.215.0...experimental/v0.218.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/sdk-metrics` from 2.7.0 to 2.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-metrics's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.7.1\u003c/h2\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(sdk-metrics): reduce loop overhead in sdk hot paths \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6593\"\u003e#6593\u003c/a\u003e \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md\"\u003e@​opentelemetry/sdk-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: test Node.js 26 in CI \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6671\"\u003e#6671\u003c/a\u003e \u003ca href=\"https://github.com/cjihrig\"\u003e\u003ccode\u003e@​cjihrig\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7\"\u003e\u003ccode\u003e2400d83\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6647\"\u003e#6647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f7a9b7cc854232ebf7dea2d3ec0d6adc49128f53\"\u003e\u003ccode\u003ef7a9b7c\u003c/code\u003e\u003c/a\u003e fix(otlp-transformer): pin protobufjs to 8.0.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6646\"\u003e#6646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/cb38d7f833781c336c990757f773ce9c8360434a\"\u003e\u003ccode\u003ecb38d7f\u003c/code\u003e\u003c/a\u003e test(otlp-transformer): add metrics transfrom benchmark (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6628\"\u003e#6628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a28f12fef5fbdfb3b77a1334175b752883ef708a\"\u003e\u003ccode\u003ea28f12f\u003c/code\u003e\u003c/a\u003e fix(opentelemetry-core): defer tracestate vaidation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6459\"\u003e#6459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b27c5146ac21deb3fb1e8fca370d34f1828f3cc6\"\u003e\u003ccode\u003eb27c514\u003c/code\u003e\u003c/a\u003e refactor(opentelemetry-exporter-prometheus): do not call `enforcePrometheusNa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a2a8186e65a04dfdaf442927fbab268076cd4f5a\"\u003e\u003ccode\u003ea2a8186\u003c/code\u003e\u003c/a\u003e perf(sdk-trace-base): optimize TraceIdRatioBasedSampler hex parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6284\"\u003e#6284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/4c0f3f1b911c4740a085b6c66d267bb74826b475\"\u003e\u003ccode\u003e4c0f3f1\u003c/code\u003e\u003c/a\u003e feat(sdk-node): set TracerProvider in startNodeSDK() (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6607\"\u003e#6607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/417f2f17e4234417b34dbf7bdf8e24c330259dd2\"\u003e\u003ccode\u003e417f2f1\u003c/code\u003e\u003c/a\u003e fix(instr-xhr): do not unpatch XHR methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6611\"\u003e#6611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/47ac523b124be222ac89160e4623e8a60c960f35\"\u003e\u003ccode\u003e47ac523\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: allow browser maintainers to approve changelog edits\u0026quot; (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6627\"\u003e#6627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/86c621d5b8344f1ecdc13a9841a90604912d0055\"\u003e\u003ccode\u003e86c621d\u003c/code\u003e\u003c/a\u003e fix(instrumentation-fetch): tolerate non-writable globalThis.fetch and fix pr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/v2.7.0...v2.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ioredis` from 5.10.1 to 5.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/luin/ioredis/releases\"\u003eioredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/blob/main/CHANGELOG.md\"\u003eioredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/commit/14904327fc212d1f592172d776ebe45178fb7ee7\"\u003e\u003ccode\u003e1490432\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/5359d4d090c17f2ca1e86d92b139cd935ba4643d\"\u003e\u003ccode\u003e5359d4d\u003c/code\u003e\u003c/a\u003e refactor(utils): inline defaults and isArguments helpers (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003e\u003ccode\u003eb7b3def\u003c/code\u003e\u003c/a\u003e feat: add vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/faa53fdfae7f605c19bd74564639640f9d30d404\"\u003e\u003ccode\u003efaa53fd\u003c/code\u003e\u003c/a\u003e ci: update Node.js and Redis test matrix (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e\u003ccode\u003e37d0695\u003c/code\u003e\u003c/a\u003e feat: add increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/612ee9dfe96c1df942eaa415ca94881077191b5c\"\u003e\u003ccode\u003e612ee9d\u003c/code\u003e\u003c/a\u003e chore: update Redis 8.8 test image to custom (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003e\u003ccode\u003ebaf68d6\u003c/code\u003e\u003c/a\u003e feat: add array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/ba3b4cfb6204eccecde928f691a60a869313a0c9\"\u003e\u003ccode\u003eba3b4cf\u003c/code\u003e\u003c/a\u003e test: update Redis 8.8 test image to m03 (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2113\"\u003e#2113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/32dd17b3f714823d9fec09da5f3bc489ef12475d\"\u003e\u003ccode\u003e32dd17b\u003c/code\u003e\u003c/a\u003e test: add hash field subkey notification coverage (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2112\"\u003e#2112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e\u003ccode\u003e04a4615\u003c/code\u003e\u003c/a\u003e feat: add Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `js-yaml` from 4.1.1 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md\"\u003ejs-yaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.0] - 2026-06-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003edocs/safety.md\u003c/code\u003e with notes about processing untrusted YAML.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxDepth\u003c/code\u003e (100) loader option. Not a problem, but gives a better\nexception instead of RangeError on stack overflow.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxMergeSeqLength\u003c/code\u003e (20) loader option. Not a problem after \u003ccode\u003emerge\u003c/code\u003e fix,\nbut an additional restriction for safety.\u003c/li\u003e\n\u003cli\u003eAdded sourcemaps to \u003ccode\u003edist/\u003c/code\u003e builds.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop resolving numbers with underscores as numeric scalars, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/627\"\u003e#627\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSwitched dev toolchains to Vite / neostandard.\u003c/li\u003e\n\u003cli\u003eUpdated demo.\u003c/li\u003e\n\u003cli\u003eReorganized tests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edist/\u003c/code\u003e files are no longer kept in the repository.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parsing of properties on the first implicit block mapping key, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/62\"\u003e#62\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix trailing whitespace handling when folding flow scalar lines, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReject top-level block scalars without content indentation, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/280\"\u003e#280\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnsure numbers survive round-trip, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/737\"\u003e#737\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix test coverage for issue \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/221\"\u003e#221\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix flow scalar trailing whitespace folding, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix digits in YAML named tag handles.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix potential DoS via quadratic complexity in merge - deduplicate repeated\nelements (makes sense for malformed files \u0026gt; 10K).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.14.2] - 2025-11-15\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackported v4.1.1 fix to v3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nodeca/js-yaml/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 8.20.0 to 8.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epg@8.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3521\"\u003eSASL SCRAM\u003c/a\u003e server error responses properly.\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3667\"\u003enode@26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escramMaxIterations\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3677\"\u003econfig option\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eclient.getTransactionStatus()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3645\"\u003emethod\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/brianc/node-postgres/commit/544b1ce8152bc280e398dc1e8a66920abe6a640e\"\u003e\u003ccode\u003e544b1ce\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/cc03fa5cdf0f1e67b2518ebad5cf2269206aa49c\"\u003e\u003ccode\u003ecc03fa5\u003c/code\u003e\u003c/a\u003e Add scramMaxIterations option to limit SCRAM iteration count (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f776327b3fcdd997c67e866ef7c620ef9c26b3f2\"\u003e\u003ccode\u003ef776327\u003c/code\u003e\u003c/a\u003e Remove compatibility code for unsupported versions of Node (\u0026lt;16) (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3678\"\u003e#3678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f252870eba73c15449b57562e6698b5859e32095\"\u003e\u003ccode\u003ef252870\u003c/code\u003e\u003c/a\u003e cleanup: pg utils (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/c8da6ab9326d93005e6947217cf665f707e08ec7\"\u003e\u003ccode\u003ec8da6ab\u003c/code\u003e\u003c/a\u003e Assorted test cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/fa47e73349786c2a76db98801d60c05371b0a906\"\u003e\u003ccode\u003efa47e73\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eClient#end\u003c/code\u003e callback being called multiple times when first is no-op (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/88a7e60c7191ce8061d6276b299895bf5511e042\"\u003e\u003ccode\u003e88a7e60\u003c/code\u003e\u003c/a\u003e cleanup: Move declaration to more natural place\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/2095247a7b10ebe19cd7d518e07ee2f259dda70a\"\u003e\u003ccode\u003e2095247\u003c/code\u003e\u003c/a\u003e cleanup: Combine duplicated code in \u003ccode\u003eClient#query\u003c/code\u003e and avoid unneeded early n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/0ac3eddef6481f4e4f9359c65d3c0cfd7d2124e1\"\u003e\u003ccode\u003e0ac3edd\u003c/code\u003e\u003c/a\u003e fix: apply SASLprep (RFC 4013) to passwords before SCRAM-SHA-256 PBKDF2 (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/be880d45552269f0b847a3e568014bde6536eae3\"\u003e\u003ccode\u003ebe880d4\u003c/code\u003e\u003c/a\u003e Assorted test fixes and cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `qs` from 6.15.1 to 6.15.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ljharb/qs/blob/main/CHANGELOG.md\"\u003eqs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003cstrong\u003e6.15.2\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + \u003ccode\u003eencodeValuesOnly\u003c/code\u003e instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[readme] fix grammar (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Tests] add regression tests for keys containing percent-encoded bracket text\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/ljharb/qs/commit/9aca4076fe788338c67cf7e115f0be6bc58d85a8\"\u003e\u003ccode\u003e9aca407\u003c/code\u003e\u003c/a\u003e v6.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/5e33d33447ed0bf1ddab9abc41d27dea4687d992\"\u003e\u003ccode\u003e5e33d33\u003c/code\u003e\u003c/a\u003e [Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/21f80b33e5c8b3f7eba1034fff0da4a4a37a1d41\"\u003e\u003ccode\u003e21f80b3\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + `e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a0a81ea2071acce3eff41a040f719ac8f5c4f64c\"\u003e\u003ccode\u003ea0a81ea\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/e3062f78f5233b338ceeb8e8dfa5a07dea4b32a8\"\u003e\u003ccode\u003ee3062f7\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/0c180a40adb8c6703fffc85b2ff06ca209f5c1e0\"\u003e\u003ccode\u003e0c180a4\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/3a8b94aec19bd664720f6f6b1e66c4a0dfe4b656\"\u003e\u003ccode\u003e3a8b94a\u003c/code\u003e\u003c/a\u003e [Tests] add regression tests for keys containing percent-encoded bracket text\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/96755abd357c0e534dd3442a84a04d08864bfe0d\"\u003e\u003ccode\u003e96755ab\u003c/code\u003e\u003c/a\u003e [readme] fix grammar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a419ce5bbfcdb98a299f1a0bb47ea055baef20e6\"\u003e\u003ccode\u003ea419ce5\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ljharb/qs/compare/v6.15.1...v6.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sql-formatter` from 15.7.3 to 15.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/releases\"\u003esql-formatter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e15.8.0\u003c/h2\u003e\n\u003ch3\u003ePostgreSQL formatting\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for PostgreSQL keywords in \u003ccode\u003eCREATE CONSTRAINT TRIGGER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/948\"\u003e#948\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/karlhorky\"\u003e\u003ccode\u003e@​karlhorky\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch from yarn to pnpm (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.4...v15.8.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003e15.7.4\u003c/h2\u003e\n\u003ch3\u003eBugfix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Tcl-style $param(...) syntax in SQLite (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/944\"\u003e#944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/943\"\u003e#943\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\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/sql-formatter-org/sql-formatter/commit/a3bfeeb4e96415efe4820a1b2c7ed592384aa0be\"\u003e\u003ccode\u003ea3bfeeb\u003c/code\u003e\u003c/a\u003e Release v15.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/a7f50d8a68f667b90cfd4e75b1fd683e67413a89\"\u003e\u003ccode\u003ea7f50d8\u003c/code\u003e\u003c/a\u003e Add tagName config to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dab8693b1728696981f3db9b0780b8a7229687c3\"\u003e\u003ccode\u003edab8693\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm as plugin to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/5ab2c8019f9d09ccf3df388d74672821b27ce241\"\u003e\u003ccode\u003e5ab2c80\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/1a000ca83e2e30999f222193ef28c14a949998a2\"\u003e\u003ccode\u003e1a000ca\u003c/code\u003e\u003c/a\u003e Configure release-it to use pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/34fe5b080c11b1cecbe3a0c5d8b89ed8a62941ef\"\u003e\u003ccode\u003e34fe5b0\u003c/code\u003e\u003c/a\u003e Fix scripts using -- (pnpm interprets this as file name)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/6610b6a65a1f7a3654d45bc6100a897649b3136d\"\u003e\u003ccode\u003e6610b6a\u003c/code\u003e\u003c/a\u003e Add pnpm to lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/af633e85fb684650ee7e3b48f1a9dcd897dc050e\"\u003e\u003ccode\u003eaf633e8\u003c/code\u003e\u003c/a\u003e Switch from yarn@1.22.22 to pnpm@11.0.8 (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/ba7437e24b51bb7c5cf38dfcc9f4e58a5dc7fab5\"\u003e\u003ccode\u003eba7437e\u003c/code\u003e\u003c/a\u003e Ignore pnpm-lock.yaml from Prettier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dcee63f96d576ed828dd5af67d26ee9a3728e2db\"\u003e\u003ccode\u003edcee63f\u003c/code\u003e\u003c/a\u003e Work around pnpm bug with pmOnFail + devEngines.packageManager\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.3...v15.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@bufbuild/buf` from 1.68.4 to 1.70.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bufbuild/buf/releases\"\u003e@​bufbuild/buf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.70.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e, \u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules and make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.69.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/blob/main/CHANGELOG.md\"\u003e@​bufbuild/buf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.70.0] - 2026-05-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e,\n\u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules\nand make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v1.69.0] - 2026-04-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/commit/4f657db175eb7418efef85b35db97472ff9df526\"\u003e\u003ccode\u003e4f657db\u003c/code\u003e\u003c/a\u003e Release v1.70.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4556\"\u003e#4556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/f278fa0989621eca516eb5a0a5b00b8ebe94b777\"\u003e\u003ccode\u003ef278fa0\u003c/code\u003e\u003c/a\u003e Bump buf.build/gen/go/bufbuild/registry/connectrpc/go from 1.19.2-20260507063...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/977b89ba82ca288850b6ba64602d6d201d331cd9\"\u003e\u003ccode\u003e977b89b\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4555\"\u003e#4555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/88dfb3409802d618d1fe4f8b6beef84b06df0ea3\"\u003e\u003ccode\u003e88dfb34\u003c/code\u003e\u003c/a\u003e Lint MessageRules.oneof in PROTOVALIDATE check (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4540\"\u003e#4540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/e96239e0572348b8f9d6ee8345b97713aa8e46f6\"\u003e\u003ccode\u003ee96239e\u003c/code\u003e\u003c/a\u003e Filter out GIT_WORK_TREE from cloner environment variables (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d0e7d39ca13bbacc73a3e82d1073fb1fe71a4e3e\"\u003e\u003ccode\u003ed0e7d39\u003c/code\u003e\u003c/a\u003e Add env override test cases to git package (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/37478176d82c2a099f0b4c85b86e40d01c857531\"\u003e\u003ccode\u003e3747817\u003c/code\u003e\u003c/a\u003e Bump actions/create-github-app-token from 3.1.1 to 3.2.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4544\"\u003e#4544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/9eddb9cdeb75daab3c3b699060ae1a38ed199961\"\u003e\u003ccode\u003e9eddb9c\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d46006023cfbff8bd7571a8c8b908455865005b2\"\u003e\u003ccode\u003ed460060\u003c/code\u003e\u003c/a\u003e Update README.md (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/2dae4779331f5d24244176ce168758fcc25b84e7\"\u003e\u003ccode\u003e2dae477\u003c/code\u003e\u003c/a\u003e Fix LSP documentSymbol marking every symbol as deprecated (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4531\"\u003e#4531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bufbuild/buf/compare/v1.68.4...v1.70.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@testcontainers/postgresql` from 11.14.0 to 12.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-node/releases\"\u003e@​testcontainers/postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.0.1\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Podman image healthcheck detection \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd npm dependency release age cooldown \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse Docker Hub Redpanda image \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse preinstalled Podman in checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify affected package checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd npm publish dry run workflow \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade build agents from Ubuntu 22.04 to 24.04 \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove module compile checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1327\"\u003e#1327\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump tmp from 0.2.5 to 0.2.6 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 14 directories with 16 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group with 13 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 13 directories with 12 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 1 directory with 22 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.0\u003c/h2\u003e\n\u003ch2\u003e🚨 Breaking Changes\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eNode 20 is EOL. Minimum engine requirement is now \u003ccode\u003e\u0026gt;= 22.22\u003c/code\u003e, matching the constraints from our dependencies.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePreviously, when no wait strategy was configured, Testcontainers defaulted to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe new default wait strategy uses a Docker healthcheck when one is configured on the container image or service, falling back to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e when no healthcheck is available.\u003c/p\u003e\n\u003cp\u003eTo keep the previous behaviour, configure \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e explicitly:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { DockerComposeEnvironment, GenericContainer, Wait } from \u0026quot;testcontainers\u0026quot;;\r\n\u003cp\u003e// Container: opt back into the previous default of waiting for listening ports\nconst container = await new GenericContainer(\u0026quot;my-image:latest\u0026quot;)\n.withExposedPorts(8080)\n.withWaitStrategy(Wait.forListeningPorts())\n.start();\u003c/p\u003e\n\u003cp\u003e// Compose: apply the previous default to all services\nconst environment = await new DockerComposeEnvironment(composeFilePath, \u0026quot;docker-compose.yml\u0026quot;)\n.withDefaultWaitStrategy(Wait.forListeningPorts())\n.up();\u003c/p\u003e\n\u003cp\u003e// Compose: or apply it to a specific compose container\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/4d8de0cd81c26734b2c95b5fd717fa62ea0648eb\"\u003e\u003ccode\u003e4d8de0c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;v12.0.1\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/d2e4da4b820d5694b120739dad0c360c9e50c3b6\"\u003e\u003ccode\u003ed2e4da4\u003c/code\u003e\u003c/a\u003e v12.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/1077fd6bce442a08fdea707536290a1ae7a0de88\"\u003e\u003ccode\u003e1077fd6\u003c/code\u003e\u003c/a\u003e Revert default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1346\"\u003e#1346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/665feb4f42073eb7394435a84c6eff9f20d7a714\"\u003e\u003ccode\u003e665feb4\u003c/code\u003e\u003c/a\u003e Bump tmp from 0.2.5 to 0.2.6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cdb8366ad8c17692782a2073406209699eeeff73\"\u003e\u003ccode\u003ecdb8366\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 14 directories with 16 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/3148791de679c3208beb6c1a8f37eafe8abb6810\"\u003e\u003ccode\u003e3148791\u003c/code\u003e\u003c/a\u003e Add default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1340\"\u003e#1340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/34c581136a78d3b2098253c8ed86515617d76a52\"\u003e\u003ccode\u003e34c5811\u003c/code\u003e\u003c/a\u003e Add npm dependency release age cooldown (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/c584af1ca12b059c13ba9d76d3b73a2440dbae92\"\u003e\u003ccode\u003ec584af1\u003c/code\u003e\u003c/a\u003e Fix Podman image healthcheck detection (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cae5c26312c234df0001f2866e9d8e58002e54c7\"\u003e\u003ccode\u003ecae5c26\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 13 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/33e1dc109cc94ef9b4e0020b4a6fd9e8b8a354af\"\u003e\u003ccode\u003e33e1dc1\u003c/code\u003e\u003c/a\u003e Use Docker Hub Redpanda image (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-node/compare/v11.14.0...v12.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.3.0 to 30.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003ejest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev30.4.2\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.1\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.0\u003c/h2\u003e\n\u003cp\u003eBig release! 😀\u003c/p\u003e\n\u003cp\u003eMain feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work \u003ccode\u003erequire(esm)\u003c/code\u003e module is now supported on Node 24.9+ (still requires \u003ccode\u003e--experimental-vm-modules\u003c/code\u003e like before).\u003c/p\u003e\n\u003cp\u003eIn addition we now support fake timers for the recently released \u003ccode\u003eTemporal\u003c/code\u003e API in Node v26.\u003c/p\u003e\n\u003cp\u003eReact 19 is also supported properly in \u003ccode\u003epretty-format\u003c/code\u003e, meaning snapshots of React components now work like they should.\u003c/p\u003e\n\u003cp\u003eDue to all the changes, there might be regressions that snuck in. Please report them!\u003c/p\u003e\n\u003cp\u003eFull list of changes below\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\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/jestjs/jest/blob/main/CHANGELOG.md\"\u003ejest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.4.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[pretty-format]\u003c/code\u003e Support React 19 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16123\"\u003e#16123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect-utils]\u003c/code\u003e Fix \u003ccode\u003etoStrictEqual\u003c/code\u003e failing on \u003ccode\u003estructuredClone\u003c/code\u003e results due to cross-realm constructor mismatch (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15959\"\u003e#15959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Prevent \u003ccode\u003etoMatchObject\u003c/code\u003e/subset matching from throwing when encountering exotic iterables (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15952\"\u003e#15952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[fake-timers]\u003c/code\u003e Convert \u003ccode\u003eDate\u003c/code\u003e to milliseconds before passing to \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16029\"\u003e#16029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest]\u003c/code\u003e Export \u003ccode\u003eGlobalConfig\u003c/code\u003e and \u003ccode\u003eProjectConfig\u003c/code\u003e TypeScript types (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Prevent crash when \u003ccode\u003easyncError\u003c/code\u003e is undefined for non-Error throws (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16003\"\u003e#16003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Include \u003ccode\u003eError.cause\u003c/code\u003e in JSON \u003ccode\u003efailureMessages\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15967\"\u003e#15967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Fix preset path resolution on Windows when the preset uses subpath \u003ccode\u003eexports\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15961\"\u003e#15961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config without a validation warning (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Project config validator now emits \u0026quot;is not supported in an individual project configuration\u0026quot; instead of \u0026quot;probably a typing mistake\u0026quot; for known global-only options (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Fix \u003ccode\u003e--localstorage-file\u003c/code\u003e warning on Node 25+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16086\"\u003e#16086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16137\"\u003e#16137\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/jestjs/jest/commit/746f2a0f57c56e3bba555280f0587d40f3db95c0\"\u003e\u003ccode\u003e746f2a0\u003c/code\u003e\u003c/a\u003e v30.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/b3b4a09ed3005369dacc7466d1d2122797283785\"\u003e\u003ccode\u003eb3b4a09\u003c/code\u003e\u003c/a\u003e v30.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/5cbb21e0b3037edb42e503ec1a1ce80efad40c20\"\u003e\u003ccode\u003e5cbb21e\u003c/code\u003e\u003c/a\u003e v30.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/db7141a93cc85fab81cf9c25368e1f2b2c312286\"\u003e\u003ccode\u003edb7141a\u003c/code\u003e\u003c/a\u003e fix: allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.2/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are to...\n\n_Description has been truncated_","html_url":"https://github.com/oyakh1/hiero-mirror-node--021/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyakh1%2Fhiero-mirror-node--021/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"}},{"old_version":"21.0.3","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-31T01:05:35.000Z","version_change":"21.0.3 → 22.0.0","issue":{"uuid":"4556192358","node_id":"PR_kwDORzhmIM7hBpoQ","number":10,"state":"closed","title":"chore(deps-dev): bump the dev-dependencies group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-07T01:04:04.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-31T01:05:35.000Z","updated_at":"2026-06-07T01:04:05.000Z","time_to_close":604709,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"dev-dependencies","update_count":15,"packages":[{"name":"@eslint/js","old_version":"9.39.4","new_version":"10.0.1","repository_url":"https://github.com/eslint/eslint"},{"name":"@google/genai","old_version":"1.46.0","new_version":"2.7.0","repository_url":"https://github.com/googleapis/js-genai"},{"name":"@rollup/plugin-commonjs","old_version":"29.0.2","new_version":"29.0.3","repository_url":"https://github.com/rollup/plugins"},{"name":"@types/node","old_version":"25.5.0","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.57.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.57.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"eslint","old_version":"9.39.4","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"globals","old_version":"17.4.0","new_version":"17.6.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"lighthouse","old_version":"13.0.3","new_version":"13.3.0","repository_url":"https://github.com/GoogleChrome/lighthouse"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"rollup","old_version":"4.59.1","new_version":"4.60.4","repository_url":"https://github.com/rollup/rollup"},{"name":"rollup-plugin-license","old_version":"3.7.0","new_version":"3.7.1","repository_url":"https://github.com/mjeanroy/rollup-plugin-license"},{"name":"sinon","old_version":"21.0.3","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"typescript-eslint","old_version":"8.57.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.4` | `10.0.1` |\n| [@google/genai](https://github.com/googleapis/js-genai) | `1.46.0` | `2.7.0` |\n| [@rollup/plugin-commonjs](https://github.com/rollup/plugins/tree/HEAD/packages/commonjs) | `29.0.2` | `29.0.3` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.5.0` | `25.9.1` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.57.1` | `8.60.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.57.1` | `8.60.0` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.4` | `10.4.1` |\n| [globals](https://github.com/sindresorhus/globals) | `17.4.0` | `17.6.0` |\n| [lighthouse](https://github.com/GoogleChrome/lighthouse) | `13.0.3` | `13.3.0` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [rollup](https://github.com/rollup/rollup) | `4.59.1` | `4.60.4` |\n| [rollup-plugin-license](https://github.com/mjeanroy/rollup-plugin-license) | `3.7.0` | `3.7.1` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.0.3` | `22.0.0` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.57.1` | `8.60.0` |\n\n\nUpdates `@eslint/js` from 9.39.4 to 10.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003e@​eslint/js's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.0.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c87d5bded54c5cf491eb04c24c9d09bbbd42c23e\"\u003e\u003ccode\u003ec87d5bd\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20531\"\u003e#20531\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84100115c14691691058f00779c94e74fca946a\"\u003e\u003ccode\u003ed841001\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003eminimatch\u003c/code\u003e to \u003ccode\u003e10.2.1\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20519\"\u003e#20519\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/04c21475b3004904948f02049f2888b401d82c78\"\u003e\u003ccode\u003e04c2147\u003c/code\u003e\u003c/a\u003e fix: update error message for unused suppressions (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20496\"\u003e#20496\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/38b089c1726feac0e31a31d47941bd99e29ce003\"\u003e\u003ccode\u003e38b089c\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-array\u003c/code\u003e to ^0.23.1 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20484\"\u003e#20484\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b3dbce50a1404a9f118afe810cefeee79388a2a\"\u003e\u003ccode\u003e5b3dbce\u003c/code\u003e\u003c/a\u003e docs: add AI acknowledgement section to templates (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20431\"\u003e#20431\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6f23076037d5879f20fb3be2ef094293b1e8d38c\"\u003e\u003ccode\u003e6f23076\u003c/code\u003e\u003c/a\u003e docs: toggle nav in no-JS mode (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20476\"\u003e#20476\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b69cfb32a16c5d5e9986390d484fae1d21e406f9\"\u003e\u003ccode\u003eb69cfb3\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e5c281ffd038a3a7a3e5364db0b9378e0ad83020\"\u003e\u003ccode\u003ee5c281f\u003c/code\u003e\u003c/a\u003e chore: updates for v9.39.3 release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8c3832adb77cd993b4a24891900d5eeaaf093cdc\"\u003e\u003ccode\u003e8c3832a\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e to ^8.56.0 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20514\"\u003e#20514\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8330d238ae6adb68bb6a1c9381e38cfedd990d94\"\u003e\u003ccode\u003e8330d23\u003c/code\u003e\u003c/a\u003e test: add tests for config-api (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20493\"\u003e#20493\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/37d6e91e88fa6a2ca6d8726679096acff21ba6cc\"\u003e\u003ccode\u003e37d6e91\u003c/code\u003e\u003c/a\u003e chore: remove eslint v10 prereleases from eslint-config-eslint deps (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20494\"\u003e#20494\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/da7cd0e79197ad16e17052eef99df141de6dbfb1\"\u003e\u003ccode\u003eda7cd0e\u003c/code\u003e\u003c/a\u003e refactor: cleanup error message templates (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20479\"\u003e#20479\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d\"\u003e\u003ccode\u003e1f66734\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e of \u003ccode\u003e@eslint/js\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20467\"\u003e#20467\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.0.0\u003c/h2\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f9e54f43a5e497cdfa179338b431093245cb787b\"\u003e\u003ccode\u003ef9e54f4\u003c/code\u003e\u003c/a\u003e feat!: estimate rule-tester failure location (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20420\"\u003e#20420\u003c/a\u003e) (ST-DDT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a176319d8ade1a7d9b2d7fb8f038f55a2662325f\"\u003e\u003ccode\u003ea176319\u003c/code\u003e\u003c/a\u003e feat!: replace \u003ccode\u003echalk\u003c/code\u003e with \u003ccode\u003estyleText\u003c/code\u003e and add \u003ccode\u003ecolor\u003c/code\u003e to \u003ccode\u003eResultsMeta\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20227\"\u003e#20227\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c7046e6c1e03c4ca0eee4888a1f2eba4c6454f84\"\u003e\u003ccode\u003ec7046e6\u003c/code\u003e\u003c/a\u003e feat!: enable JSX reference tracking (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20152\"\u003e#20152\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa\"\u003e\u003ccode\u003efa31a60\u003c/code\u003e\u003c/a\u003e feat!: add \u003ccode\u003ename\u003c/code\u003e to configs (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20015\"\u003e#20015\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3383e7ec9028166cafc8ea7986c2f7498d0049f0\"\u003e\u003ccode\u003e3383e7e\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eSourceCode\u003c/code\u003e methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20137\"\u003e#20137\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/501abd0e916a35554c58b7c0365537f1fa3880ce\"\u003e\u003ccode\u003e501abd0\u003c/code\u003e\u003c/a\u003e feat!: update dependency minimatch to v10 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20246\"\u003e#20246\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ca4d3b40085de47561f89656a2207d09946ed45e\"\u003e\u003ccode\u003eca4d3b4\u003c/code\u003e\u003c/a\u003e fix!: stricter rule tester assertions for valid test cases (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20125\"\u003e#20125\u003c/a\u003e) (唯然)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/96512a66c86402fb0538cdcb6cd30b9073f6bf3b\"\u003e\u003ccode\u003e96512a6\u003c/code\u003e\u003c/a\u003e fix!: Remove deprecated rule context methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20086\"\u003e#20086\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c69fdacdb2e886b9d965568a397aa8220db3fe90\"\u003e\u003ccode\u003ec69fdac\u003c/code\u003e\u003c/a\u003e feat!: remove eslintrc support (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20037\"\u003e#20037\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/208b5cc34a8374ff81412b5bec2e0800eebfbd04\"\u003e\u003ccode\u003e208b5cc\u003c/code\u003e\u003c/a\u003e feat!: Use \u003ccode\u003eScopeManager#addGlobals()\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20132\"\u003e#20132\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a2ee188ea7a38a0c6155f3d39e2b00e1d0f36e14\"\u003e\u003ccode\u003ea2ee188\u003c/code\u003e\u003c/a\u003e fix!: add \u003ccode\u003euniqueItems: true\u003c/code\u003e in \u003ccode\u003eno-invalid-regexp\u003c/code\u003e option (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20155\"\u003e#20155\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a89059dbf2832d417dd493ee81483227ec44e4ab\"\u003e\u003ccode\u003ea89059d\u003c/code\u003e\u003c/a\u003e feat!: Program range span entire source text (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20133\"\u003e#20133\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39a6424373d915fa9de0d7b0caba9a4dc3da9b53\"\u003e\u003ccode\u003e39a6424\u003c/code\u003e\u003c/a\u003e fix!: assert 'text' is a string across all RuleFixer methods (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20082\"\u003e#20082\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f28fbf846244e043c92b355b224d121b06140b44\"\u003e\u003ccode\u003ef28fbf8\u003c/code\u003e\u003c/a\u003e fix!: Deprecate \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e and \u003ccode\u003e\u0026quot;as-needed\u0026quot;\u003c/code\u003e options of the \u003ccode\u003eradix\u003c/code\u003e rule (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20223\"\u003e#20223\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/aa3fb2b233e929b37220be940575f42c280e0b98\"\u003e\u003ccode\u003eaa3fb2b\u003c/code\u003e\u003c/a\u003e fix!: tighten \u003ccode\u003efunc-names\u003c/code\u003e schema (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20119\"\u003e#20119\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f6c0ed0311dcfee853367d5068c765d066e6b756\"\u003e\u003ccode\u003ef6c0ed0\u003c/code\u003e\u003c/a\u003e feat!: report \u003ccode\u003eeslint-env\u003c/code\u003e comments as errors (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20128\"\u003e#20128\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4bf739fb533e59f7f0a66b65f7bc80be0f37d8db\"\u003e\u003ccode\u003e4bf739f\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eLintMessage#nodeType\u003c/code\u003e and \u003ccode\u003eTestCaseError#type\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20096\"\u003e#20096\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/523c076866400670fb2192a3f55dbf7ad3469247\"\u003e\u003ccode\u003e523c076\u003c/code\u003e\u003c/a\u003e feat!: drop support for jiti \u0026lt; 2.2.0 (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20016\"\u003e#20016\u003c/a\u003e) (michael faith)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64\"\u003e\u003ccode\u003e454a292\u003c/code\u003e\u003c/a\u003e feat!: update \u003ccode\u003eeslint:recommended\u003c/code\u003e configuration (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20210\"\u003e#20210\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4f880ee02992e1bf0e96ebaba679985e2d1295f1\"\u003e\u003ccode\u003e4f880ee\u003c/code\u003e\u003c/a\u003e feat!: remove \u003ccode\u003ev10_*\u003c/code\u003e and inactive \u003ccode\u003eunstable_*\u003c/code\u003e flags (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20225\"\u003e#20225\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f18115c363a4ac7671a4c7f30ee13d57ebba330f\"\u003e\u003ccode\u003ef18115c\u003c/code\u003e\u003c/a\u003e feat!: \u003ccode\u003eno-shadow-restricted-names\u003c/code\u003e report \u003ccode\u003eglobalThis\u003c/code\u003e by default (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20027\"\u003e#20027\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e\"\u003e\u003ccode\u003ec6358c3\u003c/code\u003e\u003c/a\u003e feat!: Require Node.js \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20160\"\u003e#20160\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bff9091927811497dbf066b0e3b85ecb37d43822\"\u003e\u003ccode\u003ebff9091\u003c/code\u003e\u003c/a\u003e feat: handle \u003ccode\u003eArray.fromAsync\u003c/code\u003e in \u003ccode\u003earray-callback-return\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20457\"\u003e#20457\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/290c594bb50c439fb71bc75521ee5360daa8c222\"\u003e\u003ccode\u003e290c594\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eself\u003c/code\u003e to \u003ccode\u003eno-implied-eval\u003c/code\u003e rule (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20468\"\u003e#20468\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43677de07ebd6e14bfac40a46ad749ba783c45f2\"\u003e\u003ccode\u003e43677de\u003c/code\u003e\u003c/a\u003e feat: fix handling of function and class expression names in \u003ccode\u003eno-shadow\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20432\"\u003e#20432\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d\"\u003e\u003ccode\u003e1f66734\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e of \u003ccode\u003e@eslint/js\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20467\"\u003e#20467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f3fbc2f60cbe2c718364feb8c3fc0452c0df3c56\"\u003e\u003ccode\u003ef3fbc2f\u003c/code\u003e\u003c/a\u003e chore: set \u003ccode\u003e@eslint/js\u003c/code\u003e version to 10.0.0 to skip releasing it (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20466\"\u003e#20466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b4b3127f8542c599ce2dea804b6582ebc40c993d\"\u003e\u003ccode\u003eb4b3127\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0b14059491d830a49b3577931f4f68fbcfce6be5\"\u003e\u003ccode\u003e0b14059\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa\"\u003e\u003ccode\u003efa31a60\u003c/code\u003e\u003c/a\u003e feat!: add \u003ccode\u003ename\u003c/code\u003e to configs (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1e2cad5f6fa47ed6ed89d2a29798dda926d50990\"\u003e\u003ccode\u003e1e2cad5\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64\"\u003e\u003ccode\u003e454a292\u003c/code\u003e\u003c/a\u003e feat!: update \u003ccode\u003eeslint:recommended\u003c/code\u003e configuration (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20210\"\u003e#20210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e\"\u003e\u003ccode\u003ec6358c3\u003c/code\u003e\u003c/a\u003e feat!: Require Node.js \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20160\"\u003e#20160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint/eslint/commits/v10.0.1/packages/js\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@google/genai` from 1.46.0 to 2.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/js-genai/releases\"\u003e@​google/genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.7.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.6.0...v2.7.0\"\u003e2.7.0\u003c/a\u003e (2026-05-27)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Skill Registry ListSkills and DeleteSkill to SDK (\u003ca href=\"https://github.com/googleapis/js-genai/commit/d75582ad9bd04b071c4eea003df80b417070fd87\"\u003ed75582a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadditional computer_use field support for vertex. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/54a692b372fe6d5ab1340cd3ae4ea02a3a59e85c\"\u003e54a692b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einteraction-api:\u003c/strong\u003e Allow \u0026quot;text/csv\u0026quot; as a supported document mime type for Interaction API. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/3cc830e592d9c3185f0b9c15ed36de7581e0a5d5\"\u003e3cc830e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einteraction-api:\u003c/strong\u003e Enable BigQuery tool in Deep Research config. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/58c8c7e57b8454469e0f33a873432b892ef3ffc1\"\u003e58c8c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Reinforcement Tuning in GenAI SDK (\u003ca href=\"https://github.com/googleapis/js-genai/commit/418cc35c62af073dc41169df09884bfdcd25b4b8\"\u003e418cc35\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.6.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.5.0...v2.6.0\"\u003e2.6.0\u003c/a\u003e (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eenable_prompt_injection_detection\u003c/code\u003e for Computer Use feature for the Gemini API. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/f780f3c6dcbf311b8712a8d2bda2b1cee38d3067\"\u003ef780f3c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd budget_exceeded status (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1e97bd0ab7791f6140b24d3a4457c097dd2d48a0\"\u003e1e97bd0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd gemini-3.5-flash (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1e97bd0ab7791f6140b24d3a4457c097dd2d48a0\"\u003e1e97bd0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd new fields (\u003ca href=\"https://github.com/googleapis/js-genai/commit/b78eeee55607797a1bb14d41e648dacab863a7d2\"\u003eb78eeee\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.4.0...v2.5.0\"\u003e2.5.0\u003c/a\u003e (2026-05-20)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Gemini 3.5 Flash model to options (\u003ca href=\"https://github.com/googleapis/js-genai/commit/fcf26e386d4c8586047b64ecb0f01705d7a0a43e\"\u003efcf26e3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.3.0...v2.4.0\"\u003e2.4.0\u003c/a\u003e (2026-05-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Agent and Environment APIs. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/b0d9d2b84b3f94ba710b30b8a993cb7d23a10d35\"\u003eb0d9d2b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eoutput_text for turns that don't end with text. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1a3d94f81574256e2f9e72af6bd5273f44d9fe2f\"\u003e1a3d94f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.2.0...v2.3.0\"\u003e2.3.0\u003c/a\u003e (2026-05-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\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/googleapis/js-genai/blob/main/CHANGELOG.md\"\u003e@​google/genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.6.0...v2.7.0\"\u003e2.7.0\u003c/a\u003e (2026-05-27)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Skill Registry ListSkills and DeleteSkill to SDK (\u003ca href=\"https://github.com/googleapis/js-genai/commit/d75582ad9bd04b071c4eea003df80b417070fd87\"\u003ed75582a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadditional computer_use field support for vertex. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/54a692b372fe6d5ab1340cd3ae4ea02a3a59e85c\"\u003e54a692b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einteraction-api:\u003c/strong\u003e Allow \u0026quot;text/csv\u0026quot; as a supported document mime type for Interaction API. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/3cc830e592d9c3185f0b9c15ed36de7581e0a5d5\"\u003e3cc830e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003einteraction-api:\u003c/strong\u003e Enable BigQuery tool in Deep Research config. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/58c8c7e57b8454469e0f33a873432b892ef3ffc1\"\u003e58c8c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Reinforcement Tuning in GenAI SDK (\u003ca href=\"https://github.com/googleapis/js-genai/commit/418cc35c62af073dc41169df09884bfdcd25b4b8\"\u003e418cc35\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.5.0...v2.6.0\"\u003e2.6.0\u003c/a\u003e (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eenable_prompt_injection_detection\u003c/code\u003e for Computer Use feature for the Gemini API. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/f780f3c6dcbf311b8712a8d2bda2b1cee38d3067\"\u003ef780f3c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd budget_exceeded status (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1e97bd0ab7791f6140b24d3a4457c097dd2d48a0\"\u003e1e97bd0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd gemini-3.5-flash (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1e97bd0ab7791f6140b24d3a4457c097dd2d48a0\"\u003e1e97bd0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd new fields (\u003ca href=\"https://github.com/googleapis/js-genai/commit/b78eeee55607797a1bb14d41e648dacab863a7d2\"\u003eb78eeee\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.4.0...v2.5.0\"\u003e2.5.0\u003c/a\u003e (2026-05-20)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Gemini 3.5 Flash model to options (\u003ca href=\"https://github.com/googleapis/js-genai/commit/fcf26e386d4c8586047b64ecb0f01705d7a0a43e\"\u003efcf26e3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.3.0...v2.4.0\"\u003e2.4.0\u003c/a\u003e (2026-05-17)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Agent and Environment APIs. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/b0d9d2b84b3f94ba710b30b8a993cb7d23a10d35\"\u003eb0d9d2b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eoutput_text for turns that don't end with text. (\u003ca href=\"https://github.com/googleapis/js-genai/commit/1a3d94f81574256e2f9e72af6bd5273f44d9fe2f\"\u003e1a3d94f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.2.0...v2.3.0\"\u003e2.3.0\u003c/a\u003e (2026-05-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003einteraction.{output_text,output_image,output_audio,output_video} (\u003ca href=\"https://github.com/googleapis/js-genai/commit/0188233bc1a18033f0a2a8bb228c04181a05dbad\"\u003e0188233\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/js-genai/compare/v2.1.0...v2.2.0\"\u003e2.2.0\u003c/a\u003e (2026-05-12)\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/googleapis/js-genai/commit/2821346c85468d5fc18f95a5824583868548c6d8\"\u003e\u003ccode\u003e2821346\u003c/code\u003e\u003c/a\u003e chore(main): release 2.7.0 (\u003ca href=\"https://redirect.github.com/googleapis/js-genai/issues/1630\"\u003e#1630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/54a692b372fe6d5ab1340cd3ae4ea02a3a59e85c\"\u003e\u003ccode\u003e54a692b\u003c/code\u003e\u003c/a\u003e feat: additional computer_use field support for vertex.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/d75582ad9bd04b071c4eea003df80b417070fd87\"\u003e\u003ccode\u003ed75582a\u003c/code\u003e\u003c/a\u003e feat: Add Skill Registry ListSkills and DeleteSkill to SDK\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/3cc830e592d9c3185f0b9c15ed36de7581e0a5d5\"\u003e\u003ccode\u003e3cc830e\u003c/code\u003e\u003c/a\u003e feat(interaction-api): Allow \u0026quot;text/csv\u0026quot; as a supported document mime type for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/58c8c7e57b8454469e0f33a873432b892ef3ffc1\"\u003e\u003ccode\u003e58c8c7e\u003c/code\u003e\u003c/a\u003e feat(interaction-api): Enable BigQuery tool in Deep Research config.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/b25d22f08ebb10ed1fe2084b76fca62c1e609077\"\u003e\u003ccode\u003eb25d22f\u003c/code\u003e\u003c/a\u003e chore: Internal cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/418cc35c62af073dc41169df09884bfdcd25b4b8\"\u003e\u003ccode\u003e418cc35\u003c/code\u003e\u003c/a\u003e feat: Support Reinforcement Tuning in GenAI SDK\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/a631549ff5e2913eb42d5f01e756231949633197\"\u003e\u003ccode\u003ea631549\u003c/code\u003e\u003c/a\u003e chore(main): release 2.6.0 (\u003ca href=\"https://redirect.github.com/googleapis/js-genai/issues/1623\"\u003e#1623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/f780f3c6dcbf311b8712a8d2bda2b1cee38d3067\"\u003e\u003ccode\u003ef780f3c\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eenable_prompt_injection_detection\u003c/code\u003e for Computer Use feature for th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/js-genai/commit/b78eeee55607797a1bb14d41e648dacab863a7d2\"\u003e\u003ccode\u003eb78eeee\u003c/code\u003e\u003c/a\u003e feat: add new fields\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/js-genai/compare/v1.46.0...v2.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003epreinstall\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@rollup/plugin-commonjs` from 29.0.2 to 29.0.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rollup/plugins/blob/master/packages/commonjs/CHANGELOG.md\"\u003e@​rollup/plugin-commonjs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.0.3\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-05-29\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecommonjs: make \u003ca href=\"https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1868\"\u003e#1868\u003c/a\u003e es5-compatible (\u003ca href=\"https://redirect.github.com/rollup/plugins/issues/1981\"\u003e#1981\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/rollup/plugins/commit/1e4025b6e984820523b612b74f09da0a4913d38a\"\u003e\u003ccode\u003e1e4025b\u003c/code\u003e\u003c/a\u003e chore(release): commonjs v29.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/plugins/commit/08a5b175b966c571ecfee6082ac654784a40b8ae\"\u003e\u003ccode\u003e08a5b17\u003c/code\u003e\u003c/a\u003e fix(commonjs): make \u003ca href=\"https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1868\"\u003e#1868\u003c/a\u003e es5-compatible (\u003ca href=\"https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1981\"\u003e#1981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/plugins/commit/5800bf331567c07590f9c3510c684b22c57629d3\"\u003e\u003ccode\u003e5800bf3\u003c/code\u003e\u003c/a\u003e chore(repo): test migration to vitest. phase 4 (\u003ca href=\"https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1978\"\u003e#1978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rollup/plugins/commits/commonjs-v29.0.3/packages/commonjs\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.5.0 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.57.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-deprecated] object destructuring values should be treated as declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12292\"\u003e#12292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-type-assertion] handle crash on recursive template literal types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12150\"\u003e#12150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDima Barabash\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4302433ae6bf93d4ddc35264ad1b951254758566\"\u003e\u003ccode\u003e4302433\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-floating-promises] stack overflow when using recursiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/10b79f1ba8e98610a3af85152a1b3b406f91e633\"\u003e\u003ccode\u003e10b79f1\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint to v10.4.0 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12339\"\u003e#12339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2a6765d9628dc776f8127c96f088bb807c0bcab2\"\u003e\u003ccode\u003e2a6765d\u003c/code\u003e\u003c/a\u003e chore: clenaup \u003ccode\u003egetAwaitedType\u003c/code\u003e from \u003ccode\u003etypescript.d.ts\u003c/code\u003e (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12302\"\u003e#12302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e26dc8003ababf078aad4df17765ee4cea30644c\"\u003e\u003ccode\u003ee26dc80\u003c/code\u003e\u003c/a\u003e docs: update stale links to latest (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12313\"\u003e#12313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ec3ef25390f7daf5a9ff33a60282bdbbb49ab0f3\"\u003e\u003ccode\u003eec3ef25\u003c/code\u003e\u003c/a\u003e test: make no-useless-empty-export tests fully static (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12260\"\u003e#12260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/eslint-plugin\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/parser` from 8.57.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.0 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.58.2 (2026-04-13)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/52457932e5507b5ca01e720a541f3f8d01e09b9d\"\u003e\u003ccode\u003e5245793\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ea9ae4f8817873480e3501145059f63e39e8d8a1\"\u003e\u003ccode\u003eea9ae4f\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/90c2803a4c250e0343598d41e973f95e743bf4ce\"\u003e\u003ccode\u003e90c2803\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/be6b49a02d68db9bdc8985e7e9e1598700fda2fa\"\u003e\u003ccode\u003ebe6b49a\u003c/code\u003e\u003c/a\u003e fix: remove tsbuildinfo cache file from published packages (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12187\"\u003e#12187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/5311ed312eadf4e238324f2726ae0b1f3f2206e6\"\u003e\u003ccode\u003e5311ed3\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 9.39.4 to 10.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e) (Minh Vu)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c5bc78b37e08b9054a11f0cc2d81808bb24acb85\"\u003e\u003ccode\u003ec5bc78b\u003c/code\u003e\u003c/a\u003e fix: false positive for reference in \u003ccode\u003efinally\u003c/code\u003e block (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20655\"\u003e#20655\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/27538c01f5df4e9306f6f4ba867b2dd6307fae59\"\u003e\u003ccode\u003e27538c0\u003c/code\u003e\u003c/a\u003e fix: add missing CodePath and CodePathSegment types (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20853\"\u003e#20853\u003c/a\u003e) (Pixel998)\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/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/305d5b91aeac24d36fde42f75625a8f183d4ce43\"\u003e\u003ccode\u003e305d5b9\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rules from related rules section (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20911\"\u003e#20911\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c\"\u003e\u003ccode\u003e49b0202\u003c/code\u003e\u003c/a\u003e docs: fix \u003ccode\u003edisplay: none\u003c/code\u003e of ad (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20901\"\u003e#20901\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9067f9492ec998afc5b4f057a477ecf6ebd45e44\"\u003e\u003ccode\u003e9067f94\u003c/code\u003e\u003c/a\u003e docs: switch build to Node.js 24 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20893\"\u003e#20893\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c91b0417e3420c76807ce1fa2aea76e2de87ab86\"\u003e\u003ccode\u003ec91b041\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/e349265cb37f3ebc837e178e48a725bb782bd870\"\u003e\u003ccode\u003ee349265\u003c/code\u003e\u003c/a\u003e docs: clarify semver strings in rule deprecation objects (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20885\"\u003e#20885\u003c/a\u003e) (Milos Djermanovic)\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/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20922\"\u003e#20922\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e) (Arpit Jain)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b\"\u003e\u003ccode\u003e64bca24\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20912\"\u003e#20912\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56\"\u003e\u003ccode\u003e6d7c832\u003c/code\u003e\u003c/a\u003e chore: ignore fflate updates in renovate (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20908\"\u003e#20908\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b2c86382164d87c6203b78d52068cd6a2a6ffe30\"\u003e\u003ccode\u003eb2c8638\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.7 to 6.0.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20889\"\u003e#20889\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a9b8d7f74c50211701cfc49710fa541fd91b2aa5\"\u003e\u003ccode\u003ea9b8d7f\u003c/code\u003e\u003c/a\u003e chore: increase maxBuffer for ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20881\"\u003e#20881\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b702ead5e1ed7cb9f28238a454797662efb37396\"\u003e\u003ccode\u003eb702ead\u003c/code\u003e\u003c/a\u003e chore: update ecosystem update PR settings (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20884\"\u003e#20884\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/507f60e9a78c9a902bc8759f066ae17a1ea6cd81\"\u003e\u003ccode\u003e507f60e\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20882\"\u003e#20882\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92f5c5bb6bf3a5d167c8ee53a430833410295c6d\"\u003e\u003ccode\u003e92f5c5b\u003c/code\u003e\u003c/a\u003e test: add unit test for message-count (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20878\"\u003e#20878\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/df321080af5758b1fa25e4b9a40e26135642dd6e\"\u003e\u003ccode\u003edf32108\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003e@​eslint/markdown\u003c/code\u003e and typescript-eslint ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20837\"\u003e#20837\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/327f91d36aa49f2a50ded931d841a16374fd875f\"\u003e\u003ccode\u003e327f91d\u003c/code\u003e\u003c/a\u003e chore: use includeIgnoreFile internally (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20876\"\u003e#20876\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f0dc4bd893fb3a9f44e4ddc3ad7063ffb0beacd3\"\u003e\u003ccode\u003ef0dc4bd\u003c/code\u003e\u003c/a\u003e chore: pin fflate@0.8.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20877\"\u003e#20877\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0f4bd257a67a082b756de746d9e0c4842ab764ca\"\u003e\u003ccode\u003e0f4bd25\u003c/code\u003e\u003c/a\u003e ci: run Discord alert for ecosystem test failures (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20873\"\u003e#20873\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.4.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf\"\u003e\u003ccode\u003e1a45ec5\u003c/code\u003e\u003c/a\u003e feat: check sequence expressions in \u003ccode\u003efor-direction\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20701\"\u003e#20701\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b\"\u003e\u003ccode\u003e450040b\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to \u003ccode\u003eeslint/config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20735\"\u003e#20735\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c\"\u003e\u003ccode\u003e6799431\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-helpers\u003c/code\u003e to ^0.6.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20850\"\u003e#20850\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd\"\u003e\u003ccode\u003ef078fef\u003c/code\u003e\u003c/a\u003e fix: handle non-array deprecated rule replacements (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20825\"\u003e#20825\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f\"\u003e\u003ccode\u003e9cc7387\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5\"\u003e\u003ccode\u003e3d7b548\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb\"\u003e\u003ccode\u003e191ec3c\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/4a3d15a99c452c4db2fd56b577fa7597e98ab0c2\"\u003e\u003ccode\u003e4a3d15a\u003c/code\u003e\u003c/a\u003e 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43e7e2bdc5c6cacc535446b7d23c10f780384ba8\"\u003e\u003ccode\u003e43e7e2b\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20\"\u003e#20\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v9.39.4...v10.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globals` from 17.4.0 to 17.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/globals/releases\"\u003eglobals's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate globals (2026-05-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/343\"\u003e#343\u003c/a\u003e)  00a4dd9\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\"\u003ehttps://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev17.5.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate globals (2026-04-12) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/342\"\u003e#342\u003c/a\u003e)  5d84602\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.4.0...v17.5.0\"\u003ehttps://github.com/sindresorhus/globals/compare/v17.4.0...v17.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/6b15870f1c08b60b5b57afe45a703d9ed0be39bc\"\u003e\u003ccode\u003e6b15870\u003c/code\u003e\u003c/a\u003e 17.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/00a4dd9821830a9b044798120e86b1bb1a54648d\"\u003e\u003ccode\u003e00a4dd9\u003c/code\u003e\u003c/a\u003e Update globals (2026-05-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/343\"\u003e#343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/b8170c8e1d648291b613c5b39a69652c796fa36c\"\u003e\u003ccode\u003eb8170c8\u003c/code\u003e\u003c/a\u003e 17.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/5d846029679832931f38ced6381cc95bcb9abd80\"\u003e\u003ccode\u003e5d84602\u003c/code\u003e\u003c/a\u003e Update globals (2026-04-12) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/342\"\u003e#342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/1b727e5f4cc39121b8e77b9f27574a8ca27391fc\"\u003e\u003ccode\u003e1b727e5\u003c/code\u003e\u003c/a\u003e Fix build script for ES globals (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/341\"\u003e#341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.4.0...v17.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lighthouse` from 13.0.3 to 13.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GoogleChrome/lighthouse/releases\"\u003elighthouse's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev13.3.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/GoogleChrome/lighthouse/compare/v13.2.0...v13.3.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe expect this release to ship in the DevTools of \u003ca href=\"https://chromiumdash.appspot.com/schedule\"\u003eChrome 150\u003c/a\u003e, and to PageSpeed Insights within 2 weeks.\u003c/p\u003e\n\u003ch2\u003eNotable Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew agentic browsing category added to default config (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/17002\"\u003e#17002\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eagentic-web: add links to category and audit descriptions (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16997\"\u003e#16997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ellms-txt: adjust titles and descriptions and add smoketests (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/17005\"\u003e#17005\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeps\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade dependencies (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/17006\"\u003e#17006\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esmoke: widen byte efficiency wastedBytes range for ToT (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16996\"\u003e#16996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewebmcp: add webmcp smoketests (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16999\"\u003e#16999\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebundle: update build-bundle-mcp (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16995\"\u003e#16995\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev13.2.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/GoogleChrome/lighthouse/compare/v13.1.0...v13.2.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe expect this release to ship in the DevTools of \u003ca href=\"https://chromiumdash.appspot.com/schedule\"\u003eChrome 150\u003c/a\u003e, and to PageSpeed Insights within 2 weeks.\u003c/p\u003e\n\u003ch2\u003eNew contributors\u003c/h2\u003e\n\u003cp\u003eThanks to our new contributors 👽🐷🐰🐯🐻!\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003educky-duke \u003ca href=\"https://github.com/ducky-duke\"\u003e\u003ccode\u003e@​ducky-duke\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimon Zünd \u003ca href=\"https://github.com/szuend\"\u003e\u003ccode\u003e@​szuend\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Audits\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ewebmcp-form-coverage: add audit for missing webmcp tool annotations (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16964\"\u003e#16964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewebmcp-registered-tools: add audit to list registered webmcp tools (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16959\"\u003e#16959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewebmcp-schema-validity: add audit to check WebMCP schema issues (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16973\"\u003e#16973\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eimplement UKM Invalidate fallback for LCP (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16956\"\u003e#16956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eagentic: add new agentic browsing category (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16953\"\u003e#16953\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/GoogleChrome/lighthouse/blob/main/changelog.md\"\u003elighthouse's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e13.3.0 (2026-05-07)\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/GoogleChrome/lighthouse/compare/v13.2.0...v13.3.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe expect this release to ship in the DevTools of \u003ca href=\"https://chromiumdash.appspot.com/schedule\"\u003eChrome 150\u003c/a\u003e, and to PageSpeed Insights within 2 weeks.\u003c/p\u003e\n\u003ch2\u003eNotable Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew agentic browsing category added to default config (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/17002\"\u003e#17002\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eagentic-web: add links to category and audit descriptions (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16997\"\u003e#16997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ellms-txt: adjust titles and descriptions and add smoketests (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/17005\"\u003e#17005\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDeps\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade dependencies (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/17006\"\u003e#17006\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esmoke: widen byte efficiency wastedBytes range for ToT (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16996\"\u003e#16996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewebmcp: add webmcp smoketests (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16999\"\u003e#16999\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMisc\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebundle: update build-bundle-mcp (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16995\"\u003e#16995\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e13.2.0 (2026-04-30)\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/GoogleChrome/lighthouse/compare/v13.1.0...v13.2.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe expect this release to ship in the DevTools of \u003ca href=\"https://chromiumdash.appspot.com/schedule\"\u003eChrome 150\u003c/a\u003e, and to PageSpeed Insights within 2 weeks.\u003c/p\u003e\n\u003ch2\u003eNew contributors\u003c/h2\u003e\n\u003cp\u003eThanks to our new contributors 👽🐷🐰🐯🐻!\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003educky-duke \u003ca href=\"https://github.com/ducky-duke\"\u003e\u003ccode\u003e@​ducky-duke\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimon Zünd \u003ca href=\"https://github.com/szuend\"\u003e\u003ccode\u003e@​szuend\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Audits\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ewebmcp-form-coverage: add audit for missing webmcp tool annotations (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16964\"\u003e#16964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewebmcp-registered-tools: add audit to list registered webmcp tools (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16959\"\u003e#16959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewebmcp-schema-validity: add audit to check WebMCP schema issues (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16973\"\u003e#16973\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eimplement UKM Invalidate fallback for LCP (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16956\"\u003e#16956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eagentic: add new agentic browsing category (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/pull/16953\"\u003e#16953\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/GoogleChrome/lighthouse/commit/7d8dcf5004950cad3faa20664e4a7cf2817bd653\"\u003e\u003ccode\u003e7d8dcf5\u003c/code\u003e\u003c/a\u003e v13.3.0 (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/issues/17008\"\u003e#17008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleChrome/lighthouse/commit/f1460505034cb8c542fd09847a87e20cbf6f31b2\"\u003e\u003ccode\u003ef146050\u003c/code\u003e\u003c/a\u003e deps: upgrade dependencies (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/issues/17006\"\u003e#17006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleChrome/lighthouse/commit/ec66b4af8424d43901f956f3070aca1aa1e4c03b\"\u003e\u003ccode\u003eec66b4a\u003c/code\u003e\u003c/a\u003e core(llms-txt): adjust titles and descriptions and add smoketests (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/issues/17005\"\u003e#17005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleChrome/lighthouse/commit/147d04cee1546d6ce93416495a3750e929224552\"\u003e\u003ccode\u003e147d04c\u003c/code\u003e\u003c/a\u003e tests(webmcp): add webmcp smoketests (\u003ca href=\"https://redirect.github.com/GoogleChrome/lighthouse/issues/16999\"\u003e#16999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleChrome/lighthouse/commit/e120fadb6f58a31fb0cdebd30...\n\n_Description has been truncated_","html_url":"https://github.com/Chozen0ne/chrome-devtools-mcp/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chozen0ne%2Fchrome-devtools-mcp/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-30T00:37:30.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4552509749","node_id":"PR_kwDOSRkiy87g2dN-","number":26,"state":"closed","title":"Bump the dependencies group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-05T23:14:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-30T00:37:30.000Z","updated_at":"2026-06-05T23:14:42.000Z","time_to_close":599830,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":11,"packages":[{"name":"@opentelemetry/exporter-prometheus","old_version":"0.215.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"ioredis","old_version":"5.10.1","new_version":"5.11.0","repository_url":"https://github.com/luin/ioredis"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"qs","old_version":"6.15.1","new_version":"6.15.2","repository_url":"https://github.com/ljharb/qs"},{"name":"sql-formatter","old_version":"15.7.3","new_version":"15.8.0","repository_url":"https://github.com/sql-formatter-org/sql-formatter"},{"name":"@bufbuild/buf","old_version":"1.68.4","new_version":"1.70.0","repository_url":"https://github.com/bufbuild/buf"},{"name":"@testcontainers/postgresql","old_version":"11.14.0","new_version":"12.0.1","repository_url":"https://github.com/testcontainers/testcontainers-node"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"tar","old_version":"7.5.13","new_version":"7.5.15","repository_url":"https://github.com/isaacs/node-tar"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 10 updates in the /rest directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@opentelemetry/exporter-prometheus](https://github.com/open-telemetry/opentelemetry-js) | `0.215.0` | `0.218.0` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.1` | `5.11.0` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [qs](https://github.com/ljharb/qs) | `6.15.1` | `6.15.2` |\n| [sql-formatter](https://github.com/sql-formatter-org/sql-formatter) | `15.7.3` | `15.8.0` |\n| [@bufbuild/buf](https://github.com/bufbuild/buf) | `1.68.4` | `1.70.0` |\n| [@testcontainers/postgresql](https://github.com/testcontainers/testcontainers-node) | `11.14.0` | `12.0.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |\n| [tar](https://github.com/isaacs/node-tar) | `7.5.13` | `7.5.15` |\n\n\nUpdates `@opentelemetry/exporter-prometheus` from 0.215.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/exporter-prometheus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.215.0...experimental/v0.218.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/sdk-metrics` from 2.7.0 to 2.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-metrics's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.7.1\u003c/h2\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(sdk-metrics): reduce loop overhead in sdk hot paths \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6593\"\u003e#6593\u003c/a\u003e \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md\"\u003e@​opentelemetry/sdk-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: test Node.js 26 in CI \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6671\"\u003e#6671\u003c/a\u003e \u003ca href=\"https://github.com/cjihrig\"\u003e\u003ccode\u003e@​cjihrig\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7\"\u003e\u003ccode\u003e2400d83\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6647\"\u003e#6647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f7a9b7cc854232ebf7dea2d3ec0d6adc49128f53\"\u003e\u003ccode\u003ef7a9b7c\u003c/code\u003e\u003c/a\u003e fix(otlp-transformer): pin protobufjs to 8.0.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6646\"\u003e#6646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/cb38d7f833781c336c990757f773ce9c8360434a\"\u003e\u003ccode\u003ecb38d7f\u003c/code\u003e\u003c/a\u003e test(otlp-transformer): add metrics transfrom benchmark (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6628\"\u003e#6628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a28f12fef5fbdfb3b77a1334175b752883ef708a\"\u003e\u003ccode\u003ea28f12f\u003c/code\u003e\u003c/a\u003e fix(opentelemetry-core): defer tracestate vaidation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6459\"\u003e#6459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b27c5146ac21deb3fb1e8fca370d34f1828f3cc6\"\u003e\u003ccode\u003eb27c514\u003c/code\u003e\u003c/a\u003e refactor(opentelemetry-exporter-prometheus): do not call `enforcePrometheusNa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a2a8186e65a04dfdaf442927fbab268076cd4f5a\"\u003e\u003ccode\u003ea2a8186\u003c/code\u003e\u003c/a\u003e perf(sdk-trace-base): optimize TraceIdRatioBasedSampler hex parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6284\"\u003e#6284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/4c0f3f1b911c4740a085b6c66d267bb74826b475\"\u003e\u003ccode\u003e4c0f3f1\u003c/code\u003e\u003c/a\u003e feat(sdk-node): set TracerProvider in startNodeSDK() (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6607\"\u003e#6607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/417f2f17e4234417b34dbf7bdf8e24c330259dd2\"\u003e\u003ccode\u003e417f2f1\u003c/code\u003e\u003c/a\u003e fix(instr-xhr): do not unpatch XHR methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6611\"\u003e#6611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/47ac523b124be222ac89160e4623e8a60c960f35\"\u003e\u003ccode\u003e47ac523\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: allow browser maintainers to approve changelog edits\u0026quot; (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6627\"\u003e#6627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/86c621d5b8344f1ecdc13a9841a90604912d0055\"\u003e\u003ccode\u003e86c621d\u003c/code\u003e\u003c/a\u003e fix(instrumentation-fetch): tolerate non-writable globalThis.fetch and fix pr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/v2.7.0...v2.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ioredis` from 5.10.1 to 5.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/luin/ioredis/releases\"\u003eioredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/blob/main/CHANGELOG.md\"\u003eioredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/commit/14904327fc212d1f592172d776ebe45178fb7ee7\"\u003e\u003ccode\u003e1490432\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/5359d4d090c17f2ca1e86d92b139cd935ba4643d\"\u003e\u003ccode\u003e5359d4d\u003c/code\u003e\u003c/a\u003e refactor(utils): inline defaults and isArguments helpers (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003e\u003ccode\u003eb7b3def\u003c/code\u003e\u003c/a\u003e feat: add vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/faa53fdfae7f605c19bd74564639640f9d30d404\"\u003e\u003ccode\u003efaa53fd\u003c/code\u003e\u003c/a\u003e ci: update Node.js and Redis test matrix (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e\u003ccode\u003e37d0695\u003c/code\u003e\u003c/a\u003e feat: add increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/612ee9dfe96c1df942eaa415ca94881077191b5c\"\u003e\u003ccode\u003e612ee9d\u003c/code\u003e\u003c/a\u003e chore: update Redis 8.8 test image to custom (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003e\u003ccode\u003ebaf68d6\u003c/code\u003e\u003c/a\u003e feat: add array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/ba3b4cfb6204eccecde928f691a60a869313a0c9\"\u003e\u003ccode\u003eba3b4cf\u003c/code\u003e\u003c/a\u003e test: update Redis 8.8 test image to m03 (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2113\"\u003e#2113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/32dd17b3f714823d9fec09da5f3bc489ef12475d\"\u003e\u003ccode\u003e32dd17b\u003c/code\u003e\u003c/a\u003e test: add hash field subkey notification coverage (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2112\"\u003e#2112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e\u003ccode\u003e04a4615\u003c/code\u003e\u003c/a\u003e feat: add Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 8.20.0 to 8.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epg@8.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3521\"\u003eSASL SCRAM\u003c/a\u003e server error responses properly.\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3667\"\u003enode@26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escramMaxIterations\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3677\"\u003econfig option\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eclient.getTransactionStatus()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3645\"\u003emethod\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/brianc/node-postgres/commit/544b1ce8152bc280e398dc1e8a66920abe6a640e\"\u003e\u003ccode\u003e544b1ce\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/cc03fa5cdf0f1e67b2518ebad5cf2269206aa49c\"\u003e\u003ccode\u003ecc03fa5\u003c/code\u003e\u003c/a\u003e Add scramMaxIterations option to limit SCRAM iteration count (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f776327b3fcdd997c67e866ef7c620ef9c26b3f2\"\u003e\u003ccode\u003ef776327\u003c/code\u003e\u003c/a\u003e Remove compatibility code for unsupported versions of Node (\u0026lt;16) (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3678\"\u003e#3678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f252870eba73c15449b57562e6698b5859e32095\"\u003e\u003ccode\u003ef252870\u003c/code\u003e\u003c/a\u003e cleanup: pg utils (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/c8da6ab9326d93005e6947217cf665f707e08ec7\"\u003e\u003ccode\u003ec8da6ab\u003c/code\u003e\u003c/a\u003e Assorted test cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/fa47e73349786c2a76db98801d60c05371b0a906\"\u003e\u003ccode\u003efa47e73\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eClient#end\u003c/code\u003e callback being called multiple times when first is no-op (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/88a7e60c7191ce8061d6276b299895bf5511e042\"\u003e\u003ccode\u003e88a7e60\u003c/code\u003e\u003c/a\u003e cleanup: Move declaration to more natural place\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/2095247a7b10ebe19cd7d518e07ee2f259dda70a\"\u003e\u003ccode\u003e2095247\u003c/code\u003e\u003c/a\u003e cleanup: Combine duplicated code in \u003ccode\u003eClient#query\u003c/code\u003e and avoid unneeded early n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/0ac3eddef6481f4e4f9359c65d3c0cfd7d2124e1\"\u003e\u003ccode\u003e0ac3edd\u003c/code\u003e\u003c/a\u003e fix: apply SASLprep (RFC 4013) to passwords before SCRAM-SHA-256 PBKDF2 (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/be880d45552269f0b847a3e568014bde6536eae3\"\u003e\u003ccode\u003ebe880d4\u003c/code\u003e\u003c/a\u003e Assorted test fixes and cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `qs` from 6.15.1 to 6.15.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ljharb/qs/blob/main/CHANGELOG.md\"\u003eqs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003cstrong\u003e6.15.2\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + \u003ccode\u003eencodeValuesOnly\u003c/code\u003e instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[readme] fix grammar (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Tests] add regression tests for keys containing percent-encoded bracket text\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/ljharb/qs/commit/9aca4076fe788338c67cf7e115f0be6bc58d85a8\"\u003e\u003ccode\u003e9aca407\u003c/code\u003e\u003c/a\u003e v6.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/5e33d33447ed0bf1ddab9abc41d27dea4687d992\"\u003e\u003ccode\u003e5e33d33\u003c/code\u003e\u003c/a\u003e [Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/21f80b33e5c8b3f7eba1034fff0da4a4a37a1d41\"\u003e\u003ccode\u003e21f80b3\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + `e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a0a81ea2071acce3eff41a040f719ac8f5c4f64c\"\u003e\u003ccode\u003ea0a81ea\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/e3062f78f5233b338ceeb8e8dfa5a07dea4b32a8\"\u003e\u003ccode\u003ee3062f7\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/0c180a40adb8c6703fffc85b2ff06ca209f5c1e0\"\u003e\u003ccode\u003e0c180a4\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/3a8b94aec19bd664720f6f6b1e66c4a0dfe4b656\"\u003e\u003ccode\u003e3a8b94a\u003c/code\u003e\u003c/a\u003e [Tests] add regression tests for keys containing percent-encoded bracket text\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/96755abd357c0e534dd3442a84a04d08864bfe0d\"\u003e\u003ccode\u003e96755ab\u003c/code\u003e\u003c/a\u003e [readme] fix grammar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a419ce5bbfcdb98a299f1a0bb47ea055baef20e6\"\u003e\u003ccode\u003ea419ce5\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ljharb/qs/compare/v6.15.1...v6.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sql-formatter` from 15.7.3 to 15.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/releases\"\u003esql-formatter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e15.8.0\u003c/h2\u003e\n\u003ch3\u003ePostgreSQL formatting\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for PostgreSQL keywords in \u003ccode\u003eCREATE CONSTRAINT TRIGGER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/948\"\u003e#948\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/karlhorky\"\u003e\u003ccode\u003e@​karlhorky\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch from yarn to pnpm (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.4...v15.8.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003e15.7.4\u003c/h2\u003e\n\u003ch3\u003eBugfix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Tcl-style $param(...) syntax in SQLite (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/944\"\u003e#944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/943\"\u003e#943\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\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/sql-formatter-org/sql-formatter/commit/a3bfeeb4e96415efe4820a1b2c7ed592384aa0be\"\u003e\u003ccode\u003ea3bfeeb\u003c/code\u003e\u003c/a\u003e Release v15.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/a7f50d8a68f667b90cfd4e75b1fd683e67413a89\"\u003e\u003ccode\u003ea7f50d8\u003c/code\u003e\u003c/a\u003e Add tagName config to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dab8693b1728696981f3db9b0780b8a7229687c3\"\u003e\u003ccode\u003edab8693\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm as plugin to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/5ab2c8019f9d09ccf3df388d74672821b27ce241\"\u003e\u003ccode\u003e5ab2c80\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/1a000ca83e2e30999f222193ef28c14a949998a2\"\u003e\u003ccode\u003e1a000ca\u003c/code\u003e\u003c/a\u003e Configure release-it to use pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/34fe5b080c11b1cecbe3a0c5d8b89ed8a62941ef\"\u003e\u003ccode\u003e34fe5b0\u003c/code\u003e\u003c/a\u003e Fix scripts using -- (pnpm interprets this as file name)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/6610b6a65a1f7a3654d45bc6100a897649b3136d\"\u003e\u003ccode\u003e6610b6a\u003c/code\u003e\u003c/a\u003e Add pnpm to lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/af633e85fb684650ee7e3b48f1a9dcd897dc050e\"\u003e\u003ccode\u003eaf633e8\u003c/code\u003e\u003c/a\u003e Switch from yarn@1.22.22 to pnpm@11.0.8 (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/ba7437e24b51bb7c5cf38dfcc9f4e58a5dc7fab5\"\u003e\u003ccode\u003eba7437e\u003c/code\u003e\u003c/a\u003e Ignore pnpm-lock.yaml from Prettier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dcee63f96d576ed828dd5af67d26ee9a3728e2db\"\u003e\u003ccode\u003edcee63f\u003c/code\u003e\u003c/a\u003e Work around pnpm bug with pmOnFail + devEngines.packageManager\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.3...v15.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@bufbuild/buf` from 1.68.4 to 1.70.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bufbuild/buf/releases\"\u003e@​bufbuild/buf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.70.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e, \u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules and make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.69.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/blob/main/CHANGELOG.md\"\u003e@​bufbuild/buf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.70.0] - 2026-05-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e,\n\u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules\nand make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v1.69.0] - 2026-04-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/commit/4f657db175eb7418efef85b35db97472ff9df526\"\u003e\u003ccode\u003e4f657db\u003c/code\u003e\u003c/a\u003e Release v1.70.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4556\"\u003e#4556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/f278fa0989621eca516eb5a0a5b00b8ebe94b777\"\u003e\u003ccode\u003ef278fa0\u003c/code\u003e\u003c/a\u003e Bump buf.build/gen/go/bufbuild/registry/connectrpc/go from 1.19.2-20260507063...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/977b89ba82ca288850b6ba64602d6d201d331cd9\"\u003e\u003ccode\u003e977b89b\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4555\"\u003e#4555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/88dfb3409802d618d1fe4f8b6beef84b06df0ea3\"\u003e\u003ccode\u003e88dfb34\u003c/code\u003e\u003c/a\u003e Lint MessageRules.oneof in PROTOVALIDATE check (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4540\"\u003e#4540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/e96239e0572348b8f9d6ee8345b97713aa8e46f6\"\u003e\u003ccode\u003ee96239e\u003c/code\u003e\u003c/a\u003e Filter out GIT_WORK_TREE from cloner environment variables (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d0e7d39ca13bbacc73a3e82d1073fb1fe71a4e3e\"\u003e\u003ccode\u003ed0e7d39\u003c/code\u003e\u003c/a\u003e Add env override test cases to git package (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/37478176d82c2a099f0b4c85b86e40d01c857531\"\u003e\u003ccode\u003e3747817\u003c/code\u003e\u003c/a\u003e Bump actions/create-github-app-token from 3.1.1 to 3.2.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4544\"\u003e#4544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/9eddb9cdeb75daab3c3b699060ae1a38ed199961\"\u003e\u003ccode\u003e9eddb9c\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d46006023cfbff8bd7571a8c8b908455865005b2\"\u003e\u003ccode\u003ed460060\u003c/code\u003e\u003c/a\u003e Update README.md (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/2dae4779331f5d24244176ce168758fcc25b84e7\"\u003e\u003ccode\u003e2dae477\u003c/code\u003e\u003c/a\u003e Fix LSP documentSymbol marking every symbol as deprecated (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4531\"\u003e#4531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bufbuild/buf/compare/v1.68.4...v1.70.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@testcontainers/postgresql` from 11.14.0 to 12.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-node/releases\"\u003e@​testcontainers/postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.0.1\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Podman image healthcheck detection \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd npm dependency release age cooldown \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse Docker Hub Redpanda image \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse preinstalled Podman in checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify affected package checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd npm publish dry run workflow \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade build agents from Ubuntu 22.04 to 24.04 \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove module compile checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1327\"\u003e#1327\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump tmp from 0.2.5 to 0.2.6 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 14 directories with 16 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group with 13 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 13 directories with 12 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 1 directory with 22 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.0\u003c/h2\u003e\n\u003ch2\u003e🚨 Breaking Changes\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eNode 20 is EOL. Minimum engine requirement is now \u003ccode\u003e\u0026gt;= 22.22\u003c/code\u003e, matching the constraints from our dependencies.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePreviously, when no wait strategy was configured, Testcontainers defaulted to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe new default wait strategy uses a Docker healthcheck when one is configured on the container image or service, falling back to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e when no healthcheck is available.\u003c/p\u003e\n\u003cp\u003eTo keep the previous behaviour, configure \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e explicitly:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { DockerComposeEnvironment, GenericContainer, Wait } from \u0026quot;testcontainers\u0026quot;;\r\n\u003cp\u003e// Container: opt back into the previous default of waiting for listening ports\nconst container = await new GenericContainer(\u0026quot;my-image:latest\u0026quot;)\n.withExposedPorts(8080)\n.withWaitStrategy(Wait.forListeningPorts())\n.start();\u003c/p\u003e\n\u003cp\u003e// Compose: apply the previous default to all services\nconst environment = await new DockerComposeEnvironment(composeFilePath, \u0026quot;docker-compose.yml\u0026quot;)\n.withDefaultWaitStrategy(Wait.forListeningPorts())\n.up();\u003c/p\u003e\n\u003cp\u003e// Compose: or apply it to a specific compose container\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/4d8de0cd81c26734b2c95b5fd717fa62ea0648eb\"\u003e\u003ccode\u003e4d8de0c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;v12.0.1\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/d2e4da4b820d5694b120739dad0c360c9e50c3b6\"\u003e\u003ccode\u003ed2e4da4\u003c/code\u003e\u003c/a\u003e v12.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/1077fd6bce442a08fdea707536290a1ae7a0de88\"\u003e\u003ccode\u003e1077fd6\u003c/code\u003e\u003c/a\u003e Revert default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1346\"\u003e#1346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/665feb4f42073eb7394435a84c6eff9f20d7a714\"\u003e\u003ccode\u003e665feb4\u003c/code\u003e\u003c/a\u003e Bump tmp from 0.2.5 to 0.2.6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cdb8366ad8c17692782a2073406209699eeeff73\"\u003e\u003ccode\u003ecdb8366\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 14 directories with 16 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/3148791de679c3208beb6c1a8f37eafe8abb6810\"\u003e\u003ccode\u003e3148791\u003c/code\u003e\u003c/a\u003e Add default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1340\"\u003e#1340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/34c581136a78d3b2098253c8ed86515617d76a52\"\u003e\u003ccode\u003e34c5811\u003c/code\u003e\u003c/a\u003e Add npm dependency release age cooldown (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/c584af1ca12b059c13ba9d76d3b73a2440dbae92\"\u003e\u003ccode\u003ec584af1\u003c/code\u003e\u003c/a\u003e Fix Podman image healthcheck detection (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cae5c26312c234df0001f2866e9d8e58002e54c7\"\u003e\u003ccode\u003ecae5c26\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 13 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/33e1dc109cc94ef9b4e0020b4a6fd9e8b8a354af\"\u003e\u003ccode\u003e33e1dc1\u003c/code\u003e\u003c/a\u003e Use Docker Hub Redpanda image (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-node/compare/v11.14.0...v12.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.3.0 to 30.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003ejest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev30.4.2\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.1\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.0\u003c/h2\u003e\n\u003cp\u003eBig release! 😀\u003c/p\u003e\n\u003cp\u003eMain feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work \u003ccode\u003erequire(esm)\u003c/code\u003e module is now supported on Node 24.9+ (still requires \u003ccode\u003e--experimental-vm-modules\u003c/code\u003e like before).\u003c/p\u003e\n\u003cp\u003eIn addition we now support fake timers for the recently released \u003ccode\u003eTemporal\u003c/code\u003e API in Node v26.\u003c/p\u003e\n\u003cp\u003eReact 19 is also supported properly in \u003ccode\u003epretty-format\u003c/code\u003e, meaning snapshots of React components now work like they should.\u003c/p\u003e\n\u003cp\u003eDue to all the changes, there might be regressions that snuck in. Please report them!\u003c/p\u003e\n\u003cp\u003eFull list of changes below\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\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/jestjs/jest/blob/main/CHANGELOG.md\"\u003ejest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.4.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[pretty-format]\u003c/code\u003e Support React 19 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16123\"\u003e#16123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect-utils]\u003c/code\u003e Fix \u003ccode\u003etoStrictEqual\u003c/code\u003e failing on \u003ccode\u003estructuredClone\u003c/code\u003e results due to cross-realm constructor mismatch (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15959\"\u003e#15959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Prevent \u003ccode\u003etoMatchObject\u003c/code\u003e/subset matching from throwing when encountering exotic iterables (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15952\"\u003e#15952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[fake-timers]\u003c/code\u003e Convert \u003ccode\u003eDate\u003c/code\u003e to milliseconds before passing to \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16029\"\u003e#16029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest]\u003c/code\u003e Export \u003ccode\u003eGlobalConfig\u003c/code\u003e and \u003ccode\u003eProjectConfig\u003c/code\u003e TypeScript types (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Prevent crash when \u003ccode\u003easyncError\u003c/code\u003e is undefined for non-Error throws (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16003\"\u003e#16003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Include \u003ccode\u003eError.cause\u003c/code\u003e in JSON \u003ccode\u003efailureMessages\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15967\"\u003e#15967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Fix preset path resolution on Windows when the preset uses subpath \u003ccode\u003eexports\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15961\"\u003e#15961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config without a validation warning (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Project config validator now emits \u0026quot;is not supported in an individual project configuration\u0026quot; instead of \u0026quot;probably a typing mistake\u0026quot; for known global-only options (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Fix \u003ccode\u003e--localstorage-file\u003c/code\u003e warning on Node 25+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16086\"\u003e#16086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16137\"\u003e#16137\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/jestjs/jest/commit/746f2a0f57c56e3bba555280f0587d40f3db95c0\"\u003e\u003ccode\u003e746f2a0\u003c/code\u003e\u003c/a\u003e v30.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/b3b4a09ed3005369dacc7466d1d2122797283785\"\u003e\u003ccode\u003eb3b4a09\u003c/code\u003e\u003c/a\u003e v30.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/5cbb21e0b3037edb42e503ec1a1ce80efad40c20\"\u003e\u003ccode\u003e5cbb21e\u003c/code\u003e\u003c/a\u003e v30.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/db7141a93cc85fab81cf9c25368e1f2b2c312286\"\u003e\u003ccode\u003edb7141a\u003c/code\u003e\u003c/a\u003e fix: allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.2/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (trunca...\n\n_Description has been truncated_","html_url":"https://github.com/Ojekhile7-v1/hiero-mirror-node--027/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ojekhile7-v1%2Fhiero-mirror-node--027/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-29T22:47:07.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4552088434","node_id":"PR_kwDOSRk3gM7g1Gw5","number":25,"state":"closed","title":"Bump the dependencies group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-05T20:14:53.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-29T22:47:07.000Z","updated_at":"2026-06-05T20:14:55.000Z","time_to_close":595666,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":11,"packages":[{"name":"@opentelemetry/exporter-prometheus","old_version":"0.215.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"ioredis","old_version":"5.10.1","new_version":"5.11.0","repository_url":"https://github.com/luin/ioredis"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"qs","old_version":"6.15.1","new_version":"6.15.2","repository_url":"https://github.com/ljharb/qs"},{"name":"sql-formatter","old_version":"15.7.3","new_version":"15.8.0","repository_url":"https://github.com/sql-formatter-org/sql-formatter"},{"name":"@bufbuild/buf","old_version":"1.68.4","new_version":"1.70.0","repository_url":"https://github.com/bufbuild/buf"},{"name":"@testcontainers/postgresql","old_version":"11.14.0","new_version":"12.0.1","repository_url":"https://github.com/testcontainers/testcontainers-node"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"tar","old_version":"7.5.13","new_version":"7.5.15","repository_url":"https://github.com/isaacs/node-tar"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 10 updates in the /rest directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@opentelemetry/exporter-prometheus](https://github.com/open-telemetry/opentelemetry-js) | `0.215.0` | `0.218.0` |\n| [ioredis](https://github.com/luin/ioredis) | `5.10.1` | `5.11.0` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [qs](https://github.com/ljharb/qs) | `6.15.1` | `6.15.2` |\n| [sql-formatter](https://github.com/sql-formatter-org/sql-formatter) | `15.7.3` | `15.8.0` |\n| [@bufbuild/buf](https://github.com/bufbuild/buf) | `1.68.4` | `1.70.0` |\n| [@testcontainers/postgresql](https://github.com/testcontainers/testcontainers-node) | `11.14.0` | `12.0.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |\n| [tar](https://github.com/isaacs/node-tar) | `7.5.13` | `7.5.15` |\n\n\nUpdates `@opentelemetry/exporter-prometheus` from 0.215.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/exporter-prometheus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.215.0...experimental/v0.218.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/sdk-metrics` from 2.7.0 to 2.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-metrics's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.7.1\u003c/h2\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(sdk-metrics): reduce loop overhead in sdk hot paths \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6593\"\u003e#6593\u003c/a\u003e \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md\"\u003e@​opentelemetry/sdk-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: test Node.js 26 in CI \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6671\"\u003e#6671\u003c/a\u003e \u003ca href=\"https://github.com/cjihrig\"\u003e\u003ccode\u003e@​cjihrig\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7\"\u003e\u003ccode\u003e2400d83\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6647\"\u003e#6647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f7a9b7cc854232ebf7dea2d3ec0d6adc49128f53\"\u003e\u003ccode\u003ef7a9b7c\u003c/code\u003e\u003c/a\u003e fix(otlp-transformer): pin protobufjs to 8.0.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6646\"\u003e#6646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/cb38d7f833781c336c990757f773ce9c8360434a\"\u003e\u003ccode\u003ecb38d7f\u003c/code\u003e\u003c/a\u003e test(otlp-transformer): add metrics transfrom benchmark (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6628\"\u003e#6628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a28f12fef5fbdfb3b77a1334175b752883ef708a\"\u003e\u003ccode\u003ea28f12f\u003c/code\u003e\u003c/a\u003e fix(opentelemetry-core): defer tracestate vaidation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6459\"\u003e#6459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b27c5146ac21deb3fb1e8fca370d34f1828f3cc6\"\u003e\u003ccode\u003eb27c514\u003c/code\u003e\u003c/a\u003e refactor(opentelemetry-exporter-prometheus): do not call `enforcePrometheusNa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a2a8186e65a04dfdaf442927fbab268076cd4f5a\"\u003e\u003ccode\u003ea2a8186\u003c/code\u003e\u003c/a\u003e perf(sdk-trace-base): optimize TraceIdRatioBasedSampler hex parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6284\"\u003e#6284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/4c0f3f1b911c4740a085b6c66d267bb74826b475\"\u003e\u003ccode\u003e4c0f3f1\u003c/code\u003e\u003c/a\u003e feat(sdk-node): set TracerProvider in startNodeSDK() (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6607\"\u003e#6607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/417f2f17e4234417b34dbf7bdf8e24c330259dd2\"\u003e\u003ccode\u003e417f2f1\u003c/code\u003e\u003c/a\u003e fix(instr-xhr): do not unpatch XHR methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6611\"\u003e#6611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/47ac523b124be222ac89160e4623e8a60c960f35\"\u003e\u003ccode\u003e47ac523\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: allow browser maintainers to approve changelog edits\u0026quot; (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6627\"\u003e#6627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/86c621d5b8344f1ecdc13a9841a90604912d0055\"\u003e\u003ccode\u003e86c621d\u003c/code\u003e\u003c/a\u003e fix(instrumentation-fetch): tolerate non-writable globalThis.fetch and fix pr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/v2.7.0...v2.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ioredis` from 5.10.1 to 5.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/luin/ioredis/releases\"\u003eioredis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/blob/main/CHANGELOG.md\"\u003eioredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003e5.11.0\u003c/a\u003e (2026-05-26)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eprevent RangeError from string accumulation in pipeline (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2088\"\u003e#2088\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/defc07716a9ef10c2077ec4e23ea48cb9ea731fc\"\u003edefc077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereplace deprecated url.parse() with WHATWG URL API (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2081\"\u003e#2081\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0021a4590e286aabbf27f4e2fc18f9d2de829ef0\"\u003e0021a45\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/redis/ioredis/issues/1747\"\u003eredis/ioredis#1747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003ebaf68d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e37d0695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e04a4615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd typed GCRA command support and functional tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2094\"\u003e#2094\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/468a8023cd2c8f342ec7c55a01bf0c8d17e4b877\"\u003e468a802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003eb7b3def\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd xnack command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2103\"\u003e#2103\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/187d29b45000ee46a4baa8ce91eacfa04675aee8\"\u003e187d29b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd zinter zunion count (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2104\"\u003e#2104\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/0d510bbc1cfc8b01d862b76c408f6687f6e77809\"\u003e0d510bb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eTracingChannel\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2089\"\u003e#2089\u003c/a\u003e) (\u003ca href=\"https://github.com/luin/ioredis/commit/4760e0a19c194f29f4feb703003dcf046e4509cd\"\u003e4760e0a\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/redis/ioredis/commit/14904327fc212d1f592172d776ebe45178fb7ee7\"\u003e\u003ccode\u003e1490432\u003c/code\u003e\u003c/a\u003e chore(release): 5.11.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/5359d4d090c17f2ca1e86d92b139cd935ba4643d\"\u003e\u003ccode\u003e5359d4d\u003c/code\u003e\u003c/a\u003e refactor(utils): inline defaults and isArguments helpers (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/b7b3defbd119d07fb86d071d5eefc255db4920c2\"\u003e\u003ccode\u003eb7b3def\u003c/code\u003e\u003c/a\u003e feat: add vector set command support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/faa53fdfae7f605c19bd74564639640f9d30d404\"\u003e\u003ccode\u003efaa53fd\u003c/code\u003e\u003c/a\u003e ci: update Node.js and Redis test matrix (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/37d0695b212d865ef24132acff85420ae51dde50\"\u003e\u003ccode\u003e37d0695\u003c/code\u003e\u003c/a\u003e feat: add increx command (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2115\"\u003e#2115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/612ee9dfe96c1df942eaa415ca94881077191b5c\"\u003e\u003ccode\u003e612ee9d\u003c/code\u003e\u003c/a\u003e chore: update Redis 8.8 test image to custom (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2118\"\u003e#2118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/baf68d6d89553672cfac3e08543467b910b561c5\"\u003e\u003ccode\u003ebaf68d6\u003c/code\u003e\u003c/a\u003e feat: add array commands, typings and tests (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/ba3b4cfb6204eccecde928f691a60a869313a0c9\"\u003e\u003ccode\u003eba3b4cf\u003c/code\u003e\u003c/a\u003e test: update Redis 8.8 test image to m03 (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2113\"\u003e#2113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/32dd17b3f714823d9fec09da5f3bc489ef12475d\"\u003e\u003ccode\u003e32dd17b\u003c/code\u003e\u003c/a\u003e test: add hash field subkey notification coverage (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2112\"\u003e#2112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/ioredis/commit/04a4615e8e96b9c58d017e360b5eaafede8973d0\"\u003e\u003ccode\u003e04a4615\u003c/code\u003e\u003c/a\u003e feat: add Redis MSETEX support (\u003ca href=\"https://redirect.github.com/luin/ioredis/issues/2111\"\u003e#2111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/luin/ioredis/compare/v5.10.1...v5.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 8.20.0 to 8.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epg@8.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3521\"\u003eSASL SCRAM\u003c/a\u003e server error responses properly.\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3667\"\u003enode@26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escramMaxIterations\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3677\"\u003econfig option\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eclient.getTransactionStatus()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3645\"\u003emethod\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/brianc/node-postgres/commit/544b1ce8152bc280e398dc1e8a66920abe6a640e\"\u003e\u003ccode\u003e544b1ce\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/cc03fa5cdf0f1e67b2518ebad5cf2269206aa49c\"\u003e\u003ccode\u003ecc03fa5\u003c/code\u003e\u003c/a\u003e Add scramMaxIterations option to limit SCRAM iteration count (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f776327b3fcdd997c67e866ef7c620ef9c26b3f2\"\u003e\u003ccode\u003ef776327\u003c/code\u003e\u003c/a\u003e Remove compatibility code for unsupported versions of Node (\u0026lt;16) (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3678\"\u003e#3678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f252870eba73c15449b57562e6698b5859e32095\"\u003e\u003ccode\u003ef252870\u003c/code\u003e\u003c/a\u003e cleanup: pg utils (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/c8da6ab9326d93005e6947217cf665f707e08ec7\"\u003e\u003ccode\u003ec8da6ab\u003c/code\u003e\u003c/a\u003e Assorted test cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/fa47e73349786c2a76db98801d60c05371b0a906\"\u003e\u003ccode\u003efa47e73\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eClient#end\u003c/code\u003e callback being called multiple times when first is no-op (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/88a7e60c7191ce8061d6276b299895bf5511e042\"\u003e\u003ccode\u003e88a7e60\u003c/code\u003e\u003c/a\u003e cleanup: Move declaration to more natural place\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/2095247a7b10ebe19cd7d518e07ee2f259dda70a\"\u003e\u003ccode\u003e2095247\u003c/code\u003e\u003c/a\u003e cleanup: Combine duplicated code in \u003ccode\u003eClient#query\u003c/code\u003e and avoid unneeded early n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/0ac3eddef6481f4e4f9359c65d3c0cfd7d2124e1\"\u003e\u003ccode\u003e0ac3edd\u003c/code\u003e\u003c/a\u003e fix: apply SASLprep (RFC 4013) to passwords before SCRAM-SHA-256 PBKDF2 (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/be880d45552269f0b847a3e568014bde6536eae3\"\u003e\u003ccode\u003ebe880d4\u003c/code\u003e\u003c/a\u003e Assorted test fixes and cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `qs` from 6.15.1 to 6.15.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ljharb/qs/blob/main/CHANGELOG.md\"\u003eqs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003cstrong\u003e6.15.2\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + \u003ccode\u003eencodeValuesOnly\u003c/code\u003e instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[readme] fix grammar (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Tests] add regression tests for keys containing percent-encoded bracket text\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/ljharb/qs/commit/9aca4076fe788338c67cf7e115f0be6bc58d85a8\"\u003e\u003ccode\u003e9aca407\u003c/code\u003e\u003c/a\u003e v6.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/5e33d33447ed0bf1ddab9abc41d27dea4687d992\"\u003e\u003ccode\u003e5e33d33\u003c/code\u003e\u003c/a\u003e [Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/21f80b33e5c8b3f7eba1034fff0da4a4a37a1d41\"\u003e\u003ccode\u003e21f80b3\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + `e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a0a81ea2071acce3eff41a040f719ac8f5c4f64c\"\u003e\u003ccode\u003ea0a81ea\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/e3062f78f5233b338ceeb8e8dfa5a07dea4b32a8\"\u003e\u003ccode\u003ee3062f7\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/0c180a40adb8c6703fffc85b2ff06ca209f5c1e0\"\u003e\u003ccode\u003e0c180a4\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/3a8b94aec19bd664720f6f6b1e66c4a0dfe4b656\"\u003e\u003ccode\u003e3a8b94a\u003c/code\u003e\u003c/a\u003e [Tests] add regression tests for keys containing percent-encoded bracket text\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/96755abd357c0e534dd3442a84a04d08864bfe0d\"\u003e\u003ccode\u003e96755ab\u003c/code\u003e\u003c/a\u003e [readme] fix grammar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a419ce5bbfcdb98a299f1a0bb47ea055baef20e6\"\u003e\u003ccode\u003ea419ce5\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ljharb/qs/compare/v6.15.1...v6.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sql-formatter` from 15.7.3 to 15.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/releases\"\u003esql-formatter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e15.8.0\u003c/h2\u003e\n\u003ch3\u003ePostgreSQL formatting\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for PostgreSQL keywords in \u003ccode\u003eCREATE CONSTRAINT TRIGGER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/948\"\u003e#948\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/karlhorky\"\u003e\u003ccode\u003e@​karlhorky\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch from yarn to pnpm (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.4...v15.8.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003e15.7.4\u003c/h2\u003e\n\u003ch3\u003eBugfix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Tcl-style $param(...) syntax in SQLite (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/944\"\u003e#944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/943\"\u003e#943\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\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/sql-formatter-org/sql-formatter/commit/a3bfeeb4e96415efe4820a1b2c7ed592384aa0be\"\u003e\u003ccode\u003ea3bfeeb\u003c/code\u003e\u003c/a\u003e Release v15.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/a7f50d8a68f667b90cfd4e75b1fd683e67413a89\"\u003e\u003ccode\u003ea7f50d8\u003c/code\u003e\u003c/a\u003e Add tagName config to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dab8693b1728696981f3db9b0780b8a7229687c3\"\u003e\u003ccode\u003edab8693\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm as plugin to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/5ab2c8019f9d09ccf3df388d74672821b27ce241\"\u003e\u003ccode\u003e5ab2c80\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/1a000ca83e2e30999f222193ef28c14a949998a2\"\u003e\u003ccode\u003e1a000ca\u003c/code\u003e\u003c/a\u003e Configure release-it to use pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/34fe5b080c11b1cecbe3a0c5d8b89ed8a62941ef\"\u003e\u003ccode\u003e34fe5b0\u003c/code\u003e\u003c/a\u003e Fix scripts using -- (pnpm interprets this as file name)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/6610b6a65a1f7a3654d45bc6100a897649b3136d\"\u003e\u003ccode\u003e6610b6a\u003c/code\u003e\u003c/a\u003e Add pnpm to lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/af633e85fb684650ee7e3b48f1a9dcd897dc050e\"\u003e\u003ccode\u003eaf633e8\u003c/code\u003e\u003c/a\u003e Switch from yarn@1.22.22 to pnpm@11.0.8 (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/ba7437e24b51bb7c5cf38dfcc9f4e58a5dc7fab5\"\u003e\u003ccode\u003eba7437e\u003c/code\u003e\u003c/a\u003e Ignore pnpm-lock.yaml from Prettier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dcee63f96d576ed828dd5af67d26ee9a3728e2db\"\u003e\u003ccode\u003edcee63f\u003c/code\u003e\u003c/a\u003e Work around pnpm bug with pmOnFail + devEngines.packageManager\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.3...v15.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@bufbuild/buf` from 1.68.4 to 1.70.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bufbuild/buf/releases\"\u003e@​bufbuild/buf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.70.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e, \u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules and make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.69.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/blob/main/CHANGELOG.md\"\u003e@​bufbuild/buf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.70.0] - 2026-05-25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd LSP completion for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e, \u003ccode\u003ebuf.yaml\u003c/code\u003e, and \u003ccode\u003ebuf.policy.yaml\u003c/code\u003e files.\u003c/li\u003e\n\u003cli\u003eFix LSP \u003ccode\u003etextDocument/documentSymbol\u003c/code\u003e marking every symbol as deprecated.\u003c/li\u003e\n\u003cli\u003eAdd error for when a dependency is added to \u003ccode\u003ebuf.yaml\u003c/code\u003e and is missing from \u003ccode\u003ebuf.lock\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support checking \u003ccode\u003eNaN\u003c/code\u003e in \u003ccode\u003econst\u003c/code\u003e, \u003ccode\u003ein\u003c/code\u003e, \u003ccode\u003enot_in\u003c/code\u003e,\n\u003ccode\u003egt\u003c/code\u003e, \u003ccode\u003egte\u003c/code\u003e, \u003ccode\u003elt\u003c/code\u003e and \u003ccode\u003elte\u003c/code\u003e rules for \u003ccode\u003efloat\u003c/code\u003e and \u003ccode\u003edouble\u003c/code\u003e fields.\u003c/li\u003e\n\u003cli\u003eUpdate the \u003ccode\u003ePROTOVALIDATE\u003c/code\u003e lint rule support to check \u003ccode\u003e(buf.validate.message).oneof\u003c/code\u003e rules\nand make sure they are well-formed and valid.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[v1.69.0] - 2026-04-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/commit/4f657db175eb7418efef85b35db97472ff9df526\"\u003e\u003ccode\u003e4f657db\u003c/code\u003e\u003c/a\u003e Release v1.70.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4556\"\u003e#4556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/f278fa0989621eca516eb5a0a5b00b8ebe94b777\"\u003e\u003ccode\u003ef278fa0\u003c/code\u003e\u003c/a\u003e Bump buf.build/gen/go/bufbuild/registry/connectrpc/go from 1.19.2-20260507063...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/977b89ba82ca288850b6ba64602d6d201d331cd9\"\u003e\u003ccode\u003e977b89b\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4555\"\u003e#4555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/88dfb3409802d618d1fe4f8b6beef84b06df0ea3\"\u003e\u003ccode\u003e88dfb34\u003c/code\u003e\u003c/a\u003e Lint MessageRules.oneof in PROTOVALIDATE check (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4540\"\u003e#4540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/e96239e0572348b8f9d6ee8345b97713aa8e46f6\"\u003e\u003ccode\u003ee96239e\u003c/code\u003e\u003c/a\u003e Filter out GIT_WORK_TREE from cloner environment variables (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4549\"\u003e#4549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d0e7d39ca13bbacc73a3e82d1073fb1fe71a4e3e\"\u003e\u003ccode\u003ed0e7d39\u003c/code\u003e\u003c/a\u003e Add env override test cases to git package (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4550\"\u003e#4550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/37478176d82c2a099f0b4c85b86e40d01c857531\"\u003e\u003ccode\u003e3747817\u003c/code\u003e\u003c/a\u003e Bump actions/create-github-app-token from 3.1.1 to 3.2.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4544\"\u003e#4544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/9eddb9cdeb75daab3c3b699060ae1a38ed199961\"\u003e\u003ccode\u003e9eddb9c\u003c/code\u003e\u003c/a\u003e Make upgrade (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4548\"\u003e#4548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d46006023cfbff8bd7571a8c8b908455865005b2\"\u003e\u003ccode\u003ed460060\u003c/code\u003e\u003c/a\u003e Update README.md (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4547\"\u003e#4547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/2dae4779331f5d24244176ce168758fcc25b84e7\"\u003e\u003ccode\u003e2dae477\u003c/code\u003e\u003c/a\u003e Fix LSP documentSymbol marking every symbol as deprecated (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4531\"\u003e#4531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bufbuild/buf/compare/v1.68.4...v1.70.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@testcontainers/postgresql` from 11.14.0 to 12.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-node/releases\"\u003e@​testcontainers/postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.0.1\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Podman image healthcheck detection \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd npm dependency release age cooldown \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse Docker Hub Redpanda image \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse preinstalled Podman in checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1334\"\u003e#1334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify affected package checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd npm publish dry run workflow \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1333\"\u003e#1333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade build agents from Ubuntu 22.04 to 24.04 \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove module compile checks \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1327\"\u003e#1327\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump tmp from 0.2.5 to 0.2.6 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 14 directories with 16 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group with 13 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 13 directories with 12 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1328\"\u003e#1328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 1 directory with 22 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1331\"\u003e#1331\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.0\u003c/h2\u003e\n\u003ch2\u003e🚨 Breaking Changes\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eNode 20 is EOL. Minimum engine requirement is now \u003ccode\u003e\u0026gt;= 22.22\u003c/code\u003e, matching the constraints from our dependencies.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePreviously, when no wait strategy was configured, Testcontainers defaulted to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe new default wait strategy uses a Docker healthcheck when one is configured on the container image or service, falling back to \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e when no healthcheck is available.\u003c/p\u003e\n\u003cp\u003eTo keep the previous behaviour, configure \u003ccode\u003eWait.forListeningPorts()\u003c/code\u003e explicitly:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003eimport { DockerComposeEnvironment, GenericContainer, Wait } from \u0026quot;testcontainers\u0026quot;;\r\n\u003cp\u003e// Container: opt back into the previous default of waiting for listening ports\nconst container = await new GenericContainer(\u0026quot;my-image:latest\u0026quot;)\n.withExposedPorts(8080)\n.withWaitStrategy(Wait.forListeningPorts())\n.start();\u003c/p\u003e\n\u003cp\u003e// Compose: apply the previous default to all services\nconst environment = await new DockerComposeEnvironment(composeFilePath, \u0026quot;docker-compose.yml\u0026quot;)\n.withDefaultWaitStrategy(Wait.forListeningPorts())\n.up();\u003c/p\u003e\n\u003cp\u003e// Compose: or apply it to a specific compose container\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/4d8de0cd81c26734b2c95b5fd717fa62ea0648eb\"\u003e\u003ccode\u003e4d8de0c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;v12.0.1\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/d2e4da4b820d5694b120739dad0c360c9e50c3b6\"\u003e\u003ccode\u003ed2e4da4\u003c/code\u003e\u003c/a\u003e v12.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/1077fd6bce442a08fdea707536290a1ae7a0de88\"\u003e\u003ccode\u003e1077fd6\u003c/code\u003e\u003c/a\u003e Revert default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1346\"\u003e#1346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/665feb4f42073eb7394435a84c6eff9f20d7a714\"\u003e\u003ccode\u003e665feb4\u003c/code\u003e\u003c/a\u003e Bump tmp from 0.2.5 to 0.2.6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1343\"\u003e#1343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cdb8366ad8c17692782a2073406209699eeeff73\"\u003e\u003ccode\u003ecdb8366\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 14 directories with 16 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1344\"\u003e#1344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/3148791de679c3208beb6c1a8f37eafe8abb6810\"\u003e\u003ccode\u003e3148791\u003c/code\u003e\u003c/a\u003e Add default wait strategy hook (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1340\"\u003e#1340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/34c581136a78d3b2098253c8ed86515617d76a52\"\u003e\u003ccode\u003e34c5811\u003c/code\u003e\u003c/a\u003e Add npm dependency release age cooldown (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1339\"\u003e#1339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/c584af1ca12b059c13ba9d76d3b73a2440dbae92\"\u003e\u003ccode\u003ec584af1\u003c/code\u003e\u003c/a\u003e Fix Podman image healthcheck detection (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1341\"\u003e#1341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/cae5c26312c234df0001f2866e9d8e58002e54c7\"\u003e\u003ccode\u003ecae5c26\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 13 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/33e1dc109cc94ef9b4e0020b4a6fd9e8b8a354af\"\u003e\u003ccode\u003e33e1dc1\u003c/code\u003e\u003c/a\u003e Use Docker Hub Redpanda image (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1342\"\u003e#1342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-node/compare/v11.14.0...v12.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.3.0 to 30.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003ejest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev30.4.2\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.1\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.0\u003c/h2\u003e\n\u003cp\u003eBig release! 😀\u003c/p\u003e\n\u003cp\u003eMain feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work \u003ccode\u003erequire(esm)\u003c/code\u003e module is now supported on Node 24.9+ (still requires \u003ccode\u003e--experimental-vm-modules\u003c/code\u003e like before).\u003c/p\u003e\n\u003cp\u003eIn addition we now support fake timers for the recently released \u003ccode\u003eTemporal\u003c/code\u003e API in Node v26.\u003c/p\u003e\n\u003cp\u003eReact 19 is also supported properly in \u003ccode\u003epretty-format\u003c/code\u003e, meaning snapshots of React components now work like they should.\u003c/p\u003e\n\u003cp\u003eDue to all the changes, there might be regressions that snuck in. Please report them!\u003c/p\u003e\n\u003cp\u003eFull list of changes below\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\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/jestjs/jest/blob/main/CHANGELOG.md\"\u003ejest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.4.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[pretty-format]\u003c/code\u003e Support React 19 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16123\"\u003e#16123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect-utils]\u003c/code\u003e Fix \u003ccode\u003etoStrictEqual\u003c/code\u003e failing on \u003ccode\u003estructuredClone\u003c/code\u003e results due to cross-realm constructor mismatch (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15959\"\u003e#15959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Prevent \u003ccode\u003etoMatchObject\u003c/code\u003e/subset matching from throwing when encountering exotic iterables (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15952\"\u003e#15952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[fake-timers]\u003c/code\u003e Convert \u003ccode\u003eDate\u003c/code\u003e to milliseconds before passing to \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16029\"\u003e#16029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest]\u003c/code\u003e Export \u003ccode\u003eGlobalConfig\u003c/code\u003e and \u003ccode\u003eProjectConfig\u003c/code\u003e TypeScript types (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Prevent crash when \u003ccode\u003easyncError\u003c/code\u003e is undefined for non-Error throws (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16003\"\u003e#16003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Include \u003ccode\u003eError.cause\u003c/code\u003e in JSON \u003ccode\u003efailureMessages\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15967\"\u003e#15967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Fix preset path resolution on Windows when the preset uses subpath \u003ccode\u003eexports\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15961\"\u003e#15961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config without a validation warning (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Project config validator now emits \u0026quot;is not supported in an individual project configuration\u0026quot; instead of \u0026quot;probably a typing mistake\u0026quot; for known global-only options (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Fix \u003ccode\u003e--localstorage-file\u003c/code\u003e warning on Node 25+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16086\"\u003e#16086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16137\"\u003e#16137\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/jestjs/jest/commit/746f2a0f57c56e3bba555280f0587d40f3db95c0\"\u003e\u003ccode\u003e746f2a0\u003c/code\u003e\u003c/a\u003e v30.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/b3b4a09ed3005369dacc7466d1d2122797283785\"\u003e\u003ccode\u003eb3b4a09\u003c/code\u003e\u003c/a\u003e v30.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/5cbb21e0b3037edb42e503ec1a1ce80efad40c20\"\u003e\u003ccode\u003e5cbb21e\u003c/code\u003e\u003c/a\u003e v30.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/db7141a93cc85fab81cf9c25368e1f2b2c312286\"\u003e\u003ccode\u003edb7141a\u003c/code\u003e\u003c/a\u003e fix: allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.2/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (trunca...\n\n_Description has been truncated_","html_url":"https://github.com/Ojekhile7-v1/hiero-mirror-node--047/pull/25","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ojekhile7-v1%2Fhiero-mirror-node--047/issues/25","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/25/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-25T00:48:08.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4513508506","node_id":"PR_kwDOBiuY-M7e3iKo","number":454,"state":"open","title":"Bump sinon from 21.1.2 to 22.0.0","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-05-25T00:48:08.000Z","updated_at":"2026-05-25T00:48:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"}],"path":null,"ecosystem":"npm"},"body":"Bumps [sinon](https://github.com/sinonjs/sinon) from 21.1.2 to 22.0.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.0\"\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=sinon\u0026package-manager=npm_and_yarn\u0026previous-version=21.1.2\u0026new-version=22.0.0)](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/MiSchroe/ioBroker.klf200/pull/454","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiSchroe%2FioBroker.klf200/issues/454","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/454/packages"}},{"old_version":"7.5.0","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-24T18:09:32.000Z","version_change":"7.5.0 → 22.0.0","issue":{"uuid":"4512492802","node_id":"PR_kwDOSmp8t87e0d4b","number":5,"state":"open","title":"build(deps-dev): bump sinon from 7.5.0 to 22.0.0","user":"dependabot[bot]","labels":["CI/run-audit-deps","CI/storybook-url"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-24T18:09:32.000Z","updated_at":"2026-05-24T18:09:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"sinon","old_version":"7.5.0","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"}],"path":null,"ecosystem":"npm"},"body":"Bumps [sinon](https://github.com/sinonjs/sinon) from 7.5.0 to 22.0.0.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v7.5.0...v22.0.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/~fatso83\"\u003efatso83\u003c/a\u003e, a new releaser for sinon since your current version.\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=sinon\u0026package-manager=npm_and_yarn\u0026previous-version=7.5.0\u0026new-version=22.0.0)](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/awfixers-stuff/browser/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/awfixers-stuff%2Fbrowser/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-19T09:49:53.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4476323287","node_id":"PR_kwDOSOOzwc7dAzEb","number":21,"state":"closed","title":"Bump the dependencies group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-26T05:04:22.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T09:49:53.000Z","updated_at":"2026-05-26T05:04:24.000Z","time_to_close":587669,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":9,"packages":[{"name":"@opentelemetry/exporter-prometheus","old_version":"0.215.0","new_version":"0.218.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"pg","old_version":"8.20.0","new_version":"8.21.0","repository_url":"https://github.com/brianc/node-postgres"},{"name":"qs","old_version":"6.15.1","new_version":"6.15.2","repository_url":"https://github.com/ljharb/qs"},{"name":"sql-formatter","old_version":"15.7.3","new_version":"15.8.0","repository_url":"https://github.com/sql-formatter-org/sql-formatter"},{"name":"@bufbuild/buf","old_version":"1.68.4","new_version":"1.69.0","repository_url":"https://github.com/bufbuild/buf"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"sinon","old_version":"21.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"tar","old_version":"7.5.13","new_version":"7.5.15","repository_url":"https://github.com/isaacs/node-tar"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 8 updates in the /rest directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@opentelemetry/exporter-prometheus](https://github.com/open-telemetry/opentelemetry-js) | `0.215.0` | `0.218.0` |\n| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg) | `8.20.0` | `8.21.0` |\n| [qs](https://github.com/ljharb/qs) | `6.15.1` | `6.15.2` |\n| [sql-formatter](https://github.com/sql-formatter-org/sql-formatter) | `15.7.3` | `15.8.0` |\n| [@bufbuild/buf](https://github.com/bufbuild/buf) | `1.68.4` | `1.69.0` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |\n| [tar](https://github.com/isaacs/node-tar) | `7.5.13` | `7.5.15` |\n\n\nUpdates `@opentelemetry/exporter-prometheus` from 0.215.0 to 0.218.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/exporter-prometheus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eexperimental/v0.218.0\u003c/h2\u003e\n\u003ch2\u003e0.218.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs metrics serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6629\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): show all config validation errors, if there are multiple \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6683\"\u003e#6683\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): allow startNodeSDK() without an arg \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6688\"\u003e#6688\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6691\"\u003e#6691\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(sdk-logs): use \u003ccode\u003eLogger.enabled()\u003c/code\u003e within \u003ccode\u003eLogger.emit()\u003c/code\u003e implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6680\"\u003e#6680\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.217.0\u003c/h2\u003e\n\u003ch2\u003e0.217.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(otlp-transformer): replace protobufjs trace serialization with custom implementation \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6625\"\u003e#6625\u003c/a\u003e \u003ca href=\"https://github.com/pichlermarc\"\u003e\u003ccode\u003e@​pichlermarc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration): auto-generate TypeScript types from OTel declarative config JSON schema (stable v1.0.0) using \u003ccode\u003ejson-schema-to-typescript\u003c/code\u003e and \u003ccode\u003eajv\u003c/code\u003e \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6533\"\u003e#6533\u003c/a\u003e \u003ca href=\"https://github.com/MikeGoldsmith\"\u003e\u003ccode\u003e@​MikeGoldsmith\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(configuration, sdk-node): \u003ccode\u003estartNodeSDK()\u003c/code\u003e code path now uses \u003ccode\u003elog_level\u003c/code\u003e configuration to setup a DiagConsoleLogger \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6668\"\u003e#6668\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNote that allowed values for \u003ccode\u003elog_level\u003c/code\u003e in a configuration YAML file are \u003cem\u003enot\u003c/em\u003e the same set as for \u003ccode\u003eOTEL_LOG_LEVEL\u003c/code\u003e. Use \u003ccode\u003elog_level: trace\u003c/code\u003e to see \u003cem\u003eall\u003c/em\u003e logs (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=ALL\u003c/code\u003e). Use \u003ccode\u003elog_level: fatal\u003c/code\u003e to effectively disable the SDK's internal diagnostic logger (equivalent of \u003ccode\u003eOTEL_LOG_LEVEL=NONE\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eIf \u003ccode\u003elog_level\u003c/code\u003e is not specified, a diagnostic console logger at \u0026quot;info\u0026quot; level will be setup.\u003c/li\u003e\n\u003cli\u003eAn invalid YAML config file will now result in a noop OTel SDK.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(configuration): do not validate \u003ccode\u003eOTEL_CONFIG_FILE\u003c/code\u003e value before using it for file config \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6643\"\u003e#6643\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve how 'additionalProperties' in JSON schema is translated to TS types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6650\"\u003e#6650\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): remove stripMinItems and preprocessNullArrays from validation/parsing \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6657\"\u003e#6657\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve handling of enums in generated types \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6659\"\u003e#6659\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(configuration): improve the technique for removing '| null' on types the JSON Schema \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6662\"\u003e#6662\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(sampler-jaeger-remote): add missing axios dep \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6656\"\u003e#6656\u003c/a\u003e \u003ca href=\"https://github.com/trentm\"\u003e\u003ccode\u003e@​trentm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(exporter-prometheus): handle malformed URLs in Prometheus exporter request handler \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6674\"\u003e#6674\u003c/a\u003e \u003ca href=\"https://github.com/homanp\"\u003e\u003ccode\u003e@​homanp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eexperimental/v0.216.0\u003c/h2\u003e\n\u003ch2\u003e0.216.0\u003c/h2\u003e\n\u003ch3\u003e:rocket: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(sdk-node): wire attribute_keys from declarative configuration to ViewOptions.attributesProcessors \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6427\"\u003e#6427\u003c/a\u003e \u003ca href=\"https://github.com/ravitheja4531-cell\"\u003e\u003ccode\u003e@​ravitheja4531-cell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(sdk-node): set TracerProvider in startNodeSDK() \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6607\"\u003e#6607\u003c/a\u003e \u003ca href=\"https://github.com/maryliag\"\u003e\u003ccode\u003e@​maryliag\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(instrumentation-xml-http-request): avoid unwrapping \u003ccode\u003eXMLHttpRequest\u003c/code\u003e API when disabling \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6611\"\u003e#6611\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(instrumentation-fetch): tolerate non-writable \u003ccode\u003eglobalThis.fetch\u003c/code\u003e and fix premature \u003ccode\u003e_isEnabled\u003c/code\u003e / \u003ccode\u003e_isFetchPatched\u003c/code\u003e flips in \u003ccode\u003eenable()\u003c/code\u003e \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/06ad0eaaecbd49f5ead871325f852cc2a3454079\"\u003e\u003ccode\u003e06ad0ea\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6703\"\u003e#6703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/38ca257e64ebd13f5603d5539f8a48d6d9232037\"\u003e\u003ccode\u003e38ca257\u003c/code\u003e\u003c/a\u003e feat(otlp-transformer): replace protobufjs metrics serialization with custom ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/013c60085b84351a4c1e4e4f79e3dd67c56661cd\"\u003e\u003ccode\u003e013c600\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6699\"\u003e#6699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b7a0c63bde39d7916fdb73cbb3d64cf1c93282c5\"\u003e\u003ccode\u003eb7a0c63\u003c/code\u003e\u003c/a\u003e feat(semantic-conventions): update semantic conventions to v1.41.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6695\"\u003e#6695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/774143b2c6667c6537c000ab48ea5ce998278ca0\"\u003e\u003ccode\u003e774143b\u003c/code\u003e\u003c/a\u003e chore(renovate): add minimumReleaseAge to config (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6697\"\u003e#6697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/e0dafe0d9fadaccf7dd8d7b02dd85531356e2ac1\"\u003e\u003ccode\u003ee0dafe0\u003c/code\u003e\u003c/a\u003e fix(otlp-exporter-base): remove brackets from IPv6 hostname in HTTP transport...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f804c93d1d6d903036b8bf38f8c3713dbbaf0360\"\u003e\u003ccode\u003ef804c93\u003c/code\u003e\u003c/a\u003e chore(deps): update github/codeql-action digest to 68bde55 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6682\"\u003e#6682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/95e48e7afcc475ded350b95b43070c54591ecbbb\"\u003e\u003ccode\u003e95e48e7\u003c/code\u003e\u003c/a\u003e refactor(sdk-logs): alias \u003ccode\u003eLoggerProviderConfig\u003c/code\u003e to \u003ccode\u003eLoggerProviderOptions\u003c/code\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/907b627d9ada25844b0f06551ecd9bbda5c0ea4f\"\u003e\u003ccode\u003e907b627\u003c/code\u003e\u003c/a\u003e feat(sdk-node): allow startNodeSDK() without an arg (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6688\"\u003e#6688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/0d1526198fafe7f90078ff353103d0427e6c64d4\"\u003e\u003ccode\u003e0d15261\u003c/code\u003e\u003c/a\u003e docs: Add SIG meeting info and welcoming language (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6689\"\u003e#6689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/experimental/v0.215.0...experimental/v0.218.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@opentelemetry/sdk-metrics` from 2.7.0 to 2.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/releases\"\u003e@​opentelemetry/sdk-metrics's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.7.1\u003c/h2\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(sdk-metrics): reduce loop overhead in sdk hot paths \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6593\"\u003e#6593\u003c/a\u003e \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md\"\u003e@​opentelemetry/sdk-metrics's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.1\u003c/h2\u003e\n\u003ch3\u003e:bug: Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core, api): defer trace state validation. Deprecate trace state implementation in api \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6459\"\u003e#6459\u003c/a\u003e \u003ca href=\"https://github.com/david-luna\"\u003e\u003ccode\u003e@​david-luna\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eimportant:\u003c/strong\u003e this bug fix may be breaking for certain uses of \u003ccode\u003eTraceState\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key/value are invalid or makes the while trace state invalid.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunset\u003c/code\u003e now returns the same \u003ccode\u003eTraceState\u003c/code\u003e instance if key is not present.\u003c/li\u003e\n\u003cli\u003ebest-effort parsing of invalid \u003ccode\u003eTraceState\u003c/code\u003es has changed: when multiple keys with the same name are present, the most recent one will win.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e:house: Internal\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eperf(sdk-trace-base): optimize TraceIdRatioBasedSampler performance \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6284\"\u003e#6284\u003c/a\u003e \u003ca href=\"https://github.com/AbhiPrasad\"\u003e\u003ccode\u003e@​AbhiPrasad\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: test Node.js 26 in CI \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6671\"\u003e#6671\u003c/a\u003e \u003ca href=\"https://github.com/cjihrig\"\u003e\u003ccode\u003e@​cjihrig\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7\"\u003e\u003ccode\u003e2400d83\u003c/code\u003e\u003c/a\u003e chore: prepare next release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6647\"\u003e#6647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/f7a9b7cc854232ebf7dea2d3ec0d6adc49128f53\"\u003e\u003ccode\u003ef7a9b7c\u003c/code\u003e\u003c/a\u003e fix(otlp-transformer): pin protobufjs to 8.0.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6646\"\u003e#6646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/cb38d7f833781c336c990757f773ce9c8360434a\"\u003e\u003ccode\u003ecb38d7f\u003c/code\u003e\u003c/a\u003e test(otlp-transformer): add metrics transfrom benchmark (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6628\"\u003e#6628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a28f12fef5fbdfb3b77a1334175b752883ef708a\"\u003e\u003ccode\u003ea28f12f\u003c/code\u003e\u003c/a\u003e fix(opentelemetry-core): defer tracestate vaidation (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6459\"\u003e#6459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/b27c5146ac21deb3fb1e8fca370d34f1828f3cc6\"\u003e\u003ccode\u003eb27c514\u003c/code\u003e\u003c/a\u003e refactor(opentelemetry-exporter-prometheus): do not call `enforcePrometheusNa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/a2a8186e65a04dfdaf442927fbab268076cd4f5a\"\u003e\u003ccode\u003ea2a8186\u003c/code\u003e\u003c/a\u003e perf(sdk-trace-base): optimize TraceIdRatioBasedSampler hex parsing (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6284\"\u003e#6284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/4c0f3f1b911c4740a085b6c66d267bb74826b475\"\u003e\u003ccode\u003e4c0f3f1\u003c/code\u003e\u003c/a\u003e feat(sdk-node): set TracerProvider in startNodeSDK() (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6607\"\u003e#6607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/417f2f17e4234417b34dbf7bdf8e24c330259dd2\"\u003e\u003ccode\u003e417f2f1\u003c/code\u003e\u003c/a\u003e fix(instr-xhr): do not unpatch XHR methods (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6611\"\u003e#6611\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/47ac523b124be222ac89160e4623e8a60c960f35\"\u003e\u003ccode\u003e47ac523\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;chore: allow browser maintainers to approve changelog edits\u0026quot; (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-js/issues/6627\"\u003e#6627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/commit/86c621d5b8344f1ecdc13a9841a90604912d0055\"\u003e\u003ccode\u003e86c621d\u003c/code\u003e\u003c/a\u003e fix(instrumentation-fetch): tolerate non-writable globalThis.fetch and fix pr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-js/compare/v2.7.0...v2.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 8.20.0 to 8.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epg@8.21.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHandle \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3521\"\u003eSASL SCRAM\u003c/a\u003e server error responses properly.\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3667\"\u003enode@26\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escramMaxIterations\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3677\"\u003econfig option\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eclient.getTransactionStatus()\u003c/code\u003e \u003ca href=\"https://redirect.github.com/brianc/node-postgres/pull/3645\"\u003emethod\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/brianc/node-postgres/commit/544b1ce8152bc280e398dc1e8a66920abe6a640e\"\u003e\u003ccode\u003e544b1ce\u003c/code\u003e\u003c/a\u003e Publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/cc03fa5cdf0f1e67b2518ebad5cf2269206aa49c\"\u003e\u003ccode\u003ecc03fa5\u003c/code\u003e\u003c/a\u003e Add scramMaxIterations option to limit SCRAM iteration count (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3677\"\u003e#3677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f776327b3fcdd997c67e866ef7c620ef9c26b3f2\"\u003e\u003ccode\u003ef776327\u003c/code\u003e\u003c/a\u003e Remove compatibility code for unsupported versions of Node (\u0026lt;16) (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3678\"\u003e#3678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/f252870eba73c15449b57562e6698b5859e32095\"\u003e\u003ccode\u003ef252870\u003c/code\u003e\u003c/a\u003e cleanup: pg utils (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/c8da6ab9326d93005e6947217cf665f707e08ec7\"\u003e\u003ccode\u003ec8da6ab\u003c/code\u003e\u003c/a\u003e Assorted test cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/fa47e73349786c2a76db98801d60c05371b0a906\"\u003e\u003ccode\u003efa47e73\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eClient#end\u003c/code\u003e callback being called multiple times when first is no-op (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/88a7e60c7191ce8061d6276b299895bf5511e042\"\u003e\u003ccode\u003e88a7e60\u003c/code\u003e\u003c/a\u003e cleanup: Move declaration to more natural place\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/2095247a7b10ebe19cd7d518e07ee2f259dda70a\"\u003e\u003ccode\u003e2095247\u003c/code\u003e\u003c/a\u003e cleanup: Combine duplicated code in \u003ccode\u003eClient#query\u003c/code\u003e and avoid unneeded early n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/0ac3eddef6481f4e4f9359c65d3c0cfd7d2124e1\"\u003e\u003ccode\u003e0ac3edd\u003c/code\u003e\u003c/a\u003e fix: apply SASLprep (RFC 4013) to passwords before SCRAM-SHA-256 PBKDF2 (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brianc/node-postgres/commit/be880d45552269f0b847a3e568014bde6536eae3\"\u003e\u003ccode\u003ebe880d4\u003c/code\u003e\u003c/a\u003e Assorted test fixes and cleanup (\u003ca href=\"https://github.com/brianc/node-postgres/tree/HEAD/packages/pg/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/brianc/node-postgres/commits/pg@8.21.0/packages/pg\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `qs` from 6.15.1 to 6.15.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ljharb/qs/blob/main/CHANGELOG.md\"\u003eqs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003cstrong\u003e6.15.2\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + \u003ccode\u003eencodeValuesOnly\u003c/code\u003e instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/555\"\u003e#555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashing in \u003ccode\u003eencoder\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[readme] fix grammar (\u003ca href=\"https://redirect.github.com/ljharb/qs/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e[Tests] add regression tests for keys containing percent-encoded bracket text\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/ljharb/qs/commit/9aca4076fe788338c67cf7e115f0be6bc58d85a8\"\u003e\u003ccode\u003e9aca407\u003c/code\u003e\u003c/a\u003e v6.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/5e33d33447ed0bf1ddab9abc41d27dea4687d992\"\u003e\u003ccode\u003e5e33d33\u003c/code\u003e\u003c/a\u003e [Dev Deps] update \u003ccode\u003e@ljharb/eslint-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/21f80b33e5c8b3f7eba1034fff0da4a4a37a1d41\"\u003e\u003ccode\u003e21f80b3\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined entries in \u003ccode\u003earrayFormat: 'comma'\u003c/code\u003e + `e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a0a81ea2071acce3eff41a040f719ac8f5c4f64c\"\u003e\u003ccode\u003ea0a81ea\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: use configured \u003ccode\u003edelimiter\u003c/code\u003e after \u003ccode\u003echarsetSentinel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/e3062f78f5233b338ceeb8e8dfa5a07dea4b32a8\"\u003e\u003ccode\u003ee3062f7\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: apply \u003ccode\u003eformatter\u003c/code\u003e to encoded key under \u003ccode\u003estrictNullHandling\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/0c180a40adb8c6703fffc85b2ff06ca209f5c1e0\"\u003e\u003ccode\u003e0c180a4\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003estringify\u003c/code\u003e: skip null/undefined filter-array entries instead of crashi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/3a8b94aec19bd664720f6f6b1e66c4a0dfe4b656\"\u003e\u003ccode\u003e3a8b94a\u003c/code\u003e\u003c/a\u003e [Tests] add regression tests for keys containing percent-encoded bracket text\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/96755abd357c0e534dd3442a84a04d08864bfe0d\"\u003e\u003ccode\u003e96755ab\u003c/code\u003e\u003c/a\u003e [readme] fix grammar\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ljharb/qs/commit/a419ce5bbfcdb98a299f1a0bb47ea055baef20e6\"\u003e\u003ccode\u003ea419ce5\u003c/code\u003e\u003c/a\u003e [Fix] \u003ccode\u003eparse\u003c/code\u003e: handle nested bracket groups and add regression tests\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ljharb/qs/compare/v6.15.1...v6.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sql-formatter` from 15.7.3 to 15.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/releases\"\u003esql-formatter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e15.8.0\u003c/h2\u003e\n\u003ch3\u003ePostgreSQL formatting\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for PostgreSQL keywords in \u003ccode\u003eCREATE CONSTRAINT TRIGGER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/948\"\u003e#948\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/karlhorky\"\u003e\u003ccode\u003e@​karlhorky\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch from yarn to pnpm (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.4...v15.8.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003e15.7.4\u003c/h2\u003e\n\u003ch3\u003eBugfix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Tcl-style $param(...) syntax in SQLite (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/944\"\u003e#944\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/943\"\u003e#943\u003c/a\u003e) (thanks to \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\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/sql-formatter-org/sql-formatter/commit/a3bfeeb4e96415efe4820a1b2c7ed592384aa0be\"\u003e\u003ccode\u003ea3bfeeb\u003c/code\u003e\u003c/a\u003e Release v15.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/a7f50d8a68f667b90cfd4e75b1fd683e67413a89\"\u003e\u003ccode\u003ea7f50d8\u003c/code\u003e\u003c/a\u003e Add tagName config to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dab8693b1728696981f3db9b0780b8a7229687c3\"\u003e\u003ccode\u003edab8693\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm as plugin to release-it\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/5ab2c8019f9d09ccf3df388d74672821b27ce241\"\u003e\u003ccode\u003e5ab2c80\u003c/code\u003e\u003c/a\u003e Add release-it-pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/1a000ca83e2e30999f222193ef28c14a949998a2\"\u003e\u003ccode\u003e1a000ca\u003c/code\u003e\u003c/a\u003e Configure release-it to use pnpm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/34fe5b080c11b1cecbe3a0c5d8b89ed8a62941ef\"\u003e\u003ccode\u003e34fe5b0\u003c/code\u003e\u003c/a\u003e Fix scripts using -- (pnpm interprets this as file name)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/6610b6a65a1f7a3654d45bc6100a897649b3136d\"\u003e\u003ccode\u003e6610b6a\u003c/code\u003e\u003c/a\u003e Add pnpm to lockfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/af633e85fb684650ee7e3b48f1a9dcd897dc050e\"\u003e\u003ccode\u003eaf633e8\u003c/code\u003e\u003c/a\u003e Switch from yarn@1.22.22 to pnpm@11.0.8 (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/ba7437e24b51bb7c5cf38dfcc9f4e58a5dc7fab5\"\u003e\u003ccode\u003eba7437e\u003c/code\u003e\u003c/a\u003e Ignore pnpm-lock.yaml from Prettier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/dcee63f96d576ed828dd5af67d26ee9a3728e2db\"\u003e\u003ccode\u003edcee63f\u003c/code\u003e\u003c/a\u003e Work around pnpm bug with pmOnFail + devEngines.packageManager\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.3...v15.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@bufbuild/buf` from 1.68.4 to 1.69.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bufbuild/buf/releases\"\u003e@​bufbuild/buf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.69.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/blob/main/CHANGELOG.md\"\u003e@​bufbuild/buf's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v1.69.0] - 2026-04-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIncrease check plugin WASM memory limits to 1GiB.\u003c/li\u003e\n\u003cli\u003eFix LSP stale diagnostics persisting after a file is closed or deleted.\u003c/li\u003e\n\u003cli\u003eFix handling of unprefixed newlines in block comments.\u003c/li\u003e\n\u003cli\u003eAdd LSP code lenses for \u003ccode\u003ebuf.gen.yaml\u003c/code\u003e files: \u0026quot;Run buf generate\u0026quot; and \u0026quot;Check for plugin updates\u0026quot;.\u003c/li\u003e\n\u003cli\u003eAdd LSP warnings for \u003ccode\u003elint.ignore\u003c/code\u003e and \u003ccode\u003ebreaking.ignore\u003c/code\u003e paths in \u003ccode\u003ebuf.yaml\u003c/code\u003e that do not match any file in the workspace.\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/bufbuild/buf/commit/88829eb3bd5b9ee297b6005ffdf3675e23842511\"\u003e\u003ccode\u003e88829eb\u003c/code\u003e\u003c/a\u003e Release v1.69.0 (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4521\"\u003e#4521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/4a92ff394f12e70adb913cda152eb51075877a82\"\u003e\u003ccode\u003e4a92ff3\u003c/code\u003e\u003c/a\u003e Upgrade protocompile to latest \u003ccode\u003emain\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4520\"\u003e#4520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/04ed9c9179fc71d0dab7bf2919fcdc7b0bd9fe60\"\u003e\u003ccode\u003e04ed9c9\u003c/code\u003e\u003c/a\u003e Add YAML files to license header generation (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4518\"\u003e#4518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/ddb85216e15f47f547f5da9d84ce5594caebd66e\"\u003e\u003ccode\u003eddb8521\u003c/code\u003e\u003c/a\u003e Upgrade protocompile to latest main (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4519\"\u003e#4519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/7e1e2770d66b4746f33d35c43f971c2e4b977f8a\"\u003e\u003ccode\u003e7e1e277\u003c/code\u003e\u003c/a\u003e Propagate DuplicateProtoPathError as typed error from new compiler path (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4517\"\u003e#4517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/f781a0e1e22682243e0688206ffa510fdade0960\"\u003e\u003ccode\u003ef781a0e\u003c/code\u003e\u003c/a\u003e Reduce allocations in shake256.NewDigestForContent (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4505\"\u003e#4505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/5f4233e4b9acac0d836dbfdfba02ac2ef96bf3e4\"\u003e\u003ccode\u003e5f4233e\u003c/code\u003e\u003c/a\u003e Add concurrency checks for CI workflows (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4516\"\u003e#4516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/b10141d371f2b70218b74b8dec9eb08f5180e248\"\u003e\u003ccode\u003eb10141d\u003c/code\u003e\u003c/a\u003e Add LSP code lenses for \u003ccode\u003ebuf generate\u003c/code\u003e and checking for plugin updates (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4480\"\u003e#4480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/637ea97f5bfcf93b2b419f0c15e46c6541561d55\"\u003e\u003ccode\u003e637ea97\u003c/code\u003e\u003c/a\u003e Upgrade protocompile and update changelog (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4515\"\u003e#4515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bufbuild/buf/commit/d960fc0c53bb0be27a3fcb32da5153224771c0bb\"\u003e\u003ccode\u003ed960fc0\u003c/code\u003e\u003c/a\u003e Add LSP warning diagnostics for invalid buf.yaml ignore paths (\u003ca href=\"https://redirect.github.com/bufbuild/buf/issues/4498\"\u003e#4498\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bufbuild/buf/compare/v1.68.4...v1.69.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.3.0 to 30.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003ejest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev30.4.2\u003c/h2\u003e\n\u003ch1\u003eFixes\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.1...v30.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.1\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\"\u003ehttps://github.com/jestjs/jest/compare/v30.4.0...v30.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev30.4.0\u003c/h2\u003e\n\u003cp\u003eBig release! 😀\u003c/p\u003e\n\u003cp\u003eMain feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work \u003ccode\u003erequire(esm)\u003c/code\u003e module is now supported on Node 24.9+ (still requires \u003ccode\u003e--experimental-vm-modules\u003c/code\u003e like before).\u003c/p\u003e\n\u003cp\u003eIn addition we now support fake timers for the recently released \u003ccode\u003eTemporal\u003c/code\u003e API in Node v26.\u003c/p\u003e\n\u003cp\u003eReact 19 is also supported properly in \u003ccode\u003epretty-format\u003c/code\u003e, meaning snapshots of React components now work like they should.\u003c/p\u003e\n\u003cp\u003eDue to all the changes, there might be regressions that snuck in. Please report them!\u003c/p\u003e\n\u003cp\u003eFull list of changes below\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\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/jestjs/jest/blob/main/CHANGELOG.md\"\u003ejest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.4.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix named imports from CJS modules whose \u003ccode\u003emodule.exports\u003c/code\u003e is a function with own-property exports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16150\"\u003e#16150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.1\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-runner, jest-schemas, jest-types]\u003c/code\u003e Allow custom runner configuration options via tuple format \u003ccode\u003e['runner-path', {options}]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16141\"\u003e#16141\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Align CJS-from-ESM default export with Node: \u003ccode\u003emodule.exports\u003c/code\u003e is always the ESM default, \u003ccode\u003e__esModule\u003c/code\u003e unwrapping is no longer applied (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16143\"\u003e#16143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.4.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Support collecting coverage from \u003ccode\u003e.mts\u003c/code\u003e, \u003ccode\u003e.cts\u003c/code\u003e (and other) files (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15994\"\u003e#15994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types]\u003c/code\u003e Add \u003ccode\u003e--collect-tests\u003c/code\u003e flag to discover and list tests without executing them (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16006\"\u003e#16006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-runner, jest-worker]\u003c/code\u003e Add \u003ccode\u003eworkerGracefulExitTimeout\u003c/code\u003e config option to control how long workers are given to exit before being force-killed (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15984\"\u003e#15984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Add support for \u003ccode\u003ejest.config.mts\u003c/code\u003e as a valid configuration file (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16005\"\u003e#16005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config, jest-core, jest-reporters, jest-runner]\u003c/code\u003e \u003ccode\u003everbose\u003c/code\u003e and \u003ccode\u003esilent\u003c/code\u003e can now be set per-project; the project-level value overrides the global value for that project's tests (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16133\"\u003e#16133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Duration\u003c/code\u003e in \u003ccode\u003ejest.advanceTimersByTime()\u003c/code\u003e and \u003ccode\u003ejest.advanceTimersByTimeAsync()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Accept \u003ccode\u003eTemporal.Instant\u003c/code\u003e and \u003ccode\u003eTemporal.ZonedDateTime\u003c/code\u003e in \u003ccode\u003ejest.setSystemTime()\u003c/code\u003e and \u003ccode\u003euseFakeTimers({now})\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16128\"\u003e#16128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Support faking \u003ccode\u003eTemporal.Now.*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16131\"\u003e#16131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add \u003ccode\u003eclearMocksOnScope(scope)\u003c/code\u003e on \u003ccode\u003eModuleMocker\u003c/code\u003e for clearing every mock function exposed on a scope object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16088\"\u003e#16088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve]\u003c/code\u003e Add \u003ccode\u003ecanResolveSync()\u003c/code\u003e on \u003ccode\u003eResolver\u003c/code\u003e so callers can detect when a user-configured resolver only exports an \u003ccode\u003easync\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16064\"\u003e#16064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Use synchronous \u003ccode\u003eevaluate()\u003c/code\u003e for ES modules without top-level \u003ccode\u003eawait\u003c/code\u003e on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003erequire()\u003c/code\u003e of ES modules on Node v24.9+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16074\"\u003e#16074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Validate TC39 import attributes (\u003ccode\u003ewith { type: 'json' }\u003c/code\u003e) on ESM imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16127\"\u003e#16127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/transform]\u003c/code\u003e Add \u003ccode\u003ecanTransformSync(filename)\u003c/code\u003e on \u003ccode\u003eScriptTransformer\u003c/code\u003e so callers can pick the sync vs async transform path (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16062\"\u003e#16062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Add \u003ccode\u003eisError\u003c/code\u003e helper (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16076\"\u003e#16076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[pretty-format]\u003c/code\u003e Support React 19 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16123\"\u003e#16123\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect-utils]\u003c/code\u003e Fix \u003ccode\u003etoStrictEqual\u003c/code\u003e failing on \u003ccode\u003estructuredClone\u003c/code\u003e results due to cross-realm constructor mismatch (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15959\"\u003e#15959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Prevent \u003ccode\u003etoMatchObject\u003c/code\u003e/subset matching from throwing when encountering exotic iterables (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15952\"\u003e#15952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[fake-timers]\u003c/code\u003e Convert \u003ccode\u003eDate\u003c/code\u003e to milliseconds before passing to \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16029\"\u003e#16029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest]\u003c/code\u003e Export \u003ccode\u003eGlobalConfig\u003c/code\u003e and \u003ccode\u003eProjectConfig\u003c/code\u003e TypeScript types (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Prevent crash when \u003ccode\u003easyncError\u003c/code\u003e is undefined for non-Error throws (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16003\"\u003e#16003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Include \u003ccode\u003eError.cause\u003c/code\u003e in JSON \u003ccode\u003efailureMessages\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15967\"\u003e#15967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Fix preset path resolution on Windows when the preset uses subpath \u003ccode\u003eexports\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15961\"\u003e#15961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config without a validation warning (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Project config validator now emits \u0026quot;is not supported in an individual project configuration\u0026quot; instead of \u0026quot;probably a typing mistake\u0026quot; for known global-only options (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Fix \u003ccode\u003e--localstorage-file\u003c/code\u003e warning on Node 25+ (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16086\"\u003e#16086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16137\"\u003e#16137\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/jestjs/jest/commit/746f2a0f57c56e3bba555280f0587d40f3db95c0\"\u003e\u003ccode\u003e746f2a0\u003c/code\u003e\u003c/a\u003e v30.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/b3b4a09ed3005369dacc7466d1d2122797283785\"\u003e\u003ccode\u003eb3b4a09\u003c/code\u003e\u003c/a\u003e v30.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/5cbb21e0b3037edb42e503ec1a1ce80efad40c20\"\u003e\u003ccode\u003e5cbb21e\u003c/code\u003e\u003c/a\u003e v30.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/db7141a93cc85fab81cf9c25368e1f2b2c312286\"\u003e\u003ccode\u003edb7141a\u003c/code\u003e\u003c/a\u003e fix: allow \u003ccode\u003ecollectCoverage\u003c/code\u003e and \u003ccode\u003ecoverageProvider\u003c/code\u003e in project config (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/16132\"\u003e#16132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.2/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sinon` from 21.1.2 to 22.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sinonjs/sinon/blob/main/docs/changelog.md\"\u003esinon's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e22.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df5\u003c/code\u003e\u003c/a\u003e\nUpdate Ruby gems (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b8\u003c/code\u003e\u003c/a\u003e\nUpdate to Node 26 (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d6608\u003c/code\u003e\u003c/a\u003e\nUpdate documentation on faking timers to reflect the current state of fake-timers (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80b\u003c/code\u003e\u003c/a\u003e\nUpdate fake-timers@15.4: includes new Temporal API (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f6\u003c/code\u003e\u003c/a\u003e\nUpdate updatable packages (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc8\u003c/code\u003e\u003c/a\u003e\nQuality: Global mutable call id can grow unbounded across long-lived processes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2691\"\u003e#2691\u003c/a\u003e) (tuanaiseo)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: global mutable call id can grow unbounded across l\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ccode\u003ecallId\u003c/code\u003e is module-scoped and incremented on every invocation. In long-running test runners or embedded usage, this can grow indefinitely and eventually lose integer precision semantics for strict ordering comparisons.\u003c/p\u003e\n\u003cp\u003eAffected files: proxy-invoke.js\u003c/p\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWrap around for all values that are too high\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSigned-off-by: tuanaiseo \u003ca href=\"mailto:221258316+tuanaiseo@users.noreply.github.com\"\u003e221258316+tuanaiseo@users.noreply.github.com\u003c/a\u003e\nCo-authored-by: Carl-Erik Kopseng \u003ca href=\"mailto:carlerik@gmail.com\"\u003ecarlerik@gmail.com\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93b\u003c/code\u003e\u003c/a\u003e\nPerform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e) (Cyrille)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e4\u003c/code\u003e\u003c/a\u003e\nimprove GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e) (Till!)\n\u003cblockquote\u003e\n\u003cul\u003e\n\u003cli\u003efix(workflows): fetch-depth is for actions/checkout\u003c/li\u003e\n\u003cli\u003echore(workflows): update\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003epin all actions to precise commits\u003c/li\u003e\n\u003cli\u003eavoid credential leakage from actions/checkout\u003c/li\u003e\n\u003cli\u003egroup action updates going forward\u003c/li\u003e\n\u003cli\u003eadd zimor config to ignore \u0026quot;secrets outside env\u0026quot;\u003c/li\u003e\n\u003cli\u003eadd job to keep validating workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f7476b59deda4893f9fa5b1e1dcfa74a059d4d4e\"\u003e\u003ccode\u003ef7476b59\u003c/code\u003e\u003c/a\u003e\nUse path.normalize() for path normalization (Carl-Erik Kopseng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/2c975393f19b33c611cf7c4221f585cdffa3a619\"\u003e\u003ccode\u003e2c975393\u003c/code\u003e\u003c/a\u003e\nfix: make build and node test scripts cross-platform (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/a76929179340333cb7e9d55d8c00791683d674a5\"\u003e\u003ccode\u003ea7692917\u003c/code\u003e\u003c/a\u003e\nfix: isolate walk state from Object prototype (laplace young)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/66df977a5cb7139de221512f80ca36504e8eb671\"\u003e\u003ccode\u003e66df977a\u003c/code\u003e\u003c/a\u003e\nFix sinon.restore() cascade-restoring sub-sandboxes (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2704\"\u003e#2704\u003c/a\u003e) (Charlie Leitheiser)\n\u003cblockquote\u003e\n\u003cp\u003eThe ESM port of \u003ccode\u003ecreateApi\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2683\"\u003e#2683\u003c/a\u003e, shipped in 21.1.0) replaced \u003ccode\u003ecreateSandbox: createSandbox\u003c/code\u003e with a wrapper that pushes every newly-created sandbox into the root sandbox's fake collection:\u003c/p\u003e\n\u003c/blockquote\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/sinonjs/sinon/commit/52555af4463c5a41ba4e24d9c42937b0e306a1e6\"\u003e\u003ccode\u003e52555af\u003c/code\u003e\u003c/a\u003e 22.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/ed911df50d2967d52f9ca341f1f15c8b4def8878\"\u003e\u003ccode\u003eed911df\u003c/code\u003e\u003c/a\u003e Update Ruby gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/75a1e5b80d9aab698fadd8bb8c30998f109e1841\"\u003e\u003ccode\u003e75a1e5b\u003c/code\u003e\u003c/a\u003e Update to Node 26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/197d660899fc8f9ac523e8ad9712f600c72cdbd2\"\u003e\u003ccode\u003e197d660\u003c/code\u003e\u003c/a\u003e Update documentation on faking timers to reflect the current state of fake-ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/c5ddf80bd8653ad9a3e539103a3c801e7bec112c\"\u003e\u003ccode\u003ec5ddf80\u003c/code\u003e\u003c/a\u003e Update fake-timers@15.4: includes new Temporal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4ab02f6b78d4602401369d5797bbbb2a1110c7e\"\u003e\u003ccode\u003ef4ab02f\u003c/code\u003e\u003c/a\u003e Update updatable packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/0536afc8fedd1db7dbc3557a2d162d1d8a1d12aa\"\u003e\u003ccode\u003e0536afc\u003c/code\u003e\u003c/a\u003e Quality: Global mutable call id can grow unbounded across long-lived processe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/f4f7d93bc6bd664400e74d153fd5812dae84d222\"\u003e\u003ccode\u003ef4f7d93\u003c/code\u003e\u003c/a\u003e Perform additional cleanup when calling callThrough() (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/6199e9e43db4440ea350961e2ef204236ca4ca4f\"\u003e\u003ccode\u003e6199e9e\u003c/code\u003e\u003c/a\u003e improve GitHubworkflows by introducing zizmor for monitoring (\u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sinonjs/sinon/commit/1519009d5faaa5b8fab96e07f96e1b4bffa0bf07\"\u003e\u003ccode\u003e1519009\u003c/code\u003e\u003c/a\u003e Merge \u003ca href=\"https://redirect.github.com/sinonjs/sinon/issues/2703\"\u003e#2703\u003c/a\u003e: isolate walk state from Object prototype\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sinonjs/sinon/compare/v21.1.2...v22.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tar` from 7.5.13 to 7.5.15\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/87cc309f13c21d598b0b833235d387a252455058\"\u003e\u003ccode\u003e87cc309\u003c/code\u003e\u003c/a\u003e 7.5.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7aef486f0d21c10fd7790b16b1b28f04648cf334\"\u003e\u003ccode\u003e7aef486\u003c/code\u003e\u003c/a\u003e fix: regression in pending links detection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6244eb33846bbd407443f5d0e339bd8c91663cd6\"\u003e\u003ccode\u003e6244eb3\u003c/code\u003e\u003c/a\u003e 7.5.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/9704d8c6f639573775133cbbd541aba83cb46c9c\"\u003e\u003ccode\u003e9704d8c\u003c/code\u003e\u003c/a\u003e stricter protection against hardlinks preempting their targets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/700734f9aeb113bcc5f1400d81b8be7d499e54a2\"\u003e\u003ccode\u003e700734f\u003c/code\u003e\u003c/a\u003e update workflows and deps\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v7.5.13...v7.5.15\"\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/oyakh1/hiero-mirror-node--040/pull/21","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyakh1%2Fhiero-mirror-node--040/issues/21","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/21/packages"}}]}