{"id":607,"name":"sinon","ecosystem":"npm","repository_url":"https://github.com/sinonjs/sinon","issues_count":2060,"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":1153,"unique_repositories_count_past_30_days":59,"recent_issues":[{"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"},{"uuid":"4476232210","node_id":"PR_kwDOMwiq5c7dAf_M","number":152,"state":"open","title":"build(deps-dev): bump sinon from 21.1.2 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-05-19T09:37:35.000Z","updated_at":"2026-05-19T12:47:49.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.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","html_url":"https://github.com/aditosoftware/vscode-logging/pull/152","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aditosoftware%2Fvscode-logging/issues/152","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/152/packages"},{"uuid":"4474854418","node_id":"PR_kwDODTaMbM7c8FKB","number":413,"state":"open","title":"chore(deps-dev): bump the npm-dev-deps group with 7 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-19T06:08:03.000Z","updated_at":"2026-05-19T06:09:27.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"npm-dev-deps","update_count":7,"packages":[{"name":"@babel/preset-env","old_version":"7.29.2","new_version":"7.29.5","repository_url":"https://github.com/babel/babel"},{"name":"@commitlint/config-conventional","old_version":"20.5.0","new_version":"21.0.1","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"commitlint","old_version":"20.5.0","new_version":"21.0.1","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"jscpd","old_version":"4.0.9","new_version":"4.1.1","repository_url":"https://github.com/kucherenko/jscpd"},{"name":"lint-staged","old_version":"16.4.0","new_version":"17.0.4","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"np","old_version":"11.1.0","new_version":"11.2.1","repository_url":"https://github.com/sindresorhus/np"},{"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 npm-dev-deps group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) | `7.29.2` | `7.29.5` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `20.5.0` | `21.0.1` |\n| [commitlint](https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint) | `20.5.0` | `21.0.1` |\n| [jscpd](https://github.com/kucherenko/jscpd) | `4.0.9` | `4.1.1` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.4.0` | `17.0.4` |\n| [np](https://github.com/sindresorhus/np) | `11.1.0` | `11.2.1` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |\n\nUpdates `@babel/preset-env` from 7.29.2 to 7.29.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e@​babel/preset-env's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.29.5 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:house:  Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@babel/*\u003c/code\u003e dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.4 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-plugin-transform-modules-systemjs\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17974\"\u003e#17974\u003c/a\u003e [7.x backport]fix(systemjs): improve module string name support (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.3 (2026-04-30)\u003c/h2\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17923\"\u003e#17923\u003c/a\u003e Support flow extends bound (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-decorators\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17931\"\u003e#17931\u003c/a\u003e fix(decorators): replace super within all removed static elements (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-register\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17915\"\u003e#17915\u003c/a\u003e Fix thread synchronization issues in \u003ccode\u003e@babel/register\u003c/code\u003e (\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-compat-data\u003c/code\u003e, \u003ccode\u003ebabel-plugin-bugfix-safari-rest-destructuring-rhs-array\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17788\"\u003e#17788\u003c/a\u003e Add bugfix plugin for Safari array rest destructuring bug (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:nail_care: Polish\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17782\"\u003e#17782\u003c/a\u003e Improve trailing comma comment handling (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:memo: Documentation\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17847\"\u003e#17847\u003c/a\u003e Replace npmjs.com links with npmx.dev (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:running_woman: Performance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-import-to-platform-api\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-import-wasm-source\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-json-modules\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17818\"\u003e#17818\u003c/a\u003e Load async Wasm and JSON imports in parallel (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 4\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBabel Bot (\u003ca href=\"https://github.com/babel-bot\"\u003e\u003ccode\u003e@​babel-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNicolò Ribaudo (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/3cd910d838332b988ed83bdd2ddc22e849e7ea5d\"\u003e\u003ccode\u003e3cd910d\u003c/code\u003e\u003c/a\u003e v7.29.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/3d399f8c8c1e5308bb25e11947d90a111399ac0d\"\u003e\u003ccode\u003e3d399f8\u003c/code\u003e\u003c/a\u003e [7.x backport]docs(preset-env): update CONTRIBUTING.md (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17976\"\u003e#17976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/183db7bc040a68057489f8981d02962345a322ed\"\u003e\u003ccode\u003e183db7b\u003c/code\u003e\u003c/a\u003e v7.29.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/268f246f21e51b2204ba6dc5349055504cc7420d\"\u003e\u003ccode\u003e268f246\u003c/code\u003e\u003c/a\u003e Add bugfix plugin for Safari array rest destructuring bug (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17788\"\u003e#17788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/f8524d80799e136313e55da0468777a57d1bf6b6\"\u003e\u003ccode\u003ef8524d8\u003c/code\u003e\u003c/a\u003e Update compat data (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17686\"\u003e#17686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/babel/babel/commits/v7.29.5/packages/babel-preset-env\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/config-conventional` from 20.5.0 to 21.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\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/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eBreaking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat!: show input from a new line by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4727\"\u003e#4727\u003c/a\u003e (adds --legacy-output flag)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: widen cz-commitlint inquirer peer dep to support v9–v12 by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4682\"\u003e#4682\u003c/a\u003e — closes \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4554\"\u003e#4554\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals (Node 22 cleanup)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace dependencies with Node 22 built-ins by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4681\"\u003e#4681\u003c/a\u003e — drops glob, fast-glob, import-meta-resolve, minimist, fs-extra\u003c/li\u003e\n\u003cli\u003erefactor: replace read-pkg with native fs.readFile + JSON.parse by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4742\"\u003e#4742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update dependency yargs to v18 by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4686\"\u003e#4686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove cross-env, move env vars to vitest config by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4684\"\u003e#4684\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependency updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: update dependency \u003ccode\u003e@​types/node\u003c/code\u003e to v22.19.17 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4739\"\u003e#4739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update dependency \u003ccode\u003e@​swc/core\u003c/code\u003e to v1.15.33 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4743\"\u003e#4743\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/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3\"\u003e20.5.3\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003e\u003ccode\u003eac2b3f4\u003c/code\u003e\u003c/a\u003e chore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4679\"\u003e#4679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/31e959a3d17d4403f1142f825c43cccf2e0f7dc4\"\u003e\u003ccode\u003e31e959a\u003c/code\u003e\u003c/a\u003e v20.5.3\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.1/@commitlint/config-conventional\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commitlint` from 20.5.0 to 21.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003ecommitlint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\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/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eBreaking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat!: show input from a new line by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4727\"\u003e#4727\u003c/a\u003e (adds --legacy-output flag)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: widen cz-commitlint inquirer peer dep to support v9–v12 by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4682\"\u003e#4682\u003c/a\u003e — closes \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4554\"\u003e#4554\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals (Node 22 cleanup)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace dependencies with Node 22 built-ins by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4681\"\u003e#4681\u003c/a\u003e — drops glob, fast-glob, import-meta-resolve, minimist, fs-extra\u003c/li\u003e\n\u003cli\u003erefactor: replace read-pkg with native fs.readFile + JSON.parse by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4742\"\u003e#4742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update dependency yargs to v18 by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4686\"\u003e#4686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove cross-env, move env vars to vitest config by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4684\"\u003e#4684\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependency updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: update dependency \u003ccode\u003e@​types/node\u003c/code\u003e to v22.19.17 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4739\"\u003e#4739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update dependency \u003ccode\u003e@​swc/core\u003c/code\u003e to v1.15.33 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4743\"\u003e#4743\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/conventional-changelog/commitlint/blob/master/@alias/commitlint/CHANGELOG.md\"\u003ecommitlint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package commitlint\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3\"\u003e20.5.3\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package commitlint\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.1...v20.5.2\"\u003e20.5.2\u003c/a\u003e (2026-04-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package commitlint\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/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003e\u003ccode\u003eac2b3f4\u003c/code\u003e\u003c/a\u003e chore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/31e959a3d17d4403f1142f825c43cccf2e0f7dc4\"\u003e\u003ccode\u003e31e959a\u003c/code\u003e\u003c/a\u003e v20.5.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/7fe86b28f0779cce8d8459bdcc83c849936a1b80\"\u003e\u003ccode\u003e7fe86b2\u003c/code\u003e\u003c/a\u003e v20.5.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.1/@alias/commitlint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jscpd` from 4.0.9 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/kucherenko/jscpd/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lint-staged` from 16.4.0 to 17.0.4\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.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\u003ch3\u003eMajor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1745\"\u003e#1745\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e244adfab430be95803e74b20acf518517054c9f\"\u003e\u003ccode\u003ee244adf\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - \u003cstrong\u003eNode.js v20 is no longer supported, and the oldest supported version is now \u003ccode\u003e22.22.1\u003c/code\u003e\u003c/strong\u003e, which is an active LTS version at the time of this release. Node.js 20 will be EOL after April 2026. Please upgrade your Node.js version!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1676\"\u003e#1676\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/0584e0b8824a07ea4d0151f2c17fc37c4905a421\"\u003e\u003ccode\u003e0584e0b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/outslept\"\u003e\u003ccode\u003e@​outslept\u003c/code\u003e\u003c/a\u003e! - \u003cem\u003eLint-staged\u003c/em\u003e now tries to verify the installed Git version is at least \u003ccode\u003e2.32.0\u003c/code\u003e, released in 2021. If you're using an even older Git version, you need to \u003ca href=\"https://git-scm.com/install/mac\"\u003eupgrade\u003c/a\u003e it before running \u003cem\u003elint-staged\u003c/em\u003e!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1745\"\u003e#1745\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/2dcc40a1a98aea20d38f76031ac30b278f81682a\"\u003e\u003ccode\u003e2dcc40a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - The dependency \u003ccode\u003eyaml\u003c/code\u003e is now marked as optional and probably won't be installed by default. If you're using a YAML configuration file you should install the package separately:\u003c/p\u003e\n\u003cpre lang=\"shell\"\u003e\u003ccode\u003enpm install --development yaml\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eIf you're using \u003ccode\u003e.lintstagedrc\u003c/code\u003e as the config file name (without a file extension), it will be treated as a YAML file. If the content is JSON, consider renaming it to \u003ccode\u003e.lintstagedrc.json\u003c/code\u003e to avoid needing to install \u003ccode\u003eyaml\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1748\"\u003e#1748\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/809d5ef0a66edb2b26b233d33ce8e14af6c978e7\"\u003e\u003ccode\u003e809d5ef\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Add new option \u003ccode\u003e--hide-all\u003c/code\u003e for hiding all unstaged changes and untracked files, before running tasks. This makes it easier to run tools like \u003ca href=\"https://knip.dev\"\u003eKnip\u003c/a\u003e which check for unused code. Untracked files are included in the backup stash and restored automatically after running.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1759\"\u003e#1759\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/f13045a5eae28c3233fc37146b0e1f51739c254b\"\u003e\u003ccode\u003ef13045a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Update dependencies, including \u003ca href=\"https://github.com/tinylibs/tinyexec/releases/tag/1.1.1\"\u003e\u003ccode\u003etinyexec@1.1.1\u003c/code\u003e\u003c/a\u003e to fix the following issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWhen using a Node.js version manager with multiple versions installed (\u003ca href=\"https://github.com/nvm-sh/nvm\"\u003envm\u003c/a\u003e, \u003ca href=\"https://github.com/tj/n\"\u003en\u003c/a\u003e, for example), scripts with the \u003ccode\u003e#!/usr/bin/env node\u003c/code\u003e shebang (\u003ca href=\"https://github.com/prettier/prettier\"\u003ePrettier\u003c/a\u003e, \u003ca href=\"https://github.com/eslint/eslint\"\u003eESLint\u003c/a\u003e, for example) were previously spawned using the default Node.js version configured by the version manager (the one \u003ccode\u003ewhich node\u003c/code\u003e points to) on POSIX systems. Now, they will be spawned with the same version that \u003cem\u003elint-staged\u003c/em\u003e itself was started with.\n\u003cul\u003e\n\u003cli\u003eFor example, if your default Node.js version is 24.14.1 but \u003cem\u003elint-staged\u003c/em\u003e is run with the latest version 25.9.0, the tasks spawned by \u003cem\u003elint-staged\u003c/em\u003e will now also use version 25.9.0. Previously they were spawned using 24.14.1.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.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\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\u003e17.0.0\u003c/h2\u003e\n\u003ch3\u003eMajor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1745\"\u003e#1745\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e244adfab430be95803e74b20acf518517054c9f\"\u003e\u003ccode\u003ee244adf\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - \u003cstrong\u003eNode.js v20 is no longer supported, and the oldest supported version is now \u003ccode\u003e22.22.1\u003c/code\u003e\u003c/strong\u003e, which is an active LTS version at the time of this release. Node.js 20 will be EOL after April 2026. Please upgrade your Node.js version!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1676\"\u003e#1676\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/0584e0b8824a07ea4d0151f2c17fc37c4905a421\"\u003e\u003ccode\u003e0584e0b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/outslept\"\u003e\u003ccode\u003e@​outslept\u003c/code\u003e\u003c/a\u003e! - \u003cem\u003eLint-staged\u003c/em\u003e now tries to verify the installed Git version is at least \u003ccode\u003e2.32.0\u003c/code\u003e, released in 2021. If you're using an even older Git version, you need to \u003ca href=\"https://git-scm.com/install/mac\"\u003eupgrade\u003c/a\u003e it before running \u003cem\u003elint-staged\u003c/em\u003e!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1745\"\u003e#1745\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/2dcc40a1a98aea20d38f76031ac30b278f81682a\"\u003e\u003ccode\u003e2dcc40a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - The dependency \u003ccode\u003eyaml\u003c/code\u003e is now marked as optional and probably won't be installed by default. If you're using a YAML configuration file you should install the package separately:\u003c/p\u003e\n\u003cpre lang=\"shell\"\u003e\u003ccode\u003enpm install --development yaml\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eIf you're using \u003ccode\u003e.lintstagedrc\u003c/code\u003e as the config file name (without a file extension), it will be treated as a YAML file. If the content is JSON, consider renaming it to \u003ccode\u003e.lintstagedrc.json\u003c/code\u003e to avoid needing to install \u003ccode\u003eyaml\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1748\"\u003e#1748\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/809d5ef0a66edb2b26b233d33ce8e14af6c978e7\"\u003e\u003ccode\u003e809d5ef\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Add new option \u003ccode\u003e--hide-all\u003c/code\u003e for hiding all unstaged changes and untracked files, before running tasks. This makes it easier to run tools like \u003ca href=\"https://knip.dev\"\u003eKnip\u003c/a\u003e which check for unused code. Untracked files are included in the backup stash and restored automatically after running.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/2862964b2429df8df2aae05ff7b73cf69f440c90\"\u003e\u003ccode\u003e2862964\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1789\"\u003e#1789\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/c9ecd54417e1fb698fba0377c912a5ac819a51b8\"\u003e\u003ccode\u003ec9ecd54\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/cc6b51ab2d1564ebe27f47a9eba02b74353805bc\"\u003e\u003ccode\u003ecc6b51a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1788\"\u003e#1788\u003c/a\u003e from lint-staged/fix-update-index-again\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/f95c1f8df3368758c44c2052e568aac1b3d4c767\"\u003e\u003ccode\u003ef95c1f8\u003c/code\u003e\u003c/a\u003e fix: update both default index.lock and non-standard lock when latter exists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/f44ee688dd1c7070f32cde8ca1f910d7f8a96e3e\"\u003e\u003ccode\u003ef44ee68\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1786\"\u003e#1786\u003c/a\u003e from lint-staged/update-repo-url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/a61cf18ea5af3bfa06623bed1f80217fe3865871\"\u003e\u003ccode\u003ea61cf18\u003c/code\u003e\u003c/a\u003e build(deps): update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/ea00037e1f399f7b36252e0c558c9d3dbb026435\"\u003e\u003ccode\u003eea00037\u003c/code\u003e\u003c/a\u003e docs: disable Changesets \u0026quot;thanks\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/ab7c26c826f9e97823bab42aac0515f2b4b9f0f6\"\u003e\u003ccode\u003eab7c26c\u003c/code\u003e\u003c/a\u003e docs: update repo URL to point in \u003ccode\u003elint-staged/lint-staged\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/a36ec1eab4e2a24f7599377a11b0b3cb0f692bd0\"\u003e\u003ccode\u003ea36ec1e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1783\"\u003e#1783\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/03ce2a9dea52523f3cc69bf279d1049558859272\"\u003e\u003ccode\u003e03ce2a9\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.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `np` from 11.1.0 to 11.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/np/releases\"\u003enp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip Node.js engine check for prerelease-to-prerelease bumps  abfe30b\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/np/compare/v11.2.0...v11.2.1\"\u003ehttps://github.com/sindresorhus/np/compare/v11.2.0...v11.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev11.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ca href=\"https://docs.npmjs.com/cli/v11/configuring-npm/package-json#devengines\"\u003e\u003ccode\u003edevEngines.packageManager\u003c/code\u003e\u003c/a\u003e support (\u003ca href=\"https://redirect.github.com/sindresorhus/np/issues/789\"\u003e#789\u003c/a\u003e)  03d4787\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/np/compare/v11.1.0...v11.2.0\"\u003ehttps://github.com/sindresorhus/np/compare/v11.1.0...v11.2.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/np/commit/18096016854e9d1cd310f5e858e4190779d1f42f\"\u003e\u003ccode\u003e1809601\u003c/code\u003e\u003c/a\u003e 11.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/np/commit/abfe30bdaa5b3c73594b2625a4c496855c857c0b\"\u003e\u003ccode\u003eabfe30b\u003c/code\u003e\u003c/a\u003e Skip Node.js engine check for prerelease-to-prerelease bumps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/np/commit/055dbf139d23c5d7269115141d80e67b6bb64839\"\u003e\u003ccode\u003e055dbf1\u003c/code\u003e\u003c/a\u003e 11.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/np/commit/03d47873d941acf0ab853530112a98235849762a\"\u003e\u003ccode\u003e03d4787\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003edevEngines.packageManager\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/sindresorhus/np/issues/789\"\u003e#789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sindresorhus/np/compare/v11.1.0...v11.2.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/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/rudderlabs/rudder-sdk-node/pull/413","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rudderlabs%2Frudder-sdk-node/issues/413","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/413/packages"},{"uuid":"4473793152","node_id":"PR_kwDOSOO1Bs7c4sYJ","number":20,"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-25T22:17:33.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T01:48:39.000Z","updated_at":"2026-05-25T22:17:35.000Z","time_to_close":592134,"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\u003ev15.8.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNo significant changes\u003c/em\u003e\u003c/p\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--044/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyakh1%2Fhiero-mirror-node--044/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"},{"uuid":"4473491023","node_id":"PR_kwDOSOOsLs7c3vqi","number":20,"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-25T20:51:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T00:24:39.000Z","updated_at":"2026-05-25T20:51:48.000Z","time_to_close":592027,"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\u003ev15.8.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNo significant changes\u003c/em\u003e\u003c/p\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--017/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyakh1%2Fhiero-mirror-node--017/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"},{"uuid":"4473309638","node_id":"PR_kwDOK1oayc7c3KyI","number":257,"state":"open","title":"Bump sinon from 17.0.1 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-18T23:39:04.000Z","updated_at":"2026-05-18T23:49:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"sinon","old_version":"17.0.1","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 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/v17.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","html_url":"https://github.com/iobroker-community-adapters/ioBroker.solaredge/pull/257","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/iobroker-community-adapters%2FioBroker.solaredge/issues/257","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/257/packages"},{"uuid":"4472373476","node_id":"PR_kwDOShQW287c0J7Z","number":5,"state":"closed","title":"chore(deps-dev): bump the testing group with 2 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":7,"pull_request":true,"closed_at":"2026-05-18T21:58:15.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-18T20:32:55.000Z","updated_at":"2026-05-19T00:01:06.494Z","time_to_close":5120,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"testing","update_count":2,"packages":[{"name":"sinon","old_version":"15.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"superagent-mock","old_version":"4.0.0","new_version":"5.0.1","repository_url":"https://github.com/M6Web/superagent-mock"}],"path":null,"ecosystem":"npm"},"body":"Bumps the testing group with 2 updates: [sinon](https://github.com/sinonjs/sinon) and [superagent-mock](https://github.com/M6Web/superagent-mock).\n\nUpdates `sinon` from 15.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/v15.1.2...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\nUpdates `superagent-mock` from 4.0.0 to 5.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/M6Web/superagent-mock/releases\"\u003esuperagent-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003esuperagent\u003c/code\u003e version from \u003ccode\u003e3.8.3\u003c/code\u003e to \u003ccode\u003e8.0.9\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependencies with \u003ccode\u003esuperagent\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDrop the testing value \u003ccode\u003esuperagentUserAgentHeader\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd prettier in the project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd NodeJS 18\u003c/li\u003e\n\u003cli\u003edrop support of NodeJS \u0026lt; 16\u003c/li\u003e\n\u003c/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/M6Web/superagent-mock/commits\"\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/Monoradioactivo/aether-cli/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monoradioactivo%2Faether-cli/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"4466576726","node_id":"PR_kwDOSOOwLM7chVJx","number":20,"state":"closed","title":"Bump the dependencies group across 1 directory with 8 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-25T05:38:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-18T05:45:06.000Z","updated_at":"2026-05-25T05:38:05.000Z","time_to_close":604377,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":8,"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":"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 7 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| [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 `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 improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove \u003ccode\u003eCREATE CONSTRAINT TRIGGER\u003c/code\u003e formatting (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch from \u003ccode\u003eyarn\u003c/code\u003e to \u003ccode\u003epnpm\u003c/code\u003e (\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\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--029/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyakh1%2Fhiero-mirror-node--029/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"},{"uuid":"4465800885","node_id":"PR_kwDOMxCQNM7ce4-R","number":251,"state":"open","title":"chore(deps-dev): bump sinon from 21.1.2 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-05-18T02:16:05.000Z","updated_at":"2026-05-18T02:19:48.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":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/aditosoftware/vscode-liquibase/pull/251","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aditosoftware%2Fvscode-liquibase/issues/251","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/251/packages"},{"uuid":"4465611980","node_id":"PR_kwDOSOOrM87ceTjs","number":20,"state":"closed","title":"Bump the dependencies group across 1 directory with 8 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-25T01:16:19.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-18T01:20:24.000Z","updated_at":"2026-05-25T01:16:21.000Z","time_to_close":604555,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":8,"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":"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 7 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| [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 `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 improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove \u003ccode\u003eCREATE CONSTRAINT TRIGGER\u003c/code\u003e formatting (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch from \u003ccode\u003eyarn\u003c/code\u003e to \u003ccode\u003epnpm\u003c/code\u003e (\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\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--014/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyakh1%2Fhiero-mirror-node--014/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"},{"uuid":"4463300953","node_id":"PR_kwDOD6WI587cXZMw","number":218,"state":"open","title":"Bump sinon from 8.1.1 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-17T11:25:27.000Z","updated_at":"2026-05-21T11:43:24.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"sinon","old_version":"8.1.1","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 8.1.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/v8.1.1...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/iobroker-community-adapters/ioBroker.legrand-ecocompteur/pull/218","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/iobroker-community-adapters%2FioBroker.legrand-ecocompteur/issues/218","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/218/packages"},{"uuid":"4461879258","node_id":"PR_kwDOCq1ct87cTO_G","number":504,"state":"open","title":"Bump sinon from 13.0.2 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-05-17T01:18:52.000Z","updated_at":"2026-05-17T01:22:47.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"sinon","old_version":"13.0.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 13.0.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/v13.0.2...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=13.0.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/iobroker-community-adapters/ioBroker.iqontrol/pull/504","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/iobroker-community-adapters%2FioBroker.iqontrol/issues/504","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/504/packages"},{"uuid":"4459473892","node_id":"PR_kwDOBdk-Hc7cMLLV","number":536,"state":"open","title":"Bump sinon from 18.0.0 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-05-16T09:48:10.000Z","updated_at":"2026-05-16T09:49:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"sinon","old_version":"18.0.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 18.0.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/v18.0.0...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=18.0.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/iobroker-community-adapters/ioBroker.broadlink2/pull/536","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/iobroker-community-adapters%2FioBroker.broadlink2/issues/536","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/536/packages"},{"uuid":"4451905672","node_id":"PR_kwDOSRkdbM7b0Bm4","number":20,"state":"closed","title":"Bump the dependencies group across 1 directory with 7 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-22T06:48:09.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-15T06:48:16.000Z","updated_at":"2026-05-22T06:48:11.000Z","time_to_close":604793,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":7,"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":"sql-formatter","old_version":"15.7.3","new_version":"15.7.4","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 6 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| [sql-formatter](https://github.com/sql-formatter-org/sql-formatter) | `15.7.3` | `15.7.4` |\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 `sql-formatter` from 15.7.3 to 15.7.4\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.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/7bdeba552e0bc63681e7ce1bf2a95bbf3c3b7401\"\u003e\u003ccode\u003e7bdeba5\u003c/code\u003e\u003c/a\u003e Release v15.7.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/995291c30b42b119abeb4141dba8d952c961108c\"\u003e\u003ccode\u003e995291c\u003c/code\u003e\u003c/a\u003e fix(sqlite): support Tcl-style $param(...) syntax (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/37b69eed8948c5e081f029bef85ec7e97f861cfa\"\u003e\u003ccode\u003e37b69ee\u003c/code\u003e\u003c/a\u003e Add Sai Asish Y to AUTHORS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/1729b55597e15ce7c2cb55f71b8804513d10aecb\"\u003e\u003ccode\u003e1729b55\u003c/code\u003e\u003c/a\u003e fix(sqlite): support Tcl-style $param(...) syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/a66b90020b7373155aa2e95a1bdc7d18055ae601\"\u003e\u003ccode\u003ea66b900\u003c/code\u003e\u003c/a\u003e Add nuintun to AUTHORS\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.3...v15.7.4\"\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/oyakhilo20/hiero-mirror-node--020/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyakhilo20%2Fhiero-mirror-node--020/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"},{"uuid":"4435549101","node_id":"PR_kwDOAxsMsM7a_o5H","number":14168,"state":"open","title":"Bump sinon from 21.1.2 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-05-13T06:44:53.000Z","updated_at":"2026-05-13T06:49:01.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/mozilla/addons-frontend/pull/14168","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Faddons-frontend/issues/14168","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14168/packages"},{"uuid":"4426506697","node_id":"PR_kwDOAvTOKM7aiWNa","number":774,"state":"open","title":"deps: bump sinon from 21.1.2 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-05-12T05:40:20.000Z","updated_at":"2026-05-12T05:42:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps","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/u-wave/core/pull/774","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/u-wave%2Fcore/issues/774","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/774/packages"},{"uuid":"4426499722","node_id":"PR_kwDOQH6Oz87aiUsa","number":82,"state":"open","title":"[npm]: bump sinon from 21.1.2 to 22.0.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-12T05:38:54.000Z","updated_at":"2026-05-12T05:38:55.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[npm]","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/jyjeanne/ditacraft/pull/82","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jyjeanne%2Fditacraft/issues/82","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/82/packages"},{"uuid":"4425524893","node_id":"PR_kwDOHRlwv87afNiF","number":127,"state":"open","title":"Bump sinon from 21.0.1 to 22.0.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-12T01:39:45.000Z","updated_at":"2026-05-12T01:39:45.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"sinon","old_version":"21.0.1","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.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\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/jonkoops/Leaflet/pull/127","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonkoops%2FLeaflet/issues/127","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/127/packages"}],"issue_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"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-19T09:37:35.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4476232210","node_id":"PR_kwDOMwiq5c7dAf_M","number":152,"state":"open","title":"build(deps-dev): bump sinon from 21.1.2 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-05-19T09:37:35.000Z","updated_at":"2026-05-19T12:47:49.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.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","html_url":"https://github.com/aditosoftware/vscode-logging/pull/152","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aditosoftware%2Fvscode-logging/issues/152","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/152/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-19T06:08:03.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4474854418","node_id":"PR_kwDODTaMbM7c8FKB","number":413,"state":"open","title":"chore(deps-dev): bump the npm-dev-deps group with 7 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-19T06:08:03.000Z","updated_at":"2026-05-19T06:09:27.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"npm-dev-deps","update_count":7,"packages":[{"name":"@babel/preset-env","old_version":"7.29.2","new_version":"7.29.5","repository_url":"https://github.com/babel/babel"},{"name":"@commitlint/config-conventional","old_version":"20.5.0","new_version":"21.0.1","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"commitlint","old_version":"20.5.0","new_version":"21.0.1","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"jscpd","old_version":"4.0.9","new_version":"4.1.1","repository_url":"https://github.com/kucherenko/jscpd"},{"name":"lint-staged","old_version":"16.4.0","new_version":"17.0.4","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"np","old_version":"11.1.0","new_version":"11.2.1","repository_url":"https://github.com/sindresorhus/np"},{"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 npm-dev-deps group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) | `7.29.2` | `7.29.5` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `20.5.0` | `21.0.1` |\n| [commitlint](https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint) | `20.5.0` | `21.0.1` |\n| [jscpd](https://github.com/kucherenko/jscpd) | `4.0.9` | `4.1.1` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.4.0` | `17.0.4` |\n| [np](https://github.com/sindresorhus/np) | `11.1.0` | `11.2.1` |\n| [sinon](https://github.com/sinonjs/sinon) | `21.1.2` | `22.0.0` |\n\nUpdates `@babel/preset-env` from 7.29.2 to 7.29.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e@​babel/preset-env's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.29.5 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:house:  Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@babel/*\u003c/code\u003e dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.4 (2026-05-05)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-plugin-transform-modules-systemjs\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17974\"\u003e#17974\u003c/a\u003e [7.x backport]fix(systemjs): improve module string name support (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.3 (2026-04-30)\u003c/h2\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17923\"\u003e#17923\u003c/a\u003e Support flow extends bound (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-decorators\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17931\"\u003e#17931\u003c/a\u003e fix(decorators): replace super within all removed static elements (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-register\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17915\"\u003e#17915\u003c/a\u003e Fix thread synchronization issues in \u003ccode\u003e@babel/register\u003c/code\u003e (\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-compat-data\u003c/code\u003e, \u003ccode\u003ebabel-plugin-bugfix-safari-rest-destructuring-rhs-array\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17788\"\u003e#17788\u003c/a\u003e Add bugfix plugin for Safari array rest destructuring bug (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:nail_care: Polish\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17782\"\u003e#17782\u003c/a\u003e Improve trailing comma comment handling (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:memo: Documentation\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17847\"\u003e#17847\u003c/a\u003e Replace npmjs.com links with npmx.dev (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:running_woman: Performance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-import-to-platform-api\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-import-wasm-source\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-json-modules\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17818\"\u003e#17818\u003c/a\u003e Load async Wasm and JSON imports in parallel (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 4\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBabel Bot (\u003ca href=\"https://github.com/babel-bot\"\u003e\u003ccode\u003e@​babel-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNicolò Ribaudo (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/3cd910d838332b988ed83bdd2ddc22e849e7ea5d\"\u003e\u003ccode\u003e3cd910d\u003c/code\u003e\u003c/a\u003e v7.29.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/3d399f8c8c1e5308bb25e11947d90a111399ac0d\"\u003e\u003ccode\u003e3d399f8\u003c/code\u003e\u003c/a\u003e [7.x backport]docs(preset-env): update CONTRIBUTING.md (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17976\"\u003e#17976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/183db7bc040a68057489f8981d02962345a322ed\"\u003e\u003ccode\u003e183db7b\u003c/code\u003e\u003c/a\u003e v7.29.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/268f246f21e51b2204ba6dc5349055504cc7420d\"\u003e\u003ccode\u003e268f246\u003c/code\u003e\u003c/a\u003e Add bugfix plugin for Safari array rest destructuring bug (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17788\"\u003e#17788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/f8524d80799e136313e55da0468777a57d1bf6b6\"\u003e\u003ccode\u003ef8524d8\u003c/code\u003e\u003c/a\u003e Update compat data (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/17686\"\u003e#17686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/babel/babel/commits/v7.29.5/packages/babel-preset-env\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/config-conventional` from 20.5.0 to 21.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\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/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eBreaking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat!: show input from a new line by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4727\"\u003e#4727\u003c/a\u003e (adds --legacy-output flag)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: widen cz-commitlint inquirer peer dep to support v9–v12 by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4682\"\u003e#4682\u003c/a\u003e — closes \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4554\"\u003e#4554\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals (Node 22 cleanup)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace dependencies with Node 22 built-ins by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4681\"\u003e#4681\u003c/a\u003e — drops glob, fast-glob, import-meta-resolve, minimist, fs-extra\u003c/li\u003e\n\u003cli\u003erefactor: replace read-pkg with native fs.readFile + JSON.parse by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4742\"\u003e#4742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update dependency yargs to v18 by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4686\"\u003e#4686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove cross-env, move env vars to vitest config by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4684\"\u003e#4684\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependency updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: update dependency \u003ccode\u003e@​types/node\u003c/code\u003e to v22.19.17 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4739\"\u003e#4739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update dependency \u003ccode\u003e@​swc/core\u003c/code\u003e to v1.15.33 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4743\"\u003e#4743\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/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3\"\u003e20.5.3\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003e\u003ccode\u003eac2b3f4\u003c/code\u003e\u003c/a\u003e chore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4679\"\u003e#4679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/31e959a3d17d4403f1142f825c43cccf2e0f7dc4\"\u003e\u003ccode\u003e31e959a\u003c/code\u003e\u003c/a\u003e v20.5.3\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.1/@commitlint/config-conventional\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commitlint` from 20.5.0 to 21.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003ecommitlint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(load): only resolve relative formatter paths by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4761\"\u003econventional-changelog/commitlint#4761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): add presetConfig to ParserPreset interface by \u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: stop spawning schedule jobs on contributors' forks by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4753\"\u003econventional-changelog/commitlint#4753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add weekly non-blocking pnpm audit by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4766\"\u003econventional-changelog/commitlint#4766\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/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4749\"\u003econventional-changelog/commitlint#4749\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.0.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eHeads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eBreaking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat!: show input from a new line by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4727\"\u003e#4727\u003c/a\u003e (adds --legacy-output flag)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: widen cz-commitlint inquirer peer dep to support v9–v12 by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4682\"\u003e#4682\u003c/a\u003e — closes \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4554\"\u003e#4554\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternals (Node 22 cleanup)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace dependencies with Node 22 built-ins by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4681\"\u003e#4681\u003c/a\u003e — drops glob, fast-glob, import-meta-resolve, minimist, fs-extra\u003c/li\u003e\n\u003cli\u003erefactor: replace read-pkg with native fs.readFile + JSON.parse by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4742\"\u003e#4742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update dependency yargs to v18 by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4686\"\u003e#4686\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove cross-env, move env vars to vitest config by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4684\"\u003e#4684\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependency updates\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: update dependency \u003ccode\u003e@​types/node\u003c/code\u003e to v22.19.17 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4739\"\u003e#4739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update dependency \u003ccode\u003e@​swc/core\u003c/code\u003e to v1.15.33 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4743\"\u003e#4743\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/conventional-changelog/commitlint/blob/master/@alias/commitlint/CHANGELOG.md\"\u003ecommitlint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.0...v21.0.1\"\u003e21.0.1\u003c/a\u003e (2026-05-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package commitlint\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.3...v21.0.0\"\u003e21.0.0\u003c/a\u003e (2026-05-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003echore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003eac2b3f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop node v18 and v20 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBump engines to \u0026gt;=v22 in all 39 package.json files\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.0.0\u003c/li\u003e\n\u003cli\u003eUpdate CI matrix to [22, 24]\u003c/li\u003e\n\u003cli\u003eUpdate Ubuntu baseline job to ubuntu:26.04\u003c/li\u003e\n\u003cli\u003eUpdate Dockerfile.ci, .mise.toml, .codesandbox/ci.json\u003c/li\u003e\n\u003cli\u003eUpdate pre-commit hook to use --ignore-engines\u003c/li\u003e\n\u003cli\u003eUpdate README and docs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eCo-authored-by: Claude Opus 4.6 (1M context) \u003ca href=\"mailto:noreply@anthropic.com\"\u003enoreply@anthropic.com\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.2...v20.5.3\"\u003e20.5.3\u003c/a\u003e (2026-04-30)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package commitlint\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.5.1...v20.5.2\"\u003e20.5.2\u003c/a\u003e (2026-04-25)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package commitlint\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/conventional-changelog/commitlint/commit/db8d7d6461d721fe2561ce4307e4069eaf6dcc8c\"\u003e\u003ccode\u003edb8d7d6\u003c/code\u003e\u003c/a\u003e v21.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1329a25fd6f13b993fdf4e8c1b5a25ff2bf7ee07\"\u003e\u003ccode\u003e1329a25\u003c/code\u003e\u003c/a\u003e chore: migrate to pnpm (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4762\"\u003e#4762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6099ae50aa71fe7f99d75af1b8d9537aa7685747\"\u003e\u003ccode\u003e6099ae5\u003c/code\u003e\u003c/a\u003e chore: replace eslint with oxlint (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4756\"\u003e#4756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f081a8ef93019bb8b07f39c756f6d4a052020d3b\"\u003e\u003ccode\u003ef081a8e\u003c/code\u003e\u003c/a\u003e v21.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/44c31743ded411d949e935247e8079e5085d8239\"\u003e\u003ccode\u003e44c3174\u003c/code\u003e\u003c/a\u003e chore: update dependency yargs to v18 \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4432\"\u003e#4432\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/ac2b3f4a947670e46af9a738881ba14158f0987a\"\u003e\u003ccode\u003eac2b3f4\u003c/code\u003e\u003c/a\u003e chore!: minimum node version v22 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@alias/commitlint/issues/4679\"\u003e#4679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/31e959a3d17d4403f1142f825c43cccf2e0f7dc4\"\u003e\u003ccode\u003e31e959a\u003c/code\u003e\u003c/a\u003e v20.5.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/7fe86b28f0779cce8d8459bdcc83c849936a1b80\"\u003e\u003ccode\u003e7fe86b2\u003c/code\u003e\u003c/a\u003e v20.5.2\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.0.1/@alias/commitlint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jscpd` from 4.0.9 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/kucherenko/jscpd/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lint-staged` from 16.4.0 to 17.0.4\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.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\u003ch3\u003eMajor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1745\"\u003e#1745\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e244adfab430be95803e74b20acf518517054c9f\"\u003e\u003ccode\u003ee244adf\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - \u003cstrong\u003eNode.js v20 is no longer supported, and the oldest supported version is now \u003ccode\u003e22.22.1\u003c/code\u003e\u003c/strong\u003e, which is an active LTS version at the time of this release. Node.js 20 will be EOL after April 2026. Please upgrade your Node.js version!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1676\"\u003e#1676\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/0584e0b8824a07ea4d0151f2c17fc37c4905a421\"\u003e\u003ccode\u003e0584e0b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/outslept\"\u003e\u003ccode\u003e@​outslept\u003c/code\u003e\u003c/a\u003e! - \u003cem\u003eLint-staged\u003c/em\u003e now tries to verify the installed Git version is at least \u003ccode\u003e2.32.0\u003c/code\u003e, released in 2021. If you're using an even older Git version, you need to \u003ca href=\"https://git-scm.com/install/mac\"\u003eupgrade\u003c/a\u003e it before running \u003cem\u003elint-staged\u003c/em\u003e!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1745\"\u003e#1745\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/2dcc40a1a98aea20d38f76031ac30b278f81682a\"\u003e\u003ccode\u003e2dcc40a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - The dependency \u003ccode\u003eyaml\u003c/code\u003e is now marked as optional and probably won't be installed by default. If you're using a YAML configuration file you should install the package separately:\u003c/p\u003e\n\u003cpre lang=\"shell\"\u003e\u003ccode\u003enpm install --development yaml\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eIf you're using \u003ccode\u003e.lintstagedrc\u003c/code\u003e as the config file name (without a file extension), it will be treated as a YAML file. If the content is JSON, consider renaming it to \u003ccode\u003e.lintstagedrc.json\u003c/code\u003e to avoid needing to install \u003ccode\u003eyaml\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1748\"\u003e#1748\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/809d5ef0a66edb2b26b233d33ce8e14af6c978e7\"\u003e\u003ccode\u003e809d5ef\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Add new option \u003ccode\u003e--hide-all\u003c/code\u003e for hiding all unstaged changes and untracked files, before running tasks. This makes it easier to run tools like \u003ca href=\"https://knip.dev\"\u003eKnip\u003c/a\u003e which check for unused code. Untracked files are included in the backup stash and restored automatically after running.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1759\"\u003e#1759\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/f13045a5eae28c3233fc37146b0e1f51739c254b\"\u003e\u003ccode\u003ef13045a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Update dependencies, including \u003ca href=\"https://github.com/tinylibs/tinyexec/releases/tag/1.1.1\"\u003e\u003ccode\u003etinyexec@1.1.1\u003c/code\u003e\u003c/a\u003e to fix the following issues:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eWhen using a Node.js version manager with multiple versions installed (\u003ca href=\"https://github.com/nvm-sh/nvm\"\u003envm\u003c/a\u003e, \u003ca href=\"https://github.com/tj/n\"\u003en\u003c/a\u003e, for example), scripts with the \u003ccode\u003e#!/usr/bin/env node\u003c/code\u003e shebang (\u003ca href=\"https://github.com/prettier/prettier\"\u003ePrettier\u003c/a\u003e, \u003ca href=\"https://github.com/eslint/eslint\"\u003eESLint\u003c/a\u003e, for example) were previously spawned using the default Node.js version configured by the version manager (the one \u003ccode\u003ewhich node\u003c/code\u003e points to) on POSIX systems. Now, they will be spawned with the same version that \u003cem\u003elint-staged\u003c/em\u003e itself was started with.\n\u003cul\u003e\n\u003cli\u003eFor example, if your default Node.js version is 24.14.1 but \u003cem\u003elint-staged\u003c/em\u003e is run with the latest version 25.9.0, the tasks spawned by \u003cem\u003elint-staged\u003c/em\u003e will now also use version 25.9.0. Previously they were spawned using 24.14.1.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.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\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\u003e17.0.0\u003c/h2\u003e\n\u003ch3\u003eMajor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1745\"\u003e#1745\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e244adfab430be95803e74b20acf518517054c9f\"\u003e\u003ccode\u003ee244adf\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - \u003cstrong\u003eNode.js v20 is no longer supported, and the oldest supported version is now \u003ccode\u003e22.22.1\u003c/code\u003e\u003c/strong\u003e, which is an active LTS version at the time of this release. Node.js 20 will be EOL after April 2026. Please upgrade your Node.js version!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1676\"\u003e#1676\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/0584e0b8824a07ea4d0151f2c17fc37c4905a421\"\u003e\u003ccode\u003e0584e0b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/outslept\"\u003e\u003ccode\u003e@​outslept\u003c/code\u003e\u003c/a\u003e! - \u003cem\u003eLint-staged\u003c/em\u003e now tries to verify the installed Git version is at least \u003ccode\u003e2.32.0\u003c/code\u003e, released in 2021. If you're using an even older Git version, you need to \u003ca href=\"https://git-scm.com/install/mac\"\u003eupgrade\u003c/a\u003e it before running \u003cem\u003elint-staged\u003c/em\u003e!\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1745\"\u003e#1745\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/2dcc40a1a98aea20d38f76031ac30b278f81682a\"\u003e\u003ccode\u003e2dcc40a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - The dependency \u003ccode\u003eyaml\u003c/code\u003e is now marked as optional and probably won't be installed by default. If you're using a YAML configuration file you should install the package separately:\u003c/p\u003e\n\u003cpre lang=\"shell\"\u003e\u003ccode\u003enpm install --development yaml\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eIf you're using \u003ccode\u003e.lintstagedrc\u003c/code\u003e as the config file name (without a file extension), it will be treated as a YAML file. If the content is JSON, consider renaming it to \u003ccode\u003e.lintstagedrc.json\u003c/code\u003e to avoid needing to install \u003ccode\u003eyaml\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1748\"\u003e#1748\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/809d5ef0a66edb2b26b233d33ce8e14af6c978e7\"\u003e\u003ccode\u003e809d5ef\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Add new option \u003ccode\u003e--hide-all\u003c/code\u003e for hiding all unstaged changes and untracked files, before running tasks. This makes it easier to run tools like \u003ca href=\"https://knip.dev\"\u003eKnip\u003c/a\u003e which check for unused code. Untracked files are included in the backup stash and restored automatically after running.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/2862964b2429df8df2aae05ff7b73cf69f440c90\"\u003e\u003ccode\u003e2862964\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1789\"\u003e#1789\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/c9ecd54417e1fb698fba0377c912a5ac819a51b8\"\u003e\u003ccode\u003ec9ecd54\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/cc6b51ab2d1564ebe27f47a9eba02b74353805bc\"\u003e\u003ccode\u003ecc6b51a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1788\"\u003e#1788\u003c/a\u003e from lint-staged/fix-update-index-again\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/f95c1f8df3368758c44c2052e568aac1b3d4c767\"\u003e\u003ccode\u003ef95c1f8\u003c/code\u003e\u003c/a\u003e fix: update both default index.lock and non-standard lock when latter exists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/f44ee688dd1c7070f32cde8ca1f910d7f8a96e3e\"\u003e\u003ccode\u003ef44ee68\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1786\"\u003e#1786\u003c/a\u003e from lint-staged/update-repo-url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/a61cf18ea5af3bfa06623bed1f80217fe3865871\"\u003e\u003ccode\u003ea61cf18\u003c/code\u003e\u003c/a\u003e build(deps): update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/ea00037e1f399f7b36252e0c558c9d3dbb026435\"\u003e\u003ccode\u003eea00037\u003c/code\u003e\u003c/a\u003e docs: disable Changesets \u0026quot;thanks\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/ab7c26c826f9e97823bab42aac0515f2b4b9f0f6\"\u003e\u003ccode\u003eab7c26c\u003c/code\u003e\u003c/a\u003e docs: update repo URL to point in \u003ccode\u003elint-staged/lint-staged\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/a36ec1eab4e2a24f7599377a11b0b3cb0f692bd0\"\u003e\u003ccode\u003ea36ec1e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1783\"\u003e#1783\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/03ce2a9dea52523f3cc69bf279d1049558859272\"\u003e\u003ccode\u003e03ce2a9\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.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `np` from 11.1.0 to 11.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/np/releases\"\u003enp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip Node.js engine check for prerelease-to-prerelease bumps  abfe30b\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/np/compare/v11.2.0...v11.2.1\"\u003ehttps://github.com/sindresorhus/np/compare/v11.2.0...v11.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev11.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ca href=\"https://docs.npmjs.com/cli/v11/configuring-npm/package-json#devengines\"\u003e\u003ccode\u003edevEngines.packageManager\u003c/code\u003e\u003c/a\u003e support (\u003ca href=\"https://redirect.github.com/sindresorhus/np/issues/789\"\u003e#789\u003c/a\u003e)  03d4787\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/np/compare/v11.1.0...v11.2.0\"\u003ehttps://github.com/sindresorhus/np/compare/v11.1.0...v11.2.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/np/commit/18096016854e9d1cd310f5e858e4190779d1f42f\"\u003e\u003ccode\u003e1809601\u003c/code\u003e\u003c/a\u003e 11.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/np/commit/abfe30bdaa5b3c73594b2625a4c496855c857c0b\"\u003e\u003ccode\u003eabfe30b\u003c/code\u003e\u003c/a\u003e Skip Node.js engine check for prerelease-to-prerelease bumps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/np/commit/055dbf139d23c5d7269115141d80e67b6bb64839\"\u003e\u003ccode\u003e055dbf1\u003c/code\u003e\u003c/a\u003e 11.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/np/commit/03d47873d941acf0ab853530112a98235849762a\"\u003e\u003ccode\u003e03d4787\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003edevEngines.packageManager\u003c/code\u003e support (\u003ca href=\"https://redirect.github.com/sindresorhus/np/issues/789\"\u003e#789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sindresorhus/np/compare/v11.1.0...v11.2.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/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/rudderlabs/rudder-sdk-node/pull/413","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rudderlabs%2Frudder-sdk-node/issues/413","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/413/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-19T01:48:39.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4473793152","node_id":"PR_kwDOSOO1Bs7c4sYJ","number":20,"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-25T22:17:33.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T01:48:39.000Z","updated_at":"2026-05-25T22:17:35.000Z","time_to_close":592134,"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\u003ev15.8.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNo significant changes\u003c/em\u003e\u003c/p\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--044/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyakh1%2Fhiero-mirror-node--044/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-19T00:24:39.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4473491023","node_id":"PR_kwDOSOOsLs7c3vqi","number":20,"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-25T20:51:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T00:24:39.000Z","updated_at":"2026-05-25T20:51:48.000Z","time_to_close":592027,"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\u003ev15.8.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNo significant changes\u003c/em\u003e\u003c/p\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--017/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyakh1%2Fhiero-mirror-node--017/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"}},{"old_version":"17.0.1","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-18T23:39:04.000Z","version_change":"17.0.1 → 22.0.0","issue":{"uuid":"4473309638","node_id":"PR_kwDOK1oayc7c3KyI","number":257,"state":"open","title":"Bump sinon from 17.0.1 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-18T23:39:04.000Z","updated_at":"2026-05-18T23:49:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"sinon","old_version":"17.0.1","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 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/v17.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","html_url":"https://github.com/iobroker-community-adapters/ioBroker.solaredge/pull/257","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/iobroker-community-adapters%2FioBroker.solaredge/issues/257","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/257/packages"}},{"old_version":"15.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-18T20:32:55.000Z","version_change":"15.1.2 → 22.0.0","issue":{"uuid":"4472373476","node_id":"PR_kwDOShQW287c0J7Z","number":5,"state":"closed","title":"chore(deps-dev): bump the testing group with 2 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":7,"pull_request":true,"closed_at":"2026-05-18T21:58:15.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-18T20:32:55.000Z","updated_at":"2026-05-19T00:01:06.494Z","time_to_close":5120,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"testing","update_count":2,"packages":[{"name":"sinon","old_version":"15.1.2","new_version":"22.0.0","repository_url":"https://github.com/sinonjs/sinon"},{"name":"superagent-mock","old_version":"4.0.0","new_version":"5.0.1","repository_url":"https://github.com/M6Web/superagent-mock"}],"path":null,"ecosystem":"npm"},"body":"Bumps the testing group with 2 updates: [sinon](https://github.com/sinonjs/sinon) and [superagent-mock](https://github.com/M6Web/superagent-mock).\n\nUpdates `sinon` from 15.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/v15.1.2...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\nUpdates `superagent-mock` from 4.0.0 to 5.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/M6Web/superagent-mock/releases\"\u003esuperagent-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003esuperagent\u003c/code\u003e version from \u003ccode\u003e3.8.3\u003c/code\u003e to \u003ccode\u003e8.0.9\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependencies with \u003ccode\u003esuperagent\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eDrop the testing value \u003ccode\u003esuperagentUserAgentHeader\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd prettier in the project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd NodeJS 18\u003c/li\u003e\n\u003cli\u003edrop support of NodeJS \u0026lt; 16\u003c/li\u003e\n\u003c/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/M6Web/superagent-mock/commits\"\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/Monoradioactivo/aether-cli/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monoradioactivo%2Faether-cli/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-18T05:45:06.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4466576726","node_id":"PR_kwDOSOOwLM7chVJx","number":20,"state":"closed","title":"Bump the dependencies group across 1 directory with 8 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-25T05:38:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-18T05:45:06.000Z","updated_at":"2026-05-25T05:38:05.000Z","time_to_close":604377,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":8,"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":"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 7 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| [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 `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 improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove \u003ccode\u003eCREATE CONSTRAINT TRIGGER\u003c/code\u003e formatting (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch from \u003ccode\u003eyarn\u003c/code\u003e to \u003ccode\u003epnpm\u003c/code\u003e (\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\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--029/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyakh1%2Fhiero-mirror-node--029/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-18T02:16:05.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4465800885","node_id":"PR_kwDOMxCQNM7ce4-R","number":251,"state":"open","title":"chore(deps-dev): bump sinon from 21.1.2 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-05-18T02:16:05.000Z","updated_at":"2026-05-18T02:19:48.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":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/aditosoftware/vscode-liquibase/pull/251","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aditosoftware%2Fvscode-liquibase/issues/251","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/251/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-18T01:20:24.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4465611980","node_id":"PR_kwDOSOOrM87ceTjs","number":20,"state":"closed","title":"Bump the dependencies group across 1 directory with 8 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-25T01:16:19.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-18T01:20:24.000Z","updated_at":"2026-05-25T01:16:21.000Z","time_to_close":604555,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":8,"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":"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 7 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| [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 `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 improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove \u003ccode\u003eCREATE CONSTRAINT TRIGGER\u003c/code\u003e formatting (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch from \u003ccode\u003eyarn\u003c/code\u003e to \u003ccode\u003epnpm\u003c/code\u003e (\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\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--014/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyakh1%2Fhiero-mirror-node--014/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"}},{"old_version":"8.1.1","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-17T11:25:27.000Z","version_change":"8.1.1 → 22.0.0","issue":{"uuid":"4463300953","node_id":"PR_kwDOD6WI587cXZMw","number":218,"state":"open","title":"Bump sinon from 8.1.1 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-17T11:25:27.000Z","updated_at":"2026-05-21T11:43:24.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"sinon","old_version":"8.1.1","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 8.1.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/v8.1.1...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/iobroker-community-adapters/ioBroker.legrand-ecocompteur/pull/218","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/iobroker-community-adapters%2FioBroker.legrand-ecocompteur/issues/218","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/218/packages"}},{"old_version":"13.0.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-17T01:18:52.000Z","version_change":"13.0.2 → 22.0.0","issue":{"uuid":"4461879258","node_id":"PR_kwDOCq1ct87cTO_G","number":504,"state":"open","title":"Bump sinon from 13.0.2 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-05-17T01:18:52.000Z","updated_at":"2026-05-17T01:22:47.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"sinon","old_version":"13.0.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 13.0.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/v13.0.2...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=13.0.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/iobroker-community-adapters/ioBroker.iqontrol/pull/504","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/iobroker-community-adapters%2FioBroker.iqontrol/issues/504","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/504/packages"}},{"old_version":"18.0.0","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-16T09:48:10.000Z","version_change":"18.0.0 → 22.0.0","issue":{"uuid":"4459473892","node_id":"PR_kwDOBdk-Hc7cMLLV","number":536,"state":"open","title":"Bump sinon from 18.0.0 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-05-16T09:48:10.000Z","updated_at":"2026-05-16T09:49:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"sinon","old_version":"18.0.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 18.0.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/v18.0.0...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=18.0.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/iobroker-community-adapters/ioBroker.broadlink2/pull/536","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/iobroker-community-adapters%2FioBroker.broadlink2/issues/536","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/536/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-15T06:48:16.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4451905672","node_id":"PR_kwDOSRkdbM7b0Bm4","number":20,"state":"closed","title":"Bump the dependencies group across 1 directory with 7 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-22T06:48:09.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-15T06:48:16.000Z","updated_at":"2026-05-22T06:48:11.000Z","time_to_close":604793,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":7,"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":"sql-formatter","old_version":"15.7.3","new_version":"15.7.4","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 6 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| [sql-formatter](https://github.com/sql-formatter-org/sql-formatter) | `15.7.3` | `15.7.4` |\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 `sql-formatter` from 15.7.3 to 15.7.4\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.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/7bdeba552e0bc63681e7ce1bf2a95bbf3c3b7401\"\u003e\u003ccode\u003e7bdeba5\u003c/code\u003e\u003c/a\u003e Release v15.7.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/995291c30b42b119abeb4141dba8d952c961108c\"\u003e\u003ccode\u003e995291c\u003c/code\u003e\u003c/a\u003e fix(sqlite): support Tcl-style $param(...) syntax (\u003ca href=\"https://redirect.github.com/sql-formatter-org/sql-formatter/issues/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/37b69eed8948c5e081f029bef85ec7e97f861cfa\"\u003e\u003ccode\u003e37b69ee\u003c/code\u003e\u003c/a\u003e Add Sai Asish Y to AUTHORS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/1729b55597e15ce7c2cb55f71b8804513d10aecb\"\u003e\u003ccode\u003e1729b55\u003c/code\u003e\u003c/a\u003e fix(sqlite): support Tcl-style $param(...) syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/commit/a66b90020b7373155aa2e95a1bdc7d18055ae601\"\u003e\u003ccode\u003ea66b900\u003c/code\u003e\u003c/a\u003e Add nuintun to AUTHORS\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sql-formatter-org/sql-formatter/compare/v15.7.3...v15.7.4\"\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/oyakhilo20/hiero-mirror-node--020/pull/20","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oyakhilo20%2Fhiero-mirror-node--020/issues/20","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/20/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-13T06:44:53.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4435549101","node_id":"PR_kwDOAxsMsM7a_o5H","number":14168,"state":"open","title":"Bump sinon from 21.1.2 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-05-13T06:44:53.000Z","updated_at":"2026-05-13T06:49:01.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/mozilla/addons-frontend/pull/14168","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Faddons-frontend/issues/14168","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14168/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-12T05:40:20.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4426506697","node_id":"PR_kwDOAvTOKM7aiWNa","number":774,"state":"open","title":"deps: bump sinon from 21.1.2 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-05-12T05:40:20.000Z","updated_at":"2026-05-12T05:42:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps","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/u-wave/core/pull/774","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/u-wave%2Fcore/issues/774","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/774/packages"}},{"old_version":"21.1.2","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-12T05:38:54.000Z","version_change":"21.1.2 → 22.0.0","issue":{"uuid":"4426499722","node_id":"PR_kwDOQH6Oz87aiUsa","number":82,"state":"open","title":"[npm]: bump sinon from 21.1.2 to 22.0.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-12T05:38:54.000Z","updated_at":"2026-05-12T05:38:55.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[npm]","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/jyjeanne/ditacraft/pull/82","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jyjeanne%2Fditacraft/issues/82","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/82/packages"}},{"old_version":"21.0.1","new_version":"22.0.0","update_type":"major","path":null,"pr_created_at":"2026-05-12T01:39:45.000Z","version_change":"21.0.1 → 22.0.0","issue":{"uuid":"4425524893","node_id":"PR_kwDOHRlwv87afNiF","number":127,"state":"open","title":"Bump sinon from 21.0.1 to 22.0.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-12T01:39:45.000Z","updated_at":"2026-05-12T01:39:45.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"sinon","old_version":"21.0.1","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.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\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/jonkoops/Leaflet/pull/127","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonkoops%2FLeaflet/issues/127","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/127/packages"}}]}