{"id":1347,"name":"jest","ecosystem":"npm","repository_url":"https://github.com/jestjs/jest","issues_count":31180,"created_at":"2025-06-06T15:01:43.334Z","updated_at":"2025-06-06T15:01:43.334Z","purl":"pkg:npm/jest","metadata":{"id":1891537,"name":"jest","ecosystem":"npm","description":"Delightful JavaScript Testing.","homepage":"https://jestjs.io/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/jestjs/jest","keywords_array":["ava","babel","coverage","easy","expect","facebook","immersive","instant","jasmine","jest","jsdom","mocha","mocking","painless","qunit","runner","sandboxed","snapshot","tap","tape","test","testing","typescript","watch"],"namespace":null,"versions_count":364,"first_release_published_at":"2012-02-22T15:25:48.298Z","latest_release_published_at":"2023-09-12T06:44:08.561Z","latest_release_number":"29.7.0","last_synced_at":"2025-06-06T00:13:53.180Z","created_at":"2022-04-09T17:58:32.930Z","updated_at":"2025-06-06T00:13:53.181Z","registry_url":"https://www.npmjs.com/package/jest","install_command":"npm install jest","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"29.7.0","next":"30.0.0-beta.9"}},"repo_metadata":{"id":12409137,"uuid":"15062869","full_name":"jestjs/jest","owner":"jestjs","description":"Delightful JavaScript Testing.","archived":false,"fork":false,"pushed_at":"2024-09-05T16:47:35.000Z","size":304865,"stargazers_count":44030,"open_issues_count":351,"forks_count":6428,"subscribers_count":556,"default_branch":"main","last_synced_at":"2024-09-06T13:04:48.940Z","etag":null,"topics":["easy","expectation","facebook","immersive","javascript","painless","painless-javascript-testing","snapshot","testing"],"latest_commit_sha":null,"homepage":"https://jestjs.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jestjs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":".github/SUPPORT.md","governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"open_collective":"jest"}},"created_at":"2013-12-10T00:18:04.000Z","updated_at":"2024-09-06T04:42:13.000Z","dependencies_parsed_at":"2023-07-27T20:29:32.015Z","dependency_job_id":"2e0b852d-4361-4cf4-83b2-6eba7bdbfc6a","html_url":"https://github.com/jestjs/jest","commit_stats":{"total_commits":7003,"total_committers":1679,"mean_commits":4.170935080405003,"dds":0.762958731972012,"last_synced_commit":"bd1c6db7c15c23788ca3e09c919138e48dd3b28a"},"previous_names":["facebook/jest"],"tags_count":296,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jestjs","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":217800210,"owners_count":16232339,"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":"jestjs","name":"Jest","uuid":"103283236","kind":"organization","description":"Delightful JavaScript Testing Framework with a focus on simplicity.","email":null,"website":"https://jestjs.io","location":null,"twitter":"fbjest","company":null,"icon_url":"https://avatars.githubusercontent.com/u/103283236?v=4","repositories_count":2,"last_synced_at":"2024-04-18T06:05:04.569Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/jestjs","funding_links":[],"total_stars":43551,"followers":150,"following":0,"created_at":"2023-04-22T04:18:19.657Z","updated_at":"2024-04-18T06:05:05.121Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jestjs","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jestjs/repositories"},"tags":[{"name":"v30.0.0-alpha.6","sha":"ba74b7de1b9cca88daf33f9d1b46bfe2b7f485a5","kind":"tag","published_at":"2024-08-08T07:42:52.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v30.0.0-alpha.6","html_url":"https://github.com/jestjs/jest/releases/tag/v30.0.0-alpha.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v30.0.0-alpha.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v30.0.0-alpha.6/manifests"},{"name":"v30.0.0-alpha.5","sha":"fa24a3bdd6682978d76799265016fb9d5bff135e","kind":"tag","published_at":"2024-05-30T12:43:49.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v30.0.0-alpha.5","html_url":"https://github.com/jestjs/jest/releases/tag/v30.0.0-alpha.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v30.0.0-alpha.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v30.0.0-alpha.5/manifests"},{"name":"v30.0.0-alpha.4","sha":"32b966f988d47a7673d2ef4b92e834dab7d66f07","kind":"tag","published_at":"2024-05-12T21:43:11.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v30.0.0-alpha.4","html_url":"https://github.com/jestjs/jest/releases/tag/v30.0.0-alpha.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v30.0.0-alpha.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v30.0.0-alpha.4/manifests"},{"name":"v30.0.0-alpha.3","sha":"e267aff33d105399f2134bad7c8f82285104f3da","kind":"tag","published_at":"2024-02-20T11:08:41.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v30.0.0-alpha.3","html_url":"https://github.com/jestjs/jest/releases/tag/v30.0.0-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v30.0.0-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v30.0.0-alpha.3/manifests"},{"name":"v30.0.0-alpha.2","sha":"c04d13d7abd22e47b0997f6027886aed225c9ce4","kind":"tag","published_at":"2023-11-16T09:28:10.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v30.0.0-alpha.2","html_url":"https://github.com/jestjs/jest/releases/tag/v30.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v30.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v30.0.0-alpha.2/manifests"},{"name":"v30.0.0-alpha.1","sha":"d005cb2505c041583e0c5636d006e08666a54b63","kind":"tag","published_at":"2023-10-30T13:32:42.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v30.0.0-alpha.1","html_url":"https://github.com/jestjs/jest/releases/tag/v30.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v30.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v30.0.0-alpha.1/manifests"},{"name":"v29.7.0","sha":"4e56991693da7cd4c3730dc3579a1dd1403ee630","kind":"tag","published_at":"2023-09-12T06:43:35.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.7.0","html_url":"https://github.com/jestjs/jest/releases/tag/v29.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.7.0/manifests"},{"name":"v29.6.4","sha":"55cd6a0aaf6f9178199dfa7af7a00fcaa7c421fd","kind":"tag","published_at":"2023-08-24T11:10:21.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.6.4","html_url":"https://github.com/jestjs/jest/releases/tag/v29.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.6.4/manifests"},{"name":"v29.6.3","sha":"fb7d95c8af6e0d65a8b65348433d8a0ea0725b5b","kind":"tag","published_at":"2023-08-21T12:38:52.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.6.3","html_url":"https://github.com/jestjs/jest/releases/tag/v29.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.6.3/manifests"},{"name":"v29.6.2","sha":"0fd5b1c37555f485c56a6ad2d6b010a72204f9f6","kind":"tag","published_at":"2023-07-27T09:21:22.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.6.2","html_url":"https://github.com/jestjs/jest/releases/tag/v29.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.6.2/manifests"},{"name":"v29.6.1","sha":"1f019afdcdfc54a6664908bb45f343db4e3d0848","kind":"tag","published_at":"2023-07-06T14:18:02.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.6.1","html_url":"https://github.com/jestjs/jest/releases/tag/v29.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.6.1/manifests"},{"name":"v29.6.0","sha":"c1e5b8a38ef54bb138409f89831942ebf6a7a67e","kind":"tag","published_at":"2023-07-04T15:25:37.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.6.0","html_url":"https://github.com/jestjs/jest/releases/tag/v29.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.6.0/manifests"},{"name":"v29.5.0","sha":"39f3beda6b396665bebffab94e8d7c45be30454c","kind":"tag","published_at":"2023-03-06T13:33:20.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.5.0","html_url":"https://github.com/jestjs/jest/releases/tag/v29.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.5.0/manifests"},{"name":"v29.4.3","sha":"a49c88610e49a3242576160740a32a2fe11161e1","kind":"tag","published_at":"2023-02-15T11:57:12.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.4.3","html_url":"https://github.com/jestjs/jest/releases/tag/v29.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.4.3/manifests"},{"name":"v29.4.2","sha":"f0fc92e8443f09546c7ec0472bf9bce44fe5898f","kind":"tag","published_at":"2023-02-07T13:45:18.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.4.2","html_url":"https://github.com/jestjs/jest/releases/tag/v29.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.4.2/manifests"},{"name":"v29.4.1","sha":"bc84c8a15649aaaefdd624dc83824518c17467ed","kind":"tag","published_at":"2023-01-26T15:08:27.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.4.1","html_url":"https://github.com/jestjs/jest/releases/tag/v29.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.4.1/manifests"},{"name":"v29.4.0","sha":"4bc0e8acaf990e6618a7bed1dca67760c20bb12a","kind":"tag","published_at":"2023-01-24T10:55:39.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.4.0","html_url":"https://github.com/jestjs/jest/releases/tag/v29.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.4.0/manifests"},{"name":"v29.3.1","sha":"05deb8393c4ad71e19be2567b704dfd3a2ab5fc9","kind":"tag","published_at":"2022-11-08T22:56:14.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.3.1","html_url":"https://github.com/jestjs/jest/releases/tag/v29.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.3.1/manifests"},{"name":"v29.3.0","sha":"84b8de987b33e2da20dc833aeb65f23d72a673cd","kind":"tag","published_at":"2022-11-07T17:55:41.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.3.0","html_url":"https://github.com/jestjs/jest/releases/tag/v29.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.3.0/manifests"},{"name":"v29.2.2","sha":"0a8edbe0ac434394a16cc173a03ff54a9cc50e41","kind":"tag","published_at":"2022-10-24T20:24:01.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.2.2","html_url":"https://github.com/jestjs/jest/releases/tag/v29.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.2.2/manifests"},{"name":"v29.2.1","sha":"4551c0fdd4d25b7206824957c7bcc6baf61e63bf","kind":"tag","published_at":"2022-10-18T16:00:03.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.2.1","html_url":"https://github.com/jestjs/jest/releases/tag/v29.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.2.1/manifests"},{"name":"v29.2.0","sha":"ee5b37a4f4433afcfffb0356cea47739d8092287","kind":"tag","published_at":"2022-10-14T09:13:36.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.2.0","html_url":"https://github.com/jestjs/jest/releases/tag/v29.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.2.0/manifests"},{"name":"v29.1.2","sha":"3c31dd619e8c022cde53f40fa12ea2a67f4752ce","kind":"tag","published_at":"2022-09-30T07:22:36.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.1.2","html_url":"https://github.com/jestjs/jest/releases/tag/v29.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.1.2/manifests"},{"name":"v29.1.1","sha":"fd9cd900ad0904421a3d97661fdc3337194da1f9","kind":"tag","published_at":"2022-09-28T08:05:25.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.1.1","html_url":"https://github.com/jestjs/jest/releases/tag/v29.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.1.1/manifests"},{"name":"v29.1.0","sha":"51f10300daf90db003a1749ceaed1084c4f74811","kind":"tag","published_at":"2022-09-28T07:37:31.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.1.0","html_url":"https://github.com/jestjs/jest/releases/tag/v29.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.1.0/manifests"},{"name":"v29.0.3","sha":"77f865da39af5b3e1c114dc347e49257eb3dcfd1","kind":"tag","published_at":"2022-09-10T14:41:31.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.0.3","html_url":"https://github.com/jestjs/jest/releases/tag/v29.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.3/manifests"},{"name":"v29.0.2","sha":"616fcf56bb8481d29ba29cc34be32a92b1cf85e5","kind":"tag","published_at":"2022-09-03T10:48:12.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.0.2","html_url":"https://github.com/jestjs/jest/releases/tag/v29.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.2/manifests"},{"name":"v29.0.1","sha":"b959a3d3bdf324ed1c7358f76ab238a8b0b0cf93","kind":"tag","published_at":"2022-08-26T13:34:34.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.0.1","html_url":"https://github.com/jestjs/jest/releases/tag/v29.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.1/manifests"},{"name":"v29.0.0","sha":"75006e46c76f6fda14bbc0548f86edb2ba087cd2","kind":"tag","published_at":"2022-08-25T12:33:19.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.0.0","html_url":"https://github.com/jestjs/jest/releases/tag/v29.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.0/manifests"},{"name":"v29.0.0-alpha.6","sha":"4def94b073cad300e99de378ba900e6ba9b7032f","kind":"tag","published_at":"2022-08-19T13:57:37.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.0.0-alpha.6","html_url":"https://github.com/jestjs/jest/releases/tag/v29.0.0-alpha.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.0-alpha.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.0-alpha.6/manifests"},{"name":"v29.0.0-alpha.5","sha":"63e506b5d1558a9132a8fa65151407b0a40be3a5","kind":"tag","published_at":"2022-08-11T13:40:53.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.0.0-alpha.5","html_url":"https://github.com/jestjs/jest/releases/tag/v29.0.0-alpha.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.0-alpha.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.0-alpha.5/manifests"},{"name":"v29.0.0-alpha.4","sha":"98a833bd4bc0bdcfcee5d4f04c2833400c4e2933","kind":"tag","published_at":"2022-08-08T13:05:25.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.0.0-alpha.4","html_url":"https://github.com/jestjs/jest/releases/tag/v29.0.0-alpha.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.0-alpha.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.0-alpha.4/manifests"},{"name":"v29.0.0-alpha.3","sha":"09981873c55442e5e494d42012f518b7d3d41fbd","kind":"tag","published_at":"2022-08-07T13:41:27.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.0.0-alpha.3","html_url":"https://github.com/jestjs/jest/releases/tag/v29.0.0-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.0-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.0-alpha.3/manifests"},{"name":"v29.0.0-alpha.1","sha":"10f1e7f52d9f876e6fb7f20c1903fdcddd8db8b1","kind":"tag","published_at":"2022-08-04T08:23:22.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.0.0-alpha.1","html_url":"https://github.com/jestjs/jest/releases/tag/v29.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.0-alpha.1/manifests"},{"name":"v29.0.0-alpha.0","sha":"6862afb00307b52f32eedee977a9b3041355f184","kind":"tag","published_at":"2022-07-17T22:07:00.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v29.0.0-alpha.0","html_url":"https://github.com/jestjs/jest/releases/tag/v29.0.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v29.0.0-alpha.0/manifests"},{"name":"v28.1.3","sha":"2cce069800dab3fc8ca7c469b32d2e2b2f7e2bb1","kind":"tag","published_at":"2022-07-13T14:12:20.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.1.3","html_url":"https://github.com/jestjs/jest/releases/tag/v28.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.1.3/manifests"},{"name":"v28.1.2","sha":"789965efec4253fc54ceb3539711b3a3a6604d94","kind":"tag","published_at":"2022-06-29T10:33:52.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.1.2","html_url":"https://github.com/jestjs/jest/releases/tag/v28.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.1.2/manifests"},{"name":"v28.1.1","sha":"eb954f8874960920ac50a8f976bb333fbb06ada9","kind":"tag","published_at":"2022-06-07T06:09:29.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.1.1","html_url":"https://github.com/jestjs/jest/releases/tag/v28.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.1.1/manifests"},{"name":"v28.1.0","sha":"f5db241312f46528389e55c38221e6b6968622cf","kind":"tag","published_at":"2022-05-06T10:48:47.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.1.0","html_url":"https://github.com/jestjs/jest/releases/tag/v28.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.1.0/manifests"},{"name":"v28.0.3","sha":"1bea778422dc049b0fb3d7da809ffec39be549ff","kind":"tag","published_at":"2022-04-29T10:44:20.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.0.3","html_url":"https://github.com/jestjs/jest/releases/tag/v28.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.3/manifests"},{"name":"v28.0.2","sha":"279ee6658d763f024d51f340fab6a37c17d94502","kind":"tag","published_at":"2022-04-27T07:43:53.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.0.2","html_url":"https://github.com/jestjs/jest/releases/tag/v28.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.2/manifests"},{"name":"v28.0.1","sha":"0a08639e4299f07becf1020a761adfec83536018","kind":"tag","published_at":"2022-04-26T10:02:26.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.0.1","html_url":"https://github.com/jestjs/jest/releases/tag/v28.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.1/manifests"},{"name":"v28.0.0","sha":"8f9b812faf8e4d241d560a8574f0c6ed20a89365","kind":"tag","published_at":"2022-04-25T12:07:55.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.0.0","html_url":"https://github.com/jestjs/jest/releases/tag/v28.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0/manifests"},{"name":"v28.0.0-alpha.11","sha":"8b4b78759d255746f11e396efe7d06ac93dbd05b","kind":"tag","published_at":"2022-04-20T13:30:52.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.0.0-alpha.11","html_url":"https://github.com/jestjs/jest/releases/tag/v28.0.0-alpha.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.11/manifests"},{"name":"v28.0.0-alpha.10","sha":"d5eda7f23571081cea24760261d209ff3e01a084","kind":"tag","published_at":"2022-04-20T07:37:26.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.0.0-alpha.10","html_url":"https://github.com/jestjs/jest/releases/tag/v28.0.0-alpha.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.10/manifests"},{"name":"v28.0.0-alpha.9","sha":"7c63f5981eb20d4b89a4c04f3675e0050d8d7887","kind":"tag","published_at":"2022-04-19T10:59:06.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.0.0-alpha.9","html_url":"https://github.com/jestjs/jest/releases/tag/v28.0.0-alpha.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.9/manifests"},{"name":"v28.0.0-alpha.8","sha":"d915e7df92b220dbe6e124585ba6459838a6c41c","kind":"tag","published_at":"2022-04-05T14:59:31.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.0.0-alpha.8","html_url":"https://github.com/jestjs/jest/releases/tag/v28.0.0-alpha.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.8/manifests"},{"name":"v28.0.0-alpha.7","sha":"06f58f8ca70abc9c09d554967935b58ce85c48d6","kind":"tag","published_at":"2022-03-06T10:02:33.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.0.0-alpha.7","html_url":"https://github.com/jestjs/jest/releases/tag/v28.0.0-alpha.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.7/manifests"},{"name":"v28.0.0-alpha.6","sha":"6284ada4adb7008f5f8673b1a7b1c789d2e508fb","kind":"tag","published_at":"2022-03-01T08:32:17.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.0.0-alpha.6","html_url":"https://github.com/jestjs/jest/releases/tag/v28.0.0-alpha.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.6/manifests"},{"name":"v28.0.0-alpha.5","sha":"46fb19b2628bd87676c10730ba19592c30b05478","kind":"tag","published_at":"2022-02-24T20:57:10.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.0.0-alpha.5","html_url":"https://github.com/jestjs/jest/releases/tag/v28.0.0-alpha.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.5/manifests"},{"name":"v28.0.0-alpha.4","sha":"c13dab19491ba6b57c2d703e7d7c4b20189e1e17","kind":"tag","published_at":"2022-02-22T12:13:48.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.0.0-alpha.4","html_url":"https://github.com/jestjs/jest/releases/tag/v28.0.0-alpha.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.4/manifests"},{"name":"v28.0.0-alpha.3","sha":"fc30b27bd94bb7ebeaadc72626ebbdba535150d2","kind":"tag","published_at":"2022-02-17T15:42:12.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.0.0-alpha.3","html_url":"https://github.com/jestjs/jest/releases/tag/v28.0.0-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.3/manifests"},{"name":"v28.0.0-alpha.2","sha":"694d6bfea56f9cb49d0c7309cdbfff032da198c2","kind":"tag","published_at":"2022-02-16T18:11:49.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.0.0-alpha.2","html_url":"https://github.com/jestjs/jest/releases/tag/v28.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.2/manifests"},{"name":"v28.0.0-alpha.1","sha":"d30164dde1847166fa0faec98d20abffd85e6ffd","kind":"tag","published_at":"2022-02-15T21:26:42.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.0.0-alpha.1","html_url":"https://github.com/jestjs/jest/releases/tag/v28.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.1/manifests"},{"name":"v28.0.0-alpha.0","sha":"89275b08977065d98e42ad71fcf223f4ad169f09","kind":"tag","published_at":"2022-02-10T18:17:20.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v28.0.0-alpha.0","html_url":"https://github.com/jestjs/jest/releases/tag/v28.0.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v28.0.0-alpha.0/manifests"},{"name":"v27.5.1","sha":"67c1aa20c5fec31366d733e901fee2b981cb1850","kind":"tag","published_at":"2022-02-08T10:52:04.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.5.1","html_url":"https://github.com/jestjs/jest/releases/tag/v27.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.5.1/manifests"},{"name":"v27.5.0","sha":"247cbe6026a590deaf0d23edecc7b2779a4aace9","kind":"tag","published_at":"2022-02-05T09:59:11.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.5.0","html_url":"https://github.com/jestjs/jest/releases/tag/v27.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.5.0/manifests"},{"name":"v27.4.7","sha":"91b898ce6d1908378346b11f732768bd345f3592","kind":"tag","published_at":"2022-01-05T13:05:32.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.4.7","html_url":"https://github.com/jestjs/jest/releases/tag/v27.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.4.7/manifests"},{"name":"v27.4.6","sha":"644d2d3e53536b0d67e395c0f35f8555a67beb1e","kind":"tag","published_at":"2022-01-04T23:03:26.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.4.6","html_url":"https://github.com/jestjs/jest/releases/tag/v27.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.4.6/manifests"},{"name":"v27.4.5","sha":"73f3a5743b9e5b16c9b7a69e2705f07ba7a010ea","kind":"tag","published_at":"2021-12-13T19:36:32.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.4.5","html_url":"https://github.com/jestjs/jest/releases/tag/v27.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.4.5/manifests"},{"name":"v27.4.4","sha":"e2316126b2e4b9b4272e5a0b651c3cb5b0306369","kind":"tag","published_at":"2021-12-10T04:43:02.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.4.4","html_url":"https://github.com/jestjs/jest/releases/tag/v27.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.4.4/manifests"},{"name":"v27.4.3","sha":"6b4fcbc13712d56d95dd245866e923ffae78a187","kind":"tag","published_at":"2021-12-01T14:00:14.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.4.3","html_url":"https://github.com/jestjs/jest/releases/tag/v27.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.4.3/manifests"},{"name":"v27.4.2","sha":"7965591f785e936ada194f9d58f852735b50ab1c","kind":"tag","published_at":"2021-11-30T11:53:28.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.4.2","html_url":"https://github.com/jestjs/jest/releases/tag/v27.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.4.2/manifests"},{"name":"v27.4.1","sha":"fa4a3982766b107ff604ba54081d9e4378f318a9","kind":"tag","published_at":"2021-11-30T08:36:58.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.4.1","html_url":"https://github.com/jestjs/jest/releases/tag/v27.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.4.1/manifests"},{"name":"v27.4.0","sha":"0dc6dde296550370ade2574d6665748fed37f9c9","kind":"tag","published_at":"2021-11-29T13:36:49.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.4.0","html_url":"https://github.com/jestjs/jest/releases/tag/v27.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.4.0/manifests"},{"name":"v27.3.1","sha":"4f3328f3227aa0668486f819b3353af5b6cc797b","kind":"tag","published_at":"2021-10-19T06:57:26.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.3.1","html_url":"https://github.com/jestjs/jest/releases/tag/v27.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.3.1/manifests"},{"name":"v27.3.0","sha":"14b0c2c1d6f81b64adf8b827649ece80a4448cfc","kind":"tag","published_at":"2021-10-17T18:34:40.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.3.0","html_url":"https://github.com/jestjs/jest/releases/tag/v27.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.3.0/manifests"},{"name":"v27.2.5","sha":"251b8014e8e3ac8da2fca88b5a1bc401f3b92326","kind":"tag","published_at":"2021-10-08T13:39:13.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.2.5","html_url":"https://github.com/jestjs/jest/releases/tag/v27.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.2.5/manifests"},{"name":"v27.2.4","sha":"5886f6c4d681aa9fc9bfc2517efd2b7f6035a4cd","kind":"tag","published_at":"2021-09-29T14:04:39.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.2.4","html_url":"https://github.com/jestjs/jest/releases/tag/v27.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.2.4/manifests"},{"name":"v27.2.3","sha":"ae53efe274dee5464d11f1b574d2d825685cd031","kind":"tag","published_at":"2021-09-28T10:11:14.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.2.3","html_url":"https://github.com/jestjs/jest/releases/tag/v27.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.2.3/manifests"},{"name":"v27.2.2","sha":"f54d96fec55518640b900d6994b2c4153316d1ed","kind":"tag","published_at":"2021-09-25T13:35:00.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.2.2","html_url":"https://github.com/jestjs/jest/releases/tag/v27.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.2.2/manifests"},{"name":"v27.2.1","sha":"50862b410c358107ec893cfdd9bb9a689ad8e622","kind":"tag","published_at":"2021-09-20T13:27:57.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.2.1","html_url":"https://github.com/jestjs/jest/releases/tag/v27.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.2.1/manifests"},{"name":"v27.2.0","sha":"b05635c539f8f673dfed5bf05ea727a8d5d7bbe2","kind":"tag","published_at":"2021-09-13T08:06:29.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.2.0","html_url":"https://github.com/jestjs/jest/releases/tag/v27.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.2.0/manifests"},{"name":"v27.1.1","sha":"111198b62dbfc3a730f7b1693e311608e834fe1d","kind":"tag","published_at":"2021-09-08T10:12:03.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.1.1","html_url":"https://github.com/jestjs/jest/releases/tag/v27.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.1.1/manifests"},{"name":"v27.1.0","sha":"5ef792e957e83428d868a18618b8629e32719993","kind":"tag","published_at":"2021-08-27T09:59:23.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.1.0","html_url":"https://github.com/jestjs/jest/releases/tag/v27.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.1.0/manifests"},{"name":"v27.0.6","sha":"d257d1c44ba62079bd4307ae78ba226d47c56ac9","kind":"tag","published_at":"2021-06-28T17:05:22.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.6","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.6/manifests"},{"name":"v27.0.5","sha":"dafa4737dc02887314fd99e4be92781c9f8f9415","kind":"tag","published_at":"2021-06-22T11:10:35.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.5","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.5/manifests"},{"name":"v27.0.4","sha":"b29acb355ae23ccdb2a6248fbbd933fc93f320b9","kind":"tag","published_at":"2021-06-03T08:28:57.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.4","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.4/manifests"},{"name":"v27.0.3","sha":"d10f645b04ba9febb7308392e635c0351d0f027c","kind":"tag","published_at":"2021-05-29T17:47:28.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.3","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.3/manifests"},{"name":"v27.0.2","sha":"7ca8a22b8453e95c63842ee6aa4d8d8d8b4f9612","kind":"tag","published_at":"2021-05-29T12:06:59.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.2","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.2/manifests"},{"name":"v27.0.1","sha":"2cb20e945a26b2c9867b30b787e81f6317e59aa1","kind":"tag","published_at":"2021-05-25T10:06:16.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.1","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.1/manifests"},{"name":"v27.0.0","sha":"be16e47afcc9f64653b9a47782cb48a5ca243e65","kind":"tag","published_at":"2021-05-25T08:14:56.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.0","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0/manifests"},{"name":"v27.0.0-next.11","sha":"e2eb9aeee8aacd441f1c8ac992c698ac4d303f60","kind":"tag","published_at":"2021-05-20T22:28:34.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.0-next.11","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.0-next.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.11/manifests"},{"name":"v27.0.0-next.10","sha":"6f44529270310b7dbdf9a0b72b21b5cd50fda4b1","kind":"tag","published_at":"2021-05-20T14:11:04.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.0-next.10","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.0-next.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.10/manifests"},{"name":"v27.0.0-next.9","sha":"d836f33f98845794b4eae8149548a81ddcfc6521","kind":"tag","published_at":"2021-05-04T06:24:53.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.0-next.9","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.0-next.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.9/manifests"},{"name":"v27.0.0-next.8","sha":"d7ba5030e274b52f029179dfdb860349a36eea37","kind":"tag","published_at":"2021-04-12T22:42:15.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.0-next.8","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.0-next.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.8/manifests"},{"name":"v27.0.0-next.7","sha":"28c763e6be8f57bda89238b95dc801460c2d6601","kind":"tag","published_at":"2021-04-02T13:47:40.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.0-next.7","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.0-next.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.7/manifests"},{"name":"v27.0.0-next.6","sha":"974d2f22b7deeb4f683fb38dd1ee3a0e984916df","kind":"tag","published_at":"2021-03-25T19:39:48.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.0-next.6","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.0-next.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.6/manifests"},{"name":"v27.0.0-next.5","sha":"0a2b94282170b6d4cc26c2d2003cc04ffebe5e3f","kind":"tag","published_at":"2021-03-15T13:03:10.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.0-next.5","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.0-next.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.5/manifests"},{"name":"v27.0.0-next.4","sha":"941c414f0b757fdc619778c46c21fda26b3e5504","kind":"tag","published_at":"2021-03-08T13:44:59.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.0-next.4","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.0-next.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.4/manifests"},{"name":"v27.0.0-next.3","sha":"2e34f2cfaf9b6864c3ad4bdca05d3097d3108a41","kind":"tag","published_at":"2021-02-18T22:09:32.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.0-next.3","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.0-next.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.3/manifests"},{"name":"v27.0.0-next.2","sha":"0006b152354237416ffbbc26d78c0b10375c0a49","kind":"tag","published_at":"2020-12-07T14:35:37.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.0-next.2","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.0-next.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.2/manifests"},{"name":"v27.0.0-next.1","sha":"774c1898bbb078c20fa53906d535335babc6585d","kind":"tag","published_at":"2020-12-07T12:43:10.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.0-next.1","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.0-next.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.1/manifests"},{"name":"v27.0.0-next.0","sha":"496defd145cad221ec084cac35e94f1b7d68131e","kind":"tag","published_at":"2020-12-06T14:32:26.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v27.0.0-next.0","html_url":"https://github.com/jestjs/jest/releases/tag/v27.0.0-next.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v27.0.0-next.0/manifests"},{"name":"v26.6.3","sha":"2f6931e91d5ab126de70caf150c68709752e7f6c","kind":"tag","published_at":"2020-11-04T06:17:48.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.6.3","html_url":"https://github.com/jestjs/jest/releases/tag/v26.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.6.3/manifests"},{"name":"v26.6.2","sha":"4c46930615602cbf983fb7e8e82884c282a624d5","kind":"tag","published_at":"2020-11-02T12:51:05.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.6.2","html_url":"https://github.com/jestjs/jest/releases/tag/v26.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.6.2/manifests"},{"name":"v26.6.1","sha":"f6366db60e32f1763e612288bf3984bcfa7a0a15","kind":"tag","published_at":"2020-10-23T09:05:22.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.6.1","html_url":"https://github.com/jestjs/jest/releases/tag/v26.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.6.1/manifests"},{"name":"v26.6.0","sha":"b254fd82fdedcba200e1c7eddeaab83a09bdaaef","kind":"tag","published_at":"2020-10-19T11:58:26.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.6.0","html_url":"https://github.com/jestjs/jest/releases/tag/v26.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.6.0/manifests"},{"name":"v26.5.3","sha":"71152afbbda76fd09ddb2527b54c365d753f42aa","kind":"tag","published_at":"2020-10-11T17:49:08.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.5.3","html_url":"https://github.com/jestjs/jest/releases/tag/v26.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.5.3/manifests"},{"name":"v26.5.2","sha":"d2bacceb51e7f05c9cb6d764d5cd886a2fd71267","kind":"tag","published_at":"2020-10-06T10:52:33.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.5.2","html_url":"https://github.com/jestjs/jest/releases/tag/v26.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.5.2/manifests"},{"name":"v26.5.1","sha":"8a70bc269edfc10e20803a0f69e1e39fb2942511","kind":"tag","published_at":"2020-10-05T10:25:56.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.5.1","html_url":"https://github.com/jestjs/jest/releases/tag/v26.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.5.1/manifests"},{"name":"v26.5.0","sha":"68d1b1b638bc7464c2794a957c1b894de7da2ee3","kind":"tag","published_at":"2020-10-05T09:27:58.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.5.0","html_url":"https://github.com/jestjs/jest/releases/tag/v26.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.5.0/manifests"},{"name":"v26.4.2","sha":"2586a798260886c28b6d28256cdfe354e039d5d1","kind":"tag","published_at":"2020-08-22T12:09:50.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.4.2","html_url":"https://github.com/jestjs/jest/releases/tag/v26.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.4.2/manifests"},{"name":"v26.4.1","sha":"e1d51deea8d089a06f28b4dbe9287a4428508610","kind":"tag","published_at":"2020-08-20T08:31:23.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.4.1","html_url":"https://github.com/jestjs/jest/releases/tag/v26.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.4.1/manifests"},{"name":"v26.4.0","sha":"0b1e41d1d93ce4d15646f4a39fd5a7ffae5f43c3","kind":"tag","published_at":"2020-08-12T21:00:08.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.4.0","html_url":"https://github.com/jestjs/jest/releases/tag/v26.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.4.0/manifests"},{"name":"v26.3.0","sha":"3a7e06fe855515a848241bb06a6f6e117847443d","kind":"tag","published_at":"2020-08-10T11:31:34.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.3.0","html_url":"https://github.com/jestjs/jest/releases/tag/v26.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.3.0/manifests"},{"name":"v26.2.2","sha":"a6a5abb7ef47ed2c31bf8987771a79f97ae65430","kind":"tag","published_at":"2020-07-31T10:53:42.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.2.2","html_url":"https://github.com/jestjs/jest/releases/tag/v26.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.2.2/manifests"},{"name":"v26.2.1","sha":"da61421faee6fdbf2a2b355b10d4e6eb1a842233","kind":"tag","published_at":"2020-07-30T11:35:12.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.2.1","html_url":"https://github.com/jestjs/jest/releases/tag/v26.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.2.1/manifests"},{"name":"v26.2.0","sha":"4a716811a309dae135b780a87dc1647b285800eb","kind":"tag","published_at":"2020-07-30T10:11:29.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.2.0","html_url":"https://github.com/jestjs/jest/releases/tag/v26.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.2.0/manifests"},{"name":"v26.1.0","sha":"817d8b6aca845dd4fcfd7f8316293e69f3a116c5","kind":"tag","published_at":"2020-06-23T15:14:55.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.1.0","html_url":"https://github.com/jestjs/jest/releases/tag/v26.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.1.0/manifests"},{"name":"v26.0.1","sha":"40b8e1e157c9981dda5a68d73fff647e80fc9f5c","kind":"tag","published_at":"2020-05-05T10:40:33.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.0.1","html_url":"https://github.com/jestjs/jest/releases/tag/v26.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.0.1/manifests"},{"name":"v26.0.1-alpha.0","sha":"fb04716adb223ce2da1e6bb2b4ce7c011bad1807","kind":"tag","published_at":"2020-05-04T22:15:49.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.0.1-alpha.0","html_url":"https://github.com/jestjs/jest/releases/tag/v26.0.1-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.0.1-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.0.1-alpha.0/manifests"},{"name":"v26.0.0","sha":"343532a21f640ac2709c4076eef57e52279542e1","kind":"tag","published_at":"2020-05-04T17:52:48.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.0.0","html_url":"https://github.com/jestjs/jest/releases/tag/v26.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.0.0/manifests"},{"name":"v26.0.0-alpha.2","sha":"68b65afc97688bd5b0b433f8f585da57dcd1d418","kind":"tag","published_at":"2020-05-04T16:05:12.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.0.0-alpha.2","html_url":"https://github.com/jestjs/jest/releases/tag/v26.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.0.0-alpha.2/manifests"},{"name":"v26.0.0-alpha.1","sha":"2bac04ffb8e533d12a072998da5c3751a41b796f","kind":"tag","published_at":"2020-05-03T18:47:48.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.0.0-alpha.1","html_url":"https://github.com/jestjs/jest/releases/tag/v26.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.0.0-alpha.1/manifests"},{"name":"v26.0.0-alpha.0","sha":"ba962e7e9669a4a2f723c2536c97462c8ddfff2d","kind":"tag","published_at":"2020-05-02T12:12:44.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v26.0.0-alpha.0","html_url":"https://github.com/jestjs/jest/releases/tag/v26.0.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.0.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v26.0.0-alpha.0/manifests"},{"name":"v25.5.4","sha":"389d13724bbf6bb64dcde9700a6ecea3333942db","kind":"tag","published_at":"2020-05-02T08:16:36.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v25.5.4","html_url":"https://github.com/jestjs/jest/releases/tag/v25.5.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.5.4/manifests"},{"name":"v25.5.3","sha":"80b69051271602aa62ed8de896ba80ca3150f4a5","kind":"tag","published_at":"2020-04-30T22:13:24.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v25.5.3","html_url":"https://github.com/jestjs/jest/releases/tag/v25.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.5.3/manifests"},{"name":"v25.5.2","sha":"ad1b9dc090922a8ed5632ec7382ac999e6b8cac1","kind":"tag","published_at":"2020-04-29T21:49:55.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v25.5.2","html_url":"https://github.com/jestjs/jest/releases/tag/v25.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.5.2/manifests"},{"name":"v25.5.1","sha":"c5f2fd756331895b8177a19304feb49657687e22","kind":"tag","published_at":"2020-04-29T10:54:59.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v25.5.1","html_url":"https://github.com/jestjs/jest/releases/tag/v25.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.5.1/manifests"},{"name":"v25.5.0","sha":"ddd73d18adfb982b9b0d94bad7d41c9f78567ca7","kind":"tag","published_at":"2020-04-28T19:45:04.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v25.5.0","html_url":"https://github.com/jestjs/jest/releases/tag/v25.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.5.0/manifests"},{"name":"v25.4.0","sha":"5b129d714cadb818be28afbe313cbeae8fbb1dde","kind":"tag","published_at":"2020-04-19T21:50:12.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v25.4.0","html_url":"https://github.com/jestjs/jest/releases/tag/v25.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.4.0/manifests"},{"name":"v25.3.0","sha":"45a4936d96d74cdee6b91122a51a556e3ebe6dc8","kind":"tag","published_at":"2020-04-08T13:20:49.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v25.3.0","html_url":"https://github.com/jestjs/jest/releases/tag/v25.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.3.0/manifests"},{"name":"v25.2.7","sha":"3c2fa9347b86460b5dfc558f033b8d4eec0ff8e1","kind":"tag","published_at":"2020-04-03T07:50:57.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v25.2.7","html_url":"https://github.com/jestjs/jest/releases/tag/v25.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.2.7/manifests"},{"name":"v25.2.6","sha":"43207b743df164e9e58bd483dd9167b9084da18b","kind":"tag","published_at":"2020-04-02T10:28:59.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v25.2.6","html_url":"https://github.com/jestjs/jest/releases/tag/v25.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.2.6/manifests"},{"name":"v25.2.5","sha":"964ec0ea0754caa2d8bef16dc89c1f926971f5eb","kind":"tag","published_at":"2020-04-02T10:22:53.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v25.2.5","html_url":"https://github.com/jestjs/jest/releases/tag/v25.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.2.5/manifests"},{"name":"v25.2.4","sha":"324938561c608e0e9dddc008e5dde1589d7abc68","kind":"tag","published_at":"2020-03-29T19:38:25.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v25.2.4","html_url":"https://github.com/jestjs/jest/releases/tag/v25.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.2.4/manifests"},{"name":"v25.2.3","sha":"6f8bf80c38567ba076ae979af2dedb42b285b2d5","kind":"tag","published_at":"2020-03-26T20:24:33.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v25.2.3","html_url":"https://github.com/jestjs/jest/releases/tag/v25.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.2.3/manifests"},{"name":"v25.2.2","sha":"96aaf892bb90ac5054b6e57a7661c35ff9ab6873","kind":"tag","published_at":"2020-03-26T15:55:53.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v25.2.2","html_url":"https://github.com/jestjs/jest/releases/tag/v25.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.2.2/manifests"},{"name":"v25.2.1","sha":"a679390828b6c30aeaa547d8c4dc9aed6531e357","kind":"tag","published_at":"2020-03-26T09:00:56.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v25.2.1","html_url":"https://github.com/jestjs/jest/releases/tag/v25.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.2.1/manifests"},{"name":"v25.2.0","sha":"9f0339c1c762e39f869f7df63e88470287728b93","kind":"tag","published_at":"2020-03-25T17:57:45.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v25.2.0","html_url":"https://github.com/jestjs/jest/releases/tag/v25.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.2.0/manifests"},{"name":"v25.1.0","sha":"5dcc48075f22d581864f381f20bc8b257d2a73cd","kind":"tag","published_at":"2020-01-22T01:24:01.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v25.1.0","html_url":"https://github.com/jestjs/jest/releases/tag/v25.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v25.1.0/manifests"},{"name":"v24.9.0","sha":"3cdbd556948b4974b2cc23178977eb159d343df8","kind":"tag","published_at":"2019-08-16T06:31:56.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.9.0","html_url":"https://github.com/jestjs/jest/releases/tag/v24.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.9.0/manifests"},{"name":"v24.8.0","sha":"14049336beeac972b5871a2ca419df2de196dc24","kind":"tag","published_at":"2019-05-05T02:07:01.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.8.0","html_url":"https://github.com/jestjs/jest/releases/tag/v24.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.8.0/manifests"},{"name":"v24.7.1","sha":"f3dab7cd92006540ecee5a0b8b6811608861bd52","kind":"tag","published_at":"2019-04-04T01:21:24.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.7.1","html_url":"https://github.com/jestjs/jest/releases/tag/v24.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.7.1/manifests"},{"name":"v24.7.0","sha":"c85a5e9b1a8a82d837418d79bdb98493b4df460b","kind":"tag","published_at":"2019-04-03T03:59:09.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.7.0","html_url":"https://github.com/jestjs/jest/releases/tag/v24.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.7.0/manifests"},{"name":"v24.6.0","sha":"f24605839c6f7f3d9698c0c8a45e08fe69a45e20","kind":"tag","published_at":"2019-04-01T22:30:30.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.6.0","html_url":"https://github.com/jestjs/jest/releases/tag/v24.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.6.0/manifests"},{"name":"v24.5.0","sha":"6b8b1404a1d9254e7d5d90a8934087a9c9899dab","kind":"tag","published_at":"2019-03-12T16:50:45.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.5.0","html_url":"https://github.com/jestjs/jest/releases/tag/v24.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.5.0/manifests"},{"name":"v24.4.0","sha":"445e6cb9f5fddf87174e510a602cf8bc11a840b1","kind":"tag","published_at":"2019-03-11T15:00:53.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.4.0","html_url":"https://github.com/jestjs/jest/releases/tag/v24.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.4.0/manifests"},{"name":"v24.3.1","sha":"65c6e9d5e398711c011078bb72648c77fc8a8cb3","kind":"tag","published_at":"2019-03-07T23:12:12.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.3.1","html_url":"https://github.com/jestjs/jest/releases/tag/v24.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.3.1/manifests"},{"name":"v24.3.0","sha":"36484b51517a91fb9ec99db922f087488ea6ddad","kind":"tag","published_at":"2019-03-07T13:08:39.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.3.0","html_url":"https://github.com/jestjs/jest/releases/tag/v24.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.3.0/manifests"},{"name":"v24.2.0-alpha.0","sha":"800f2f803d01c8ae194d71b251e4965dd70e5bf2","kind":"tag","published_at":"2019-03-05T14:46:13.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.2.0-alpha.0","html_url":"https://github.com/jestjs/jest/releases/tag/v24.2.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.2.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.2.0-alpha.0/manifests"},{"name":"v24.1.0","sha":"8a2ea1e83845497fa7756b44c91f6ff97eb02692","kind":"tag","published_at":"2019-02-05T15:08:46.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.1.0","html_url":"https://github.com/jestjs/jest/releases/tag/v24.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.1.0/manifests"},{"name":"v24.0.0","sha":"0422bde1f6936482d95ac3ee31f2f93fc33f58c2","kind":"tag","published_at":"2019-01-25T15:09:17.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.0.0","html_url":"https://github.com/jestjs/jest/releases/tag/v24.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0/manifests"},{"name":"v24.0.0-alpha.16","sha":"634e5a54f46b2a62d1dc81a170562e6f4e55ad60","kind":"tag","published_at":"2019-01-25T13:44:48.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.0.0-alpha.16","html_url":"https://github.com/jestjs/jest/releases/tag/v24.0.0-alpha.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.16/manifests"},{"name":"v24.0.0-alpha.15","sha":"28971c5f794330e8acc6861288e6daafcd32238e","kind":"tag","published_at":"2019-01-24T18:00:11.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.0.0-alpha.15","html_url":"https://github.com/jestjs/jest/releases/tag/v24.0.0-alpha.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.15/manifests"},{"name":"v24.0.0-alpha.14","sha":"28971c5f794330e8acc6861288e6daafcd32238e","kind":"commit","published_at":"2019-01-24T16:04:40.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.0.0-alpha.14","html_url":"https://github.com/jestjs/jest/releases/tag/v24.0.0-alpha.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.14/manifests"},{"name":"v24.0.0-alpha.13","sha":"6de22dde9a10f775adc7b6f80080bdd224f6ae31","kind":"tag","published_at":"2019-01-23T15:18:56.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.0.0-alpha.13","html_url":"https://github.com/jestjs/jest/releases/tag/v24.0.0-alpha.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.13/manifests"},{"name":"v24.0.0-alpha.12","sha":"4f2bcb861d1f0fb150c05970362e52a38c31f67e","kind":"tag","published_at":"2019-01-14T11:07:02.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.0.0-alpha.12","html_url":"https://github.com/jestjs/jest/releases/tag/v24.0.0-alpha.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.12/manifests"},{"name":"v24.0.0-alpha.11","sha":"6a066c6afe2ae08669a27d3b703a6cf0d898e7b7","kind":"tag","published_at":"2019-01-11T12:24:05.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.0.0-alpha.11","html_url":"https://github.com/jestjs/jest/releases/tag/v24.0.0-alpha.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.11/manifests"},{"name":"v24.0.0-alpha.10","sha":"722049ccd66947d48296dcb666bc99fccab86065","kind":"tag","published_at":"2019-01-09T17:05:55.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.0.0-alpha.10","html_url":"https://github.com/jestjs/jest/releases/tag/v24.0.0-alpha.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.10/manifests"},{"name":"v24.0.0-alpha.9","sha":"c7caa7ba5904d0c61e586694cde5f536639e4afc","kind":"tag","published_at":"2018-12-19T16:03:50.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.0.0-alpha.9","html_url":"https://github.com/jestjs/jest/releases/tag/v24.0.0-alpha.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.9/manifests"},{"name":"v24.0.0-alpha.8","sha":"700e0dadb85f5dc8ff5dac6c7e98956690049734","kind":"commit","published_at":"2018-12-13T18:16:02.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.0.0-alpha.8","html_url":"https://github.com/jestjs/jest/releases/tag/v24.0.0-alpha.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.8/manifests"},{"name":"v24.0.0-alpha.6","sha":"49d08403a941e596eda1279c07a1eaf4d4a73dad","kind":"tag","published_at":"2018-11-09T17:51:58.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.0.0-alpha.6","html_url":"https://github.com/jestjs/jest/releases/tag/v24.0.0-alpha.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.6/manifests"},{"name":"v24.0.0-alpha.5","sha":"2c18a53e8ff2437bba5fcb8076b754ac5f79f9f8","kind":"tag","published_at":"2018-11-09T13:19:33.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.0.0-alpha.5","html_url":"https://github.com/jestjs/jest/releases/tag/v24.0.0-alpha.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.5/manifests"},{"name":"v24.0.0-alpha.3","sha":"e41f0bb257c6652c3100b97a1087f9f812fbea0d","kind":"commit","published_at":"2018-10-26T14:55:07.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.0.0-alpha.3","html_url":"https://github.com/jestjs/jest/releases/tag/v24.0.0-alpha.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.3/manifests"},{"name":"v24.0.0-alpha.4","sha":"e41f0bb257c6652c3100b97a1087f9f812fbea0d","kind":"commit","published_at":"2018-10-26T14:55:07.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.0.0-alpha.4","html_url":"https://github.com/jestjs/jest/releases/tag/v24.0.0-alpha.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.4/manifests"},{"name":"v24.0.0-alpha.2","sha":"c5e36835cff4b241327db9cf58c8f6f7227ed1f7","kind":"tag","published_at":"2018-10-25T11:09:19.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.0.0-alpha.2","html_url":"https://github.com/jestjs/jest/releases/tag/v24.0.0-alpha.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.2/manifests"},{"name":"v24.0.0-alpha.1","sha":"4954f46708415174c48a58f296a605fbe1244a31","kind":"commit","published_at":"2018-10-22T14:49:42.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.0.0-alpha.1","html_url":"https://github.com/jestjs/jest/releases/tag/v24.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.1/manifests"},{"name":"v24.0.0-alpha.7","sha":"4954f46708415174c48a58f296a605fbe1244a31","kind":"commit","published_at":"2018-10-22T14:49:42.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.0.0-alpha.7","html_url":"https://github.com/jestjs/jest/releases/tag/v24.0.0-alpha.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.7/manifests"},{"name":"v24.0.0-alpha.0","sha":"7287c9d5c46ca874e691da23b367925db1e178fe","kind":"commit","published_at":"2018-10-22T13:15:33.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v24.0.0-alpha.0","html_url":"https://github.com/jestjs/jest/releases/tag/v24.0.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v24.0.0-alpha.0/manifests"},{"name":"v23.6.0","sha":"770799779fc853ab6285727e8938efd06e694d5f","kind":"commit","published_at":"2018-09-10T12:44:42.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v23.6.0","html_url":"https://github.com/jestjs/jest/releases/tag/v23.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.6.0/manifests"},{"name":"v23.5.0","sha":"79c9e22c1309eb92e41f5cad74c767c6a91f68d9","kind":"commit","published_at":"2018-08-10T13:53:58.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v23.5.0","html_url":"https://github.com/jestjs/jest/releases/tag/v23.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.5.0/manifests"},{"name":"v23.4.2","sha":"ea8452df0f880316fd2ff4a2b19a455e300a33f6","kind":"commit","published_at":"2018-07-27T22:40:45.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v23.4.2","html_url":"https://github.com/jestjs/jest/releases/tag/v23.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.4.2/manifests"},{"name":"v23.4.1","sha":"ce52523289a8f624a6135b7d8f1a766d741ccd6f","kind":"commit","published_at":"2018-07-13T16:06:36.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v23.4.1","html_url":"https://github.com/jestjs/jest/releases/tag/v23.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.4.1/manifests"},{"name":"v23.4.0","sha":"c32d2d3870836dfd49167e4a6b71b61aceef25a1","kind":"commit","published_at":"2018-07-10T15:53:24.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v23.4.0","html_url":"https://github.com/jestjs/jest/releases/tag/v23.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.4.0/manifests"},{"name":"v23.3.0","sha":"266e820c0039f485fc870d0db8ff35337cb4b5ef","kind":"commit","published_at":"2018-07-04T12:23:44.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v23.3.0","html_url":"https://github.com/jestjs/jest/releases/tag/v23.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.3.0/manifests"},{"name":"v23.2.0","sha":"87114d3d8ce87c2113e2073e7fc6148af87618be","kind":"commit","published_at":"2018-06-25T14:06:20.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v23.2.0","html_url":"https://github.com/jestjs/jest/releases/tag/v23.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.2.0/manifests"},{"name":"v23.1.0","sha":"e5a4b945ac2ec93961bb7a03c3ce56f4f1bed665","kind":"commit","published_at":"2018-05-30T18:07:58.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v23.1.0","html_url":"https://github.com/jestjs/jest/releases/tag/v23.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.1.0/manifests"},{"name":"v23.0.1","sha":"570142ef4149f7251d9e4ba8d3e0efee57d1b7cc","kind":"commit","published_at":"2018-05-27T15:32:54.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v23.0.1","html_url":"https://github.com/jestjs/jest/releases/tag/v23.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.0.1/manifests"},{"name":"v23.0.0","sha":"7922488d676aa7bc5a6334699df220c7b001e299","kind":"commit","published_at":"2018-05-24T17:28:43.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v23.0.0","html_url":"https://github.com/jestjs/jest/releases/tag/v23.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.0.0/manifests"},{"name":"v22.4.4","sha":"cb7f93a4cc5f61f85512dbf5e704cde2dc4ee80a","kind":"commit","published_at":"2018-05-18T13:00:46.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.4.4","html_url":"https://github.com/jestjs/jest/releases/tag/v22.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.4.4/manifests"},{"name":"v23.0.0-alpha.0","sha":"df34b204c3aa8dfc3a05d19039c6d538cbce9135","kind":"commit","published_at":"2018-03-15T14:58:49.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v23.0.0-alpha.0","html_url":"https://github.com/jestjs/jest/releases/tag/v23.0.0-alpha.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.0.0-alpha.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v23.0.0-alpha.0/manifests"},{"name":"v22.4.2","sha":"83a51ccc25b6bb7080792c9a851fec799a01fde2","kind":"commit","published_at":"2018-02-22T23:31:14.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.4.2","html_url":"https://github.com/jestjs/jest/releases/tag/v22.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.4.2/manifests"},{"name":"v22.4.1","sha":"52bbb26615d1d6f150082873a3346db17b158df9","kind":"commit","published_at":"2018-02-22T21:35:02.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.4.1","html_url":"https://github.com/jestjs/jest/releases/tag/v22.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.4.1/manifests"},{"name":"v22.4.0","sha":"acb7f64ba0eb1b4a7a3801a01977cf1bb2a54e72","kind":"commit","published_at":"2018-02-20T12:12:51.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.4.0","html_url":"https://github.com/jestjs/jest/releases/tag/v22.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.4.0/manifests"},{"name":"v22.3.0","sha":"5f8ad6379ac3962cc1eb9ce25eef6f3e8fc241e0","kind":"commit","published_at":"2018-02-13T18:36:12.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.3.0","html_url":"https://github.com/jestjs/jest/releases/tag/v22.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.3.0/manifests"},{"name":"v22.2.2","sha":"c5a2ea0dbed0875caf13bd6088095a6dcf130421","kind":"commit","published_at":"2018-02-09T16:29:11.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.2.2","html_url":"https://github.com/jestjs/jest/releases/tag/v22.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.2.2/manifests"},{"name":"v22.2.1","sha":"9797f2362db5569aa21584461504f8c8823fc06a","kind":"commit","published_at":"2018-02-07T13:53:10.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.2.1","html_url":"https://github.com/jestjs/jest/releases/tag/v22.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.2.1/manifests"},{"name":"v22.2.0","sha":"79dcdd3944105b4a4f84f69e1597fb5e4bd1f150","kind":"commit","published_at":"2018-02-07T10:27:59.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.2.0","html_url":"https://github.com/jestjs/jest/releases/tag/v22.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.2.0/manifests"},{"name":"v22.1.4","sha":"4da1417653a3fe9732dd0bb71168ad99ec9f71c1","kind":"commit","published_at":"2018-01-19T14:39:29.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.1.4","html_url":"https://github.com/jestjs/jest/releases/tag/v22.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.1.4/manifests"},{"name":"v22.1.3","sha":"f040725f81f2b4b32705a762c279cee2d001cf74","kind":"commit","published_at":"2018-01-18T17:33:04.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.1.3","html_url":"https://github.com/jestjs/jest/releases/tag/v22.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.1.3/manifests"},{"name":"v22.1.2","sha":"a441ecf635c3a89a599b7bfbb078db6163d23038","kind":"commit","published_at":"2018-01-17T12:59:08.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.1.2","html_url":"https://github.com/jestjs/jest/releases/tag/v22.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.1.2/manifests"},{"name":"v22.1.1","sha":"8b46fa88965837a5fd4be8670d8976d9ff873ad1","kind":"commit","published_at":"2018-01-15T14:01:01.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.1.1","html_url":"https://github.com/jestjs/jest/releases/tag/v22.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.1.1/manifests"},{"name":"v22.1.0","sha":"cdc048de210aba4b37f1f647866d9faecc7017fc","kind":"commit","published_at":"2018-01-15T12:16:52.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.1.0","html_url":"https://github.com/jestjs/jest/releases/tag/v22.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.1.0/manifests"},{"name":"v22.0.5","sha":"e5b9339e23ae5d3e9713c8210d365a005de823e9","kind":"commit","published_at":"2018-01-09T14:22:21.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.0.5","html_url":"https://github.com/jestjs/jest/releases/tag/v22.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.0.5/manifests"},{"name":"v22.0.4","sha":"e879099db1024f106757ee55cb0e9a6935488b43","kind":"commit","published_at":"2017-12-22T10:50:43.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.0.4","html_url":"https://github.com/jestjs/jest/releases/tag/v22.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.0.4/manifests"},{"name":"v22.0.3","sha":"774d4576574b8cf2add08a21da76a49800c8d77a","kind":"commit","published_at":"2017-12-19T15:01:00.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.0.3","html_url":"https://github.com/jestjs/jest/releases/tag/v22.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.0.3/manifests"},{"name":"v22.0.2","sha":"699ddcc95f285941759c2b02caf114b96f5d4560","kind":"commit","published_at":"2017-12-19T13:54:28.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.0.2","html_url":"https://github.com/jestjs/jest/releases/tag/v22.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.0.2/manifests"},{"name":"v22.0.1","sha":"d1845116ebe818e6d945d50ad4857752758970ee","kind":"tag","published_at":"2017-12-19T07:09:47.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.0.1","html_url":"https://github.com/jestjs/jest/releases/tag/v22.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.0.1/manifests"},{"name":"v22.0.0","sha":"99c76dda65daf7decb29bb34c66a9b7faa92287a","kind":"commit","published_at":"2017-12-18T11:07:19.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v22.0.0","html_url":"https://github.com/jestjs/jest/releases/tag/v22.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v22.0.0/manifests"},{"name":"v21.2.1","sha":"6102961774cb043e0c36ec8121935181b9560929","kind":"tag","published_at":"2017-09-27T22:14:57.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v21.2.1","html_url":"https://github.com/jestjs/jest/releases/tag/v21.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v21.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v21.2.1/manifests"},{"name":"v21.2.0","sha":"9db3b9087578795b68905d6c363a50b14bafcf99","kind":"tag","published_at":"2017-09-26T20:21:57.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v21.2.0","html_url":"https://github.com/jestjs/jest/releases/tag/v21.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v21.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v21.2.0/manifests"},{"name":"v21.1.0","sha":"13e4ba299d57c65248a5cd763bb66f59b3b24902","kind":"tag","published_at":"2017-09-14T01:50:00.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v21.1.0","html_url":"https://github.com/jestjs/jest/releases/tag/v21.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v21.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v21.1.0/manifests"},{"name":"v21.0.2","sha":"9b6ff26eb3c0f03215c5fc52d3842c3d56d55ef0","kind":"tag","published_at":"2017-09-08T14:18:57.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v21.0.2","html_url":"https://github.com/jestjs/jest/releases/tag/v21.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v21.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v21.0.2/manifests"},{"name":"v21.0.1","sha":"9075ecf0774fc29ba9c5e4bdbceca0d9774a793c","kind":"tag","published_at":"2017-09-04T17:12:07.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v21.0.1","html_url":"https://github.com/jestjs/jest/releases/tag/v21.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v21.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v21.0.1/manifests"},{"name":"v21.0.0","sha":"be4bec387d90ac8d6a7596be88bf8e4994bc3ed9","kind":"tag","published_at":"2017-09-04T15:01:38.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v21.0.0","html_url":"https://github.com/jestjs/jest/releases/tag/v21.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v21.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v21.0.0/manifests"},{"name":"v20.0.4","sha":"c27b759f256adde5586b0c69e510a3aa81d0f869","kind":"commit","published_at":"2017-05-24T14:14:00.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v20.0.4","html_url":"https://github.com/jestjs/jest/releases/tag/v20.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v20.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v20.0.4/manifests"},{"name":"v20.0.3","sha":"b5f9a87ceb9f5f5c1acc1316c59ae963d3eca448","kind":"tag","published_at":"2017-05-17T10:57:01.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v20.0.3","html_url":"https://github.com/jestjs/jest/releases/tag/v20.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v20.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v20.0.3/manifests"},{"name":"v20.0.2","sha":"2ac2e0ed4e45539c1e5619876eaee6e00acd5ed6","kind":"tag","published_at":"2017-05-17T10:50:11.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v20.0.2","html_url":"https://github.com/jestjs/jest/releases/tag/v20.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v20.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v20.0.2/manifests"},{"name":"v20.0.1","sha":"eb244127b0c626a1aec80691867e84424e83b02b","kind":"tag","published_at":"2017-05-11T10:49:57.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v20.0.1","html_url":"https://github.com/jestjs/jest/releases/tag/v20.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v20.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v20.0.1/manifests"},{"name":"v20.0.0","sha":"c0caf522ea3dee99f0cdcbfe65a4582d6bb1a87b","kind":"tag","published_at":"2017-05-06T12:32:22.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v20.0.0","html_url":"https://github.com/jestjs/jest/releases/tag/v20.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v20.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v20.0.0/manifests"},{"name":"v19.0.2","sha":"ed45267e9d8b8cabc83f69a538e03465d7376868","kind":"commit","published_at":"2017-02-23T11:36:21.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v19.0.2","html_url":"https://github.com/jestjs/jest/releases/tag/v19.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v19.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v19.0.2/manifests"},{"name":"v19.0.1","sha":"996ba5d4f1e493e18f7dbc4bbe37a09cd271276f","kind":"commit","published_at":"2017-02-22T14:06:46.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v19.0.1","html_url":"https://github.com/jestjs/jest/releases/tag/v19.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v19.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v19.0.1/manifests"},{"name":"v19.0.0","sha":"c81fb39cefba52e8e87e63acd8a433d9443a0dae","kind":"commit","published_at":"2017-02-21T09:45:52.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v19.0.0","html_url":"https://github.com/jestjs/jest/releases/tag/v19.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v19.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v19.0.0/manifests"},{"name":"v18.1.0","sha":"ad899d5087ee63f2c45339007d2a11e65b6344b4","kind":"commit","published_at":"2016-12-29T01:47:21.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v18.1.0","html_url":"https://github.com/jestjs/jest/releases/tag/v18.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v18.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v18.1.0/manifests"},{"name":"v18.0.0","sha":"fc02b01d36ea630fe73118fe3660f93d35045004","kind":"commit","published_at":"2016-12-15T11:24:19.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v18.0.0","html_url":"https://github.com/jestjs/jest/releases/tag/v18.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v18.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v18.0.0/manifests"},{"name":"v17.0.3","sha":"7c136e1b4aa67373233b75b40b76f47d3f1a52e0","kind":"commit","published_at":"2016-11-17T07:41:09.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v17.0.3","html_url":"https://github.com/jestjs/jest/releases/tag/v17.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v17.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v17.0.3/manifests"},{"name":"v17.0.2","sha":"3f5fd156bb705ccbf1d54acc9696c0b4a1e4220c","kind":"commit","published_at":"2016-11-15T00:45:10.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v17.0.2","html_url":"https://github.com/jestjs/jest/releases/tag/v17.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v17.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v17.0.2/manifests"},{"name":"v17.0.1","sha":"cb8216c2b60a4f0a775ed2b1a01917ca8efb1dd5","kind":"commit","published_at":"2016-11-14T06:07:22.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v17.0.1","html_url":"https://github.com/jestjs/jest/releases/tag/v17.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v17.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v17.0.1/manifests"},{"name":"v17.0.0","sha":"fd09edd8cd909414b5485c9e3bcbd0cdca753c86","kind":"commit","published_at":"2016-11-08T14:12:19.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v17.0.0","html_url":"https://github.com/jestjs/jest/releases/tag/v17.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v17.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v17.0.0/manifests"},{"name":"v16.0.2","sha":"891ee5a6094f0d426a39c5216b7ab6326eb33d5f","kind":"commit","published_at":"2016-10-20T08:17:36.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v16.0.2","html_url":"https://github.com/jestjs/jest/releases/tag/v16.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v16.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v16.0.2/manifests"},{"name":"v16.0.1","sha":"0f2813a7cfb5df2ed6f904fb0b38e975ce8645c3","kind":"commit","published_at":"2016-10-05T01:54:18.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v16.0.1","html_url":"https://github.com/jestjs/jest/releases/tag/v16.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v16.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v16.0.1/manifests"},{"name":"v16.0.0","sha":"dee19a2ba0d7ecbc38e8b02d7018846f3dd5fe9b","kind":"commit","published_at":"2016-10-03T08:38:25.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v16.0.0","html_url":"https://github.com/jestjs/jest/releases/tag/v16.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v16.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v16.0.0/manifests"},{"name":"v15.1.1","sha":"d20a0ee2a07d47d149940844f98ac0524c81f90d","kind":"commit","published_at":"2016-09-02T11:08:47.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v15.1.1","html_url":"https://github.com/jestjs/jest/releases/tag/v15.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v15.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v15.1.1/manifests"},{"name":"v15.1.0","sha":"c25b2205780f15a2e9d7c63ff9656fe3a74557db","kind":"commit","published_at":"2016-09-01T16:27:35.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v15.1.0","html_url":"https://github.com/jestjs/jest/releases/tag/v15.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v15.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v15.1.0/manifests"},{"name":"v15.0.2","sha":"913b8a31352d55ed53d6429f0b3bee7015585417","kind":"commit","published_at":"2016-09-01T02:10:01.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v15.0.2","html_url":"https://github.com/jestjs/jest/releases/tag/v15.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v15.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v15.0.2/manifests"},{"name":"v15.0.1","sha":"3626276750b62f62669e09f7ac0bcabd6cfcf195","kind":"commit","published_at":"2016-09-01T01:00:42.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v15.0.1","html_url":"https://github.com/jestjs/jest/releases/tag/v15.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v15.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v15.0.1/manifests"},{"name":"v15.0.0","sha":"ec7f31c8d97e87d1c34636213dcd44287395f97c","kind":"commit","published_at":"2016-08-31T18:55:21.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v15.0.0","html_url":"https://github.com/jestjs/jest/releases/tag/v15.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v15.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v15.0.0/manifests"},{"name":"v14.1.0","sha":"9c2517ffcd98e92a61e4dc89664204442046c57b","kind":"commit","published_at":"2016-08-01T10:26:27.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v14.1.0","html_url":"https://github.com/jestjs/jest/releases/tag/v14.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v14.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v14.1.0/manifests"},{"name":"v14.0.2","sha":"d745432ab7d8dd805bff67752de5e0dce8e34f74","kind":"commit","published_at":"2016-07-29T09:48:25.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v14.0.2","html_url":"https://github.com/jestjs/jest/releases/tag/v14.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v14.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v14.0.2/manifests"},{"name":"v14.0.1","sha":"0d153f4a779a52f8f8ecf521b64958054dc0d112","kind":"commit","published_at":"2016-07-29T09:35:36.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v14.0.1","html_url":"https://github.com/jestjs/jest/releases/tag/v14.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v14.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v14.0.1/manifests"},{"name":"v14.0.0","sha":"70a24b9165a4e595e04fbde55b345a27658f0965","kind":"commit","published_at":"2016-07-27T09:14:34.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v14.0.0","html_url":"https://github.com/jestjs/jest/releases/tag/v14.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v14.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v14.0.0/manifests"},{"name":"v13.2.3","sha":"ca1a290ebb1b7eaf71b286735a2b7740fb9bced7","kind":"commit","published_at":"2016-07-07T06:39:35.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v13.2.3","html_url":"https://github.com/jestjs/jest/releases/tag/v13.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v13.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v13.2.3/manifests"},{"name":"v13.2.2","sha":"a4b001d4d9afa0d0d5bdd163644ff9cd0e77609a","kind":"commit","published_at":"2016-07-07T02:12:56.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v13.2.2","html_url":"https://github.com/jestjs/jest/releases/tag/v13.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v13.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v13.2.2/manifests"},{"name":"v13.2.1","sha":"65fd1b2b16fd4ce96d131759b3577b90f7ca1efe","kind":"commit","published_at":"2016-07-07T01:59:29.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v13.2.1","html_url":"https://github.com/jestjs/jest/releases/tag/v13.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v13.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v13.2.1/manifests"},{"name":"v13.2.0","sha":"2e56dd751c53ef848574aa9d63e6b5a4e8559d27","kind":"commit","published_at":"2016-07-07T01:15:19.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v13.2.0","html_url":"https://github.com/jestjs/jest/releases/tag/v13.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v13.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v13.2.0/manifests"},{"name":"v13.1.3","sha":"d308a79dac93f8585191021924fdf07775d0d4a0","kind":"commit","published_at":"2016-07-07T01:06:26.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v13.1.3","html_url":"https://github.com/jestjs/jest/releases/tag/v13.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v13.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v13.1.3/manifests"},{"name":"v13.1.2","sha":"76c9710a2b70bf03203629e9262fb5718f68a589","kind":"commit","published_at":"2016-07-07T00:39:26.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v13.1.2","html_url":"https://github.com/jestjs/jest/releases/tag/v13.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v13.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v13.1.2/manifests"},{"name":"v13.1.1","sha":"07162152708e3f38558616f35760527c9a66de1a","kind":"commit","published_at":"2016-07-06T09:11:51.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v13.1.1","html_url":"https://github.com/jestjs/jest/releases/tag/v13.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v13.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v13.1.1/manifests"},{"name":"v13.1.0","sha":"0d35b14f1c87ff3c9e6efc1f45e290a29877c3ac","kind":"commit","published_at":"2016-07-05T05:48:38.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v13.1.0","html_url":"https://github.com/jestjs/jest/releases/tag/v13.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v13.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v13.1.0/manifests"},{"name":"v13.0.0","sha":"6f581c502921234ed2a31d601c9be0e2299e88b3","kind":"commit","published_at":"2016-06-22T21:40:09.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v13.0.0","html_url":"https://github.com/jestjs/jest/releases/tag/v13.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v13.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v13.0.0/manifests"},{"name":"v12.1.1","sha":"9cfa9df6ccc709f5ce8c7a3ad2638e3bb4faece5","kind":"commit","published_at":"2016-05-24T19:00:36.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v12.1.1","html_url":"https://github.com/jestjs/jest/releases/tag/v12.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v12.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v12.1.1/manifests"},{"name":"v12.1.0","sha":"9d2b2bcf5e0705c64d5eba631c225426c09965ef","kind":"commit","published_at":"2016-05-20T19:30:39.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v12.1.0","html_url":"https://github.com/jestjs/jest/releases/tag/v12.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v12.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v12.1.0/manifests"},{"name":"v12.0.2","sha":"13abacef991d03728a6a47fd8d6627579b97617b","kind":"commit","published_at":"2016-04-28T06:19:59.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v12.0.2","html_url":"https://github.com/jestjs/jest/releases/tag/v12.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v12.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v12.0.2/manifests"},{"name":"v12.0.1","sha":"695cd3134b3b86444377aece86801b64aa1e6fb6","kind":"commit","published_at":"2016-04-27T10:09:33.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v12.0.1","html_url":"https://github.com/jestjs/jest/releases/tag/v12.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v12.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v12.0.1/manifests"},{"name":"v0.10.0","sha":"184173c0d77c781bd39c5975c0e177d2ef30ca4c","kind":"commit","published_at":"2016-03-30T23:43:14.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.10.0","html_url":"https://github.com/jestjs/jest/releases/tag/v0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.10.0/manifests"},{"name":"v9.0.3","sha":"b251e7c98a3c5f450e533e05b330edcc60705928","kind":"commit","published_at":"2016-03-23T01:09:34.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v9.0.3","html_url":"https://github.com/jestjs/jest/releases/tag/v9.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v9.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v9.0.3/manifests"},{"name":"0.9.0","sha":"a721d425ad11e53f6527abd9b297b7ee9231fb9e","kind":"commit","published_at":"2016-03-05T01:14:31.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/0.9.0","html_url":"https://github.com/jestjs/jest/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/0.9.0/manifests"},{"name":"0.8.2","sha":"f94b8af054e0e27647f66a633c1e3e80866889d5","kind":"commit","published_at":"2015-12-15T19:18:28.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/0.8.2","html_url":"https://github.com/jestjs/jest/releases/tag/0.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/0.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/0.8.2/manifests"},{"name":"0.8.1","sha":"878014e948d9406207c87473b709b4c3e7f17ec4","kind":"commit","published_at":"2015-12-07T23:49:29.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/0.8.1","html_url":"https://github.com/jestjs/jest/releases/tag/0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/0.8.1/manifests"},{"name":"0.8.0","sha":"754747306c62cd2e84c4134f9656eb2846c6cf35","kind":"commit","published_at":"2015-11-18T23:02:25.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/0.8.0","html_url":"https://github.com/jestjs/jest/releases/tag/0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/0.8.0/manifests"},{"name":"0.7.1","sha":"8445bddf0ec98abf9f795e20c7f2566d94f7c2c3","kind":"commit","published_at":"2015-11-04T06:45:25.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/0.7.1","html_url":"https://github.com/jestjs/jest/releases/tag/0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/0.7.1/manifests"},{"name":"0.7.0","sha":"4e127314516bdd48238cc82ee3e9b6a039520928","kind":"commit","published_at":"2015-11-03T00:19:29.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/0.7.0","html_url":"https://github.com/jestjs/jest/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/0.7.0/manifests"},{"name":"0.6.1","sha":"abcd5907cb8934094e98b5e738164257b6a5904c","kind":"commit","published_at":"2015-10-23T23:07:29.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/0.6.1","html_url":"https://github.com/jestjs/jest/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"7d05c719a2c4193eba1b0f067c80130c8441ae9f","kind":"commit","published_at":"2015-10-21T23:48:27.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/0.6.0","html_url":"https://github.com/jestjs/jest/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/0.6.0/manifests"},{"name":"v0.5.8","sha":"699b614fcd70b9d1cec778eaf67efb38ce1a9cc0","kind":"tag","published_at":"2015-09-24T04:23:55.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.5.8","html_url":"https://github.com/jestjs/jest/releases/tag/v0.5.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.5.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.5.8/manifests"},{"name":"v0.5.6","sha":"7a542ac8d11628790dfb4efabf45a58311aab865","kind":"tag","published_at":"2015-09-18T21:53:00.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.5.6","html_url":"https://github.com/jestjs/jest/releases/tag/v0.5.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.5.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.5.6/manifests"},{"name":"v0.5.5","sha":"acc20923801f41388c6b4f5ad96b33ee9f334147","kind":"tag","published_at":"2015-09-15T17:47:37.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.5.5","html_url":"https://github.com/jestjs/jest/releases/tag/v0.5.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.5.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.5.5/manifests"},{"name":"v0.5.4","sha":"082a9298247e5d01a31e1bbcfb0cf32202e0eb66","kind":"tag","published_at":"2015-09-10T21:56:05.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.5.4","html_url":"https://github.com/jestjs/jest/releases/tag/v0.5.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.5.4/manifests"},{"name":"v0.5.3","sha":"1aab338f9745619b80a60b31ef16859a53491b2a","kind":"tag","published_at":"2015-09-10T20:41:45.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.5.3","html_url":"https://github.com/jestjs/jest/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.5.3/manifests"},{"name":"v5.0.3","sha":"90f58f46981d463480f56ed19ef591f3e00b0120","kind":"tag","published_at":"2015-09-10T19:25:17.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v5.0.3","html_url":"https://github.com/jestjs/jest/releases/tag/v5.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v5.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v5.0.3/manifests"},{"name":"v0.5.2","sha":"f4183eb1e6b7f0ac4e2ce96e28e59539f70dfef9","kind":"tag","published_at":"2015-09-08T18:11:30.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.5.2","html_url":"https://github.com/jestjs/jest/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"d114f057b6c65dc02f5f08a9b94ea5a5dad13bbc","kind":"tag","published_at":"2015-09-03T01:56:42.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.5.1","html_url":"https://github.com/jestjs/jest/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.5.1/manifests"},{"name":"0.4.19","sha":"7ecc0be42ba3ce1fd99dbb9f3120954122445ceb","kind":"commit","published_at":"2015-08-14T20:27:47.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/0.4.19","html_url":"https://github.com/jestjs/jest/releases/tag/0.4.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/0.4.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/0.4.19/manifests"},{"name":"v0.5.0","sha":"d3c862512b8d67a44c686faa6e43a002f7b8dc07","kind":"commit","published_at":"2015-08-14T20:04:11.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.5.0","html_url":"https://github.com/jestjs/jest/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.5.0/manifests"},{"name":"v0.4.18","sha":"235c859f982da61c501756bc9b615411c16275e0","kind":"tag","published_at":"2015-08-04T18:27:34.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.4.18","html_url":"https://github.com/jestjs/jest/releases/tag/v0.4.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.18/manifests"},{"name":"v0.4.17","sha":"a818efd1eefff270445454f0db9bf60c092c46b5","kind":"tag","published_at":"2015-07-23T19:24:07.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.4.17","html_url":"https://github.com/jestjs/jest/releases/tag/v0.4.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.17/manifests"},{"name":"v0.4.15","sha":"14c35fd0f5432b631dff0f092a683f37aad7e3fd","kind":"tag","published_at":"2015-07-03T22:44:16.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.4.15","html_url":"https://github.com/jestjs/jest/releases/tag/v0.4.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.15/manifests"},{"name":"v0.4.14","sha":"d59b085e2e23ed9a3953baa03e83271a5437f37a","kind":"tag","published_at":"2015-06-29T05:32:39.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.4.14","html_url":"https://github.com/jestjs/jest/releases/tag/v0.4.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.14/manifests"},{"name":"v0.4.13","sha":"4ba9cada443902658b94030722c100a895718436","kind":"tag","published_at":"2015-06-15T19:09:41.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.4.13","html_url":"https://github.com/jestjs/jest/releases/tag/v0.4.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.13/manifests"},{"name":"v0.4.12","sha":"305cfcf704e3909c4b248797599481362174f5b1","kind":"tag","published_at":"2015-06-12T01:10:15.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.4.12","html_url":"https://github.com/jestjs/jest/releases/tag/v0.4.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.12/manifests"},{"name":"v0.4.11","sha":"a3168e761d35e7862ae839a5d928e3281908b5c8","kind":"tag","published_at":"2015-06-11T02:29:48.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.4.11","html_url":"https://github.com/jestjs/jest/releases/tag/v0.4.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.11/manifests"},{"name":"v0.4.10","sha":"5f5d4efbabefea93b5bcd0967dac13e48b48c326","kind":"tag","published_at":"2015-06-09T06:49:19.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.4.10","html_url":"https://github.com/jestjs/jest/releases/tag/v0.4.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.10/manifests"},{"name":"v0.4.9","sha":"95207c425bb9ff612d866c77ff07c6c7574a42e0","kind":"tag","published_at":"2015-06-09T01:18:22.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.4.9","html_url":"https://github.com/jestjs/jest/releases/tag/v0.4.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.9/manifests"},{"name":"v0.4.8","sha":"0a0c093c3604cd9e6ec919790d51908b343428ff","kind":"tag","published_at":"2015-06-08T18:15:52.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.4.8","html_url":"https://github.com/jestjs/jest/releases/tag/v0.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.8/manifests"},{"name":"v0.4.7","sha":"d47a0ba89f2a3b05e073965194afd7bce8847795","kind":"tag","published_at":"2015-06-07T02:46:46.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.4.7","html_url":"https://github.com/jestjs/jest/releases/tag/v0.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.7/manifests"},{"name":"v0.4.6","sha":"4ef1f0e76b0df6b532133b73c92bdcff75c9fc28","kind":"tag","published_at":"2015-06-04T19:08:45.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.4.6","html_url":"https://github.com/jestjs/jest/releases/tag/v0.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.6/manifests"},{"name":"v0.4.5","sha":"7ab09e272bc264c4d91cf2644534806b64ada55c","kind":"tag","published_at":"2015-05-17T07:58:22.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.4.5","html_url":"https://github.com/jestjs/jest/releases/tag/v0.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.5/manifests"},{"name":"v0.4.4","sha":"c38905cee5c1fd13ec0f5d591c242580327113ec","kind":"tag","published_at":"2015-05-17T02:48:29.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.4.4","html_url":"https://github.com/jestjs/jest/releases/tag/v0.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.4/manifests"},{"name":"v0.4.3","sha":"516450e8f040311cdc6a7522035e0bd3053509bb","kind":"tag","published_at":"2015-05-12T01:55:30.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.4.3","html_url":"https://github.com/jestjs/jest/releases/tag/v0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.3/manifests"},{"name":"v0.4.2","sha":"b89f2c434b9c489ea43baf10723482f479ca816d","kind":"tag","published_at":"2015-05-08T21:23:33.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.4.2","html_url":"https://github.com/jestjs/jest/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"99ec18474fc05d8432db8df7aa2e7bb8e3928caf","kind":"tag","published_at":"2015-05-04T22:20:52.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.4.1","html_url":"https://github.com/jestjs/jest/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"8e706c1561474fd0d19a6499ef08c4202b86f090","kind":"tag","published_at":"2015-02-19T22:16:04.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.4.0","html_url":"https://github.com/jestjs/jest/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"d3869e92fdaf041e273f0b3eed115cec80b79cb9","kind":"tag","published_at":"2015-02-17T21:58:06.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.3.0","html_url":"https://github.com/jestjs/jest/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"9e2606655ebcddff0ccf015fc904bbac63823ce6","kind":"tag","published_at":"2014-12-11T01:07:58.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.2.1","html_url":"https://github.com/jestjs/jest/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"d9531ac62f7503fc7efddaf853240d436a5500be","kind":"tag","published_at":"2014-12-03T19:12:12.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.2.0","html_url":"https://github.com/jestjs/jest/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.2.0/manifests"},{"name":"v0.1.18","sha":"e2a4705c3d038604ef2c2273b22691991fd8f1d5","kind":"tag","published_at":"2014-08-05T12:12:38.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.18","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.18/manifests"},{"name":"v0.1.17","sha":"c906fd4d7b29d8263b62a4f6e70df8d472968686","kind":"tag","published_at":"2014-07-04T02:00:27.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.17","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.17/manifests"},{"name":"v0.1.16","sha":"3e92ed5a9bc4efe711e4317888f90d3f84b6a11c","kind":"tag","published_at":"2014-06-26T00:01:40.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.16","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.16/manifests"},{"name":"v0.1.15","sha":"068d7d4a530209f7c49d9aa1660a587eec57c7ca","kind":"tag","published_at":"2014-06-01T01:52:49.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.15","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.15/manifests"},{"name":"v0.1.14","sha":"fa8d7a755529279ebae191818ab91143114934f3","kind":"tag","published_at":"2014-05-28T15:24:46.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.14","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.14/manifests"},{"name":"v0.1.13","sha":"782e3bfc926e37082f03f0f1358de518bb2c6e0a","kind":"tag","published_at":"2014-05-24T16:06:16.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.13","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.13/manifests"},{"name":"v0.1.12","sha":"1be9918c40112f60063e2c0427aa9b94f3c99550","kind":"tag","published_at":"2014-05-22T22:18:57.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.12","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.12/manifests"},{"name":"v0.1.11","sha":"a6b470ddec1af6d835b911106d24cc78f37c6a6a","kind":"tag","published_at":"2014-05-20T22:48:51.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.11","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.11/manifests"},{"name":"v0.1.10","sha":"aa5f7aaf7efaf7c40b0ba2f083cc71341a46bcc4","kind":"tag","published_at":"2014-05-20T00:55:28.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.10","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.10/manifests"},{"name":"v0.1.9","sha":"6c6fa636007ec6433b989b59c6984e1b1e71818b","kind":"tag","published_at":"2014-05-17T06:30:18.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.9","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.9/manifests"},{"name":"v0.1.8","sha":"5ec6ed0401856f9ad5aa0f00d16033f894baaf57","kind":"tag","published_at":"2014-05-16T17:13:01.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.8","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.8/manifests"},{"name":"v0.1.7","sha":"c6ab9f5cdbe843397bd4939b3c7ea3d01991d76b","kind":"tag","published_at":"2014-05-16T16:05:30.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.7","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.7/manifests"},{"name":"v0.1.6","sha":"0e746d2b0590bbd92dcdd2cb33e3cfd905159474","kind":"tag","published_at":"2014-05-16T01:21:02.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.6","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.6/manifests"},{"name":"v0.1.5","sha":"182551e746e441a16b05b1f7e94b5ae6ade2bdc8","kind":"tag","published_at":"2014-05-16T00:11:54.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.5","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.5/manifests"},{"name":"v0.1.4","sha":"8c9c70a25d5fd84669dd729cd5e1dba931272b9d","kind":"tag","published_at":"2014-05-15T23:21:38.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.4","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.4/manifests"},{"name":"v0.1.3","sha":"94d88c34e5682b12425b4014158f76034ed757ce","kind":"tag","published_at":"2014-05-15T21:07:27.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.3","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.3/manifests"},{"name":"v0.1.2","sha":"4b3943207cc13a5ff6e2310496efad3d8655489d","kind":"tag","published_at":"2014-05-14T23:07:32.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.2","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.2/manifests"},{"name":"v0.1.1","sha":"0716604e94a914ba36e9942ae2dacde045f008a4","kind":"tag","published_at":"2014-05-14T19:14:44.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.1","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.1/manifests"},{"name":"v0.1.0","sha":"463fa5ad75fdaf22e7afabb88488deb417eaff1d","kind":"tag","published_at":"2014-05-14T17:32:17.000Z","download_url":"https://codeload.github.com/jestjs/jest/tar.gz/v0.1.0","html_url":"https://github.com/jestjs/jest/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jestjs%2Fjest/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2024-09-07T06:43:40.805Z","dependent_packages_count":241476,"downloads":133467642,"downloads_period":"last-month","dependent_repos_count":2134838,"rankings":{"downloads":0.01670169459226509,"dependent_repos_count":0.013333975846611636,"dependent_packages_count":0.00013689913600217285,"stargazers_count":0.41318942480396026,"forks_count":0.43052087440311915,"docker_downloads_count":0.0434791655942901,"average":0.1528936723960414},"purl":"pkg:npm/jest","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/jest","docker_dependents_count":16330,"docker_downloads_count":3693574504,"usage_url":"https://repos.ecosyste.ms/usage/npm/jest","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/jest/dependencies","status":null,"funding_links":["https://opencollective.com/jest"],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/jest/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/jest/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/jest/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/jest/related_packages","maintainers":[{"uuid":"simenb","login":"simenb","name":null,"email":"sbekkhus91@gmail.com","url":null,"packages_count":262,"html_url":"https://www.npmjs.com/~simenb","role":null,"created_at":"2022-11-10T11:11:57.008Z","updated_at":"2022-11-10T11:11:57.008Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/simenb/packages"},{"uuid":"cpojer","login":"cpojer","name":null,"email":"christoph.pojer@gmail.com","url":null,"packages_count":233,"html_url":"https://www.npmjs.com/~cpojer","role":null,"created_at":"2023-08-23T20:13:27.317Z","updated_at":"2023-08-23T20:13:27.317Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/cpojer/packages"},{"uuid":"rickhanlonii","login":"rickhanlonii","name":null,"email":"rickhanlonii@gmail.com","url":null,"packages_count":50,"html_url":"https://www.npmjs.com/~rickhanlonii","role":null,"created_at":"2023-08-23T20:13:27.896Z","updated_at":"2023-08-23T20:13:27.896Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/rickhanlonii/packages"},{"uuid":"openjs-operations","login":"openjs-operations","name":null,"email":"operations@openjsf.org","url":null,"packages_count":119,"html_url":"https://www.npmjs.com/~openjs-operations","role":null,"created_at":"2024-02-26T16:02:53.538Z","updated_at":"2024-02-26T16:02:53.538Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/openjs-operations/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5005319,"maintainers_count":1012639,"namespaces_count":295318,"keywords_count":699769,"github":"npm","metadata":{"funded_packages_count":150180},"icon_url":"https://github.com/npm.png","created_at":"2022-04-04T15:19:23.081Z","updated_at":"2025-06-05T05:52:15.849Z","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":9015,"unique_repositories_count_past_30_days":489,"recent_issues":[{"uuid":"4567429036","node_id":"PR_kwDOAsSjbc7hlRgu","number":521,"state":"open","title":"Bump the npm-minor-upgrades group with 15 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-02T00:50:44.000Z","updated_at":"2026-06-02T00:51:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"npm-minor-upgrades","update_count":15,"packages":[{"name":"markdown-it","old_version":"14.1.1","new_version":"14.2.0","repository_url":"https://github.com/markdown-it/markdown-it"},{"name":"@swc/core","old_version":"1.15.32","new_version":"1.15.40","repository_url":"https://github.com/swc-project/swc"},{"name":"eslint","old_version":"10.3.0","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-import-resolver-node","old_version":"0.3.10","new_version":"0.4.0","repository_url":"https://github.com/import-js/eslint-plugin-import"},{"name":"globals","old_version":"17.5.0","new_version":"17.6.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-jsdom","old_version":"30.3.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"js-yaml","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"mocha","old_version":"11.7.5","new_version":"11.7.6","repository_url":"https://github.com/mochajs/mocha"},{"name":"postcss","old_version":"8.5.13","new_version":"8.5.15","repository_url":"https://github.com/postcss/postcss"},{"name":"sass","old_version":"1.99.0","new_version":"1.100.0","repository_url":"https://github.com/sass/dart-sass"},{"name":"sass-embedded","old_version":"1.99.0","new_version":"1.100.0","repository_url":"https://github.com/sass/embedded-host-node"},{"name":"stylelint","old_version":"17.9.1","new_version":"17.12.0","repository_url":"https://github.com/stylelint/stylelint"},{"name":"webpack","old_version":"5.106.2","new_version":"5.107.2","repository_url":"https://github.com/webpack/webpack"},{"name":"webpack-cli","old_version":"7.0.2","new_version":"7.0.3","repository_url":"https://github.com/webpack/webpack-cli"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-minor-upgrades group with 15 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [markdown-it](https://github.com/markdown-it/markdown-it) | `14.1.1` | `14.2.0` |\n| [@swc/core](https://github.com/swc-project/swc/tree/HEAD/packages/core) | `1.15.32` | `1.15.40` |\n| [eslint](https://github.com/eslint/eslint) | `10.3.0` | `10.4.1` |\n| [eslint-import-resolver-node](https://github.com/import-js/eslint-plugin-import/tree/HEAD/resolvers/node) | `0.3.10` | `0.4.0` |\n| [globals](https://github.com/sindresorhus/globals) | `17.5.0` | `17.6.0` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) | `30.3.0` | `30.4.1` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `4.1.1` | `4.2.0` |\n| [mocha](https://github.com/mochajs/mocha) | `11.7.5` | `11.7.6` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.13` | `8.5.15` |\n| [sass](https://github.com/sass/dart-sass) | `1.99.0` | `1.100.0` |\n| [sass-embedded](https://github.com/sass/embedded-host-node) | `1.99.0` | `1.100.0` |\n| [stylelint](https://github.com/stylelint/stylelint) | `17.9.1` | `17.12.0` |\n| [webpack](https://github.com/webpack/webpack) | `5.106.2` | `5.107.2` |\n| [webpack-cli](https://github.com/webpack/webpack-cli) | `7.0.2` | `7.0.3` |\n\nUpdates `markdown-it` from 14.1.1 to 14.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md\"\u003emarkdown-it's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.2.0] - 2026-05-24\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eisPunctCharCode\u003c/code\u003e to utilities.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't end HTML comment blocks on a blank line, \u003ca href=\"https://redirect.github.com/markdown-it/markdown-it/issues/1155\"\u003e#1155\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eProperly recognize astral chars (surrogates) in delimiter scans for\nemphasis-like markers, \u003ca href=\"https://redirect.github.com/markdown-it/markdown-it/issues/1072\"\u003e#1072\u003c/a\u003e. Big thanks to \u003ca href=\"https://github.com/tats-u\"\u003e\u003ccode\u003e@​tats-u\u003c/code\u003e\u003c/a\u003e for his global efforts\nwith improving CJK support.\u003c/li\u003e\n\u003cli\u003ePreserve unicode whitespaces when trimm headings/paragraphs, \u003ca href=\"https://redirect.github.com/markdown-it/markdown-it/issues/1074\"\u003e#1074\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eMore strict entities decode to avoid false positives \u003ccode\u003e;\u003c/code\u003e, \u003ca href=\"https://redirect.github.com/markdown-it/markdown-it/issues/1096\"\u003e#1096\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRestore block parser state on fail in \u003ccode\u003elheading\u003c/code\u003e rule, \u003ca href=\"https://redirect.github.com/markdown-it/markdown-it/issues/1131\"\u003e#1131\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed poor smartquotes perfomance on \u0026gt; 70k quotes in single block\u003c/li\u003e\n\u003cli\u003eBumped linkify-it to 5.0.1 with fixed potential perfomance issues.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/829797aa00353ce0b62ddeb9b4583b837b1ffd9b\"\u003e\u003ccode\u003e829797a\u003c/code\u003e\u003c/a\u003e 14.2.0 released\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/9ce2087562c45d1e5ddd9f76b990f4b3fbe040e5\"\u003e\u003ccode\u003e9ce2087\u003c/code\u003e\u003c/a\u003e Fix smartquotes perfomance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/02e73b88fdbaddf7ecee7e567a3da62b98e57a4d\"\u003e\u003ccode\u003e02e73b8\u003c/code\u003e\u003c/a\u003e linkify-it bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/68cfb8c0792ba87992d21ffb4d22ee6cf635afb7\"\u003e\u003ccode\u003e68cfb8c\u003c/code\u003e\u003c/a\u003e fix: don't end HTML comment blocks on a blank line (\u003ca href=\"https://redirect.github.com/markdown-it/markdown-it/issues/1155\"\u003e#1155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/108313756cfffba31166df0140e27dd58e4da115\"\u003e\u003ccode\u003e1083137\u003c/code\u003e\u003c/a\u003e Readme cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/97c7ca2571f4255ff1d0f465958dda5293d20fe8\"\u003e\u003ccode\u003e97c7ca2\u003c/code\u003e\u003c/a\u003e Update funding info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/c471b55c10501aba7b62817df613adc5f451da43\"\u003e\u003ccode\u003ec471b55\u003c/code\u003e\u003c/a\u003e Changelog update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/77696210d1c7c56e4ffd49ff28ba15b460cb01e4\"\u003e\u003ccode\u003e7769621\u003c/code\u003e\u003c/a\u003e isPunctChar =\u0026gt; isPunctCharCode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/aa2aa70b3001ed6aea67c22f1ff52e1ca158d2e1\"\u003e\u003ccode\u003eaa2aa70\u003c/code\u003e\u003c/a\u003e fix: always reset parentType in lheading rule (\u003ca href=\"https://redirect.github.com/markdown-it/markdown-it/issues/1131\"\u003e#1131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/59955f2ad35cbb0e3f41ad779c7363a94b4bf38e\"\u003e\u003ccode\u003e59955f2\u003c/code\u003e\u003c/a\u003e Polish PRs \u003ca href=\"https://redirect.github.com/markdown-it/markdown-it/issues/1072\"\u003e#1072\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/markdown-it/markdown-it/issues/1074\"\u003e#1074\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/markdown-it/markdown-it/compare/14.1.1...14.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@swc/core` from 1.15.32 to 1.15.40\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/swc-project/swc/blob/main/CHANGELOG.md\"\u003e@​swc/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.15.40] - 2026-05-23\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(es/minifier)\u003c/strong\u003e Preserve args for destructured callbacks (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11830\"\u003e#11830\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/21873b06df3fd62d952a21cf879e14d11d4b39d7\"\u003e21873b0\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(es/minifier)\u003c/strong\u003e Avoid generating mangled property names that collide with existing properties (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11839\"\u003e#11839\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/9b4fab58c90256a6da688de87ea405225a5a6fdb\"\u003e9b4fab5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(es/minifier)\u003c/strong\u003e Respect ecma for iife temp vars (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11873\"\u003e#11873\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/e481934a63c0ee891e4a770c4f0cd5ec3fd8624e\"\u003ee481934\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(es/minifier)\u003c/strong\u003e Preserve default parameter object props (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11884\"\u003e#11884\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/71ff84f19762306ab9b86accb29eb6ed83c46f84\"\u003e71ff84f\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(es/parser)\u003c/strong\u003e Reject object-rest assignment to array/object literal (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11875\"\u003e#11875\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/7b57d1f8717d8bf6be0b617b04bc6e219a2b3775\"\u003e7b57d1f\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(es/parser)\u003c/strong\u003e Reject object rest assignment to literals (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11881\"\u003e#11881\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/4ec2eaf4d89ddd95293b8f09169a88b0434c5a13\"\u003e4ec2eaf\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(es/react)\u003c/strong\u003e Exclude self-recursive hooks from refresh dependency array (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11838\"\u003e#11838\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/9101c719fa8f3f5cb410d716d4f50544650cd81e\"\u003e9101c71\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(ts/fast-dts)\u003c/strong\u003e Strip definite assertions in dts (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11858\"\u003e#11858\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/2ab1b8a50f2af3d8b4c42d6c4dd4f2051940cae0\"\u003e2ab1b8a\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(ts/fast-strip)\u003c/strong\u003e Reject unsafe assertion erasure in binary expressions (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11828\"\u003e#11828\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/aa5b539b277dbf4c68c87380d16f4b8713145df3\"\u003eaa5b539\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(typescript)\u003c/strong\u003e Strip parameter binding defaults in dts (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11857\"\u003e#11857\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/800bc170334a74191eb5ae21e3bfc96bf6f7fe56\"\u003e800bc17\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate agent guidance (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11842\"\u003e#11842\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/bf2d0154cf8b66fdab16085585fda0086d297a64\"\u003ebf2d015\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd security policy (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11876\"\u003e#11876\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/6c43c2de9cb9d5516b0ac87101345940964e943e\"\u003e6c43c2d\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eClarify security scope for npm packages (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11877\"\u003e#11877\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/4662db8fe3e503f298a285697ea63ecc1ca3b958\"\u003e4662db8\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eClarify untrusted input security model (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11882\"\u003e#11882\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/546377770e164aead174404fb678319c9c56a9dc\"\u003e5463777\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/112729bc85239e731daf4e5f8daddbd1fe87c12d\"\u003e\u003ccode\u003e112729b\u003c/code\u003e\u003c/a\u003e chore: Publish \u003ccode\u003e1.15.40\u003c/code\u003e with \u003ccode\u003eswc_core\u003c/code\u003e \u003ccode\u003ev66.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/13a5608f703f6c3e4c0f77f4534ce8f5c5d49f61\"\u003e\u003ccode\u003e13a5608\u003c/code\u003e\u003c/a\u003e chore: Publish \u003ccode\u003e1.15.40-nightly-20260523.1\u003c/code\u003e with \u003ccode\u003eswc_core\u003c/code\u003e \u003ccode\u003ev66.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/bc6ee837f38b1dfb6a550fdda7366712abd582b5\"\u003e\u003ccode\u003ebc6ee83\u003c/code\u003e\u003c/a\u003e chore: Publish \u003ccode\u003e1.15.39-nightly-20260523.1\u003c/code\u003e with \u003ccode\u003eswc_core\u003c/code\u003e \u003ccode\u003ev66.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/3a68ad540ce885ab9dae9344c4394e0543644900\"\u003e\u003ccode\u003e3a68ad5\u003c/code\u003e\u003c/a\u003e chore: Publish \u003ccode\u003e1.15.38-nightly-20260522.1\u003c/code\u003e with \u003ccode\u003eswc_core\u003c/code\u003e \u003ccode\u003ev66.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/d0f0d5a020244b571efc963ea8c74fd6bbba9327\"\u003e\u003ccode\u003ed0f0d5a\u003c/code\u003e\u003c/a\u003e chore: Publish \u003ccode\u003e1.15.37-nightly-20260522.1\u003c/code\u003e with \u003ccode\u003eswc_core\u003c/code\u003e \u003ccode\u003ev66.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/969df79007f5fca2306e8beb4acab76f45dc02f1\"\u003e\u003ccode\u003e969df79\u003c/code\u003e\u003c/a\u003e chore: Publish \u003ccode\u003e1.15.36-nightly-20260522.1\u003c/code\u003e with \u003ccode\u003eswc_core\u003c/code\u003e \u003ccode\u003ev66.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/38c2a441bb7931efafec0f2286b1bcb299af2c5e\"\u003e\u003ccode\u003e38c2a44\u003c/code\u003e\u003c/a\u003e chore: Publish \u003ccode\u003e1.15.35-nightly-20260522.1\u003c/code\u003e with \u003ccode\u003eswc_core\u003c/code\u003e \u003ccode\u003ev66.0.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/18df110b195de3ba98e50e9841aa69f1ea1eb61b\"\u003e\u003ccode\u003e18df110\u003c/code\u003e\u003c/a\u003e chore: Publish \u003ccode\u003e1.15.34-nightly-20260522.1\u003c/code\u003e with \u003ccode\u003eswc_core\u003c/code\u003e \u003ccode\u003ev66.0.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/20d92eb3c8dee378f046a6bff839913600a1fbdb\"\u003e\u003ccode\u003e20d92eb\u003c/code\u003e\u003c/a\u003e security: update rkyv and Rust dependencies (\u003ca href=\"https://github.com/swc-project/swc/tree/HEAD/packages/core/issues/11851\"\u003e#11851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/0d8e6510835c8bc4e433d92408ccd4faa4a3f721\"\u003e\u003ccode\u003e0d8e651\u003c/code\u003e\u003c/a\u003e chore: Publish crates with \u003ccode\u003eswc_core\u003c/code\u003e \u003ccode\u003ev65.0.3\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/swc-project/swc/commits/v1.15.40/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.3.0 to 10.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e) (Minh Vu)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c5bc78b37e08b9054a11f0cc2d81808bb24acb85\"\u003e\u003ccode\u003ec5bc78b\u003c/code\u003e\u003c/a\u003e fix: false positive for reference in \u003ccode\u003efinally\u003c/code\u003e block (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20655\"\u003e#20655\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/27538c01f5df4e9306f6f4ba867b2dd6307fae59\"\u003e\u003ccode\u003e27538c0\u003c/code\u003e\u003c/a\u003e fix: add missing CodePath and CodePathSegment types (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20853\"\u003e#20853\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/305d5b91aeac24d36fde42f75625a8f183d4ce43\"\u003e\u003ccode\u003e305d5b9\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rules from related rules section (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20911\"\u003e#20911\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c\"\u003e\u003ccode\u003e49b0202\u003c/code\u003e\u003c/a\u003e docs: fix \u003ccode\u003edisplay: none\u003c/code\u003e of ad (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20901\"\u003e#20901\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9067f9492ec998afc5b4f057a477ecf6ebd45e44\"\u003e\u003ccode\u003e9067f94\u003c/code\u003e\u003c/a\u003e docs: switch build to Node.js 24 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20893\"\u003e#20893\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c91b0417e3420c76807ce1fa2aea76e2de87ab86\"\u003e\u003ccode\u003ec91b041\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e349265cb37f3ebc837e178e48a725bb782bd870\"\u003e\u003ccode\u003ee349265\u003c/code\u003e\u003c/a\u003e docs: clarify semver strings in rule deprecation objects (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20885\"\u003e#20885\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20922\"\u003e#20922\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e) (Arpit Jain)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b\"\u003e\u003ccode\u003e64bca24\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20912\"\u003e#20912\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56\"\u003e\u003ccode\u003e6d7c832\u003c/code\u003e\u003c/a\u003e chore: ignore fflate updates in renovate (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20908\"\u003e#20908\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b2c86382164d87c6203b78d52068cd6a2a6ffe30\"\u003e\u003ccode\u003eb2c8638\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.7 to 6.0.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20889\"\u003e#20889\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a9b8d7f74c50211701cfc49710fa541fd91b2aa5\"\u003e\u003ccode\u003ea9b8d7f\u003c/code\u003e\u003c/a\u003e chore: increase maxBuffer for ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20881\"\u003e#20881\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b702ead5e1ed7cb9f28238a454797662efb37396\"\u003e\u003ccode\u003eb702ead\u003c/code\u003e\u003c/a\u003e chore: update ecosystem update PR settings (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20884\"\u003e#20884\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/507f60e9a78c9a902bc8759f066ae17a1ea6cd81\"\u003e\u003ccode\u003e507f60e\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20882\"\u003e#20882\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92f5c5bb6bf3a5d167c8ee53a430833410295c6d\"\u003e\u003ccode\u003e92f5c5b\u003c/code\u003e\u003c/a\u003e test: add unit test for message-count (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20878\"\u003e#20878\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/df321080af5758b1fa25e4b9a40e26135642dd6e\"\u003e\u003ccode\u003edf32108\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003e@​eslint/markdown\u003c/code\u003e and typescript-eslint ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20837\"\u003e#20837\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/327f91d36aa49f2a50ded931d841a16374fd875f\"\u003e\u003ccode\u003e327f91d\u003c/code\u003e\u003c/a\u003e chore: use includeIgnoreFile internally (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20876\"\u003e#20876\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f0dc4bd893fb3a9f44e4ddc3ad7063ffb0beacd3\"\u003e\u003ccode\u003ef0dc4bd\u003c/code\u003e\u003c/a\u003e chore: pin fflate@0.8.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20877\"\u003e#20877\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0f4bd257a67a082b756de746d9e0c4842ab764ca\"\u003e\u003ccode\u003e0f4bd25\u003c/code\u003e\u003c/a\u003e ci: run Discord alert for ecosystem test failures (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20873\"\u003e#20873\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.4.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf\"\u003e\u003ccode\u003e1a45ec5\u003c/code\u003e\u003c/a\u003e feat: check sequence expressions in \u003ccode\u003efor-direction\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20701\"\u003e#20701\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b\"\u003e\u003ccode\u003e450040b\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to \u003ccode\u003eeslint/config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20735\"\u003e#20735\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c\"\u003e\u003ccode\u003e6799431\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-helpers\u003c/code\u003e to ^0.6.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20850\"\u003e#20850\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd\"\u003e\u003ccode\u003ef078fef\u003c/code\u003e\u003c/a\u003e fix: handle non-array deprecated rule replacements (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20825\"\u003e#20825\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f\"\u003e\u003ccode\u003e9cc7387\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5\"\u003e\u003ccode\u003e3d7b548\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb\"\u003e\u003ccode\u003e191ec3c\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4a3d15a99c452c4db2fd56b577fa7597e98ab0c2\"\u003e\u003ccode\u003e4a3d15a\u003c/code\u003e\u003c/a\u003e 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43e7e2bdc5c6cacc535446b7d23c10f780384ba8\"\u003e\u003ccode\u003e43e7e2b\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20\"\u003e#20\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.3.0...v10.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-import-resolver-node` from 0.3.10 to 0.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/import-js/eslint-plugin-import/releases\"\u003eeslint-import-resolver-node's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ees6-only\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003eno-common\u003c/code\u003e in favor of enforcing that all imports have ES6 modules behind them. (\u003ca href=\"https://github.com/import-js/eslint-plugin-import/tree/HEAD/resolvers/node/issues/20\"\u003e#20\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresolve.root\u003c/code\u003e setting allows module resolution to start from some arbitrary path within your package, instead of just relative paths and \u003ccode\u003enode_modules\u003c/code\u003e. (\u003ca href=\"https://github.com/import-js/eslint-plugin-import/tree/HEAD/resolvers/node/issues/18\"\u003e#18\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003edestructuring\u003c/h2\u003e\n\u003cp\u003eAdded destructuring pattern awareness to \u003ccode\u003eno-reassign\u003c/code\u003e.\nImproved \u003ccode\u003eexists\u003c/code\u003e report message.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/import-js/eslint-plugin-import/blob/main/resolvers/node/CHANGELOG.md\"\u003eeslint-import-resolver-node's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.4.0 - 2026-05-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[breaking] by default, support the \u003ccode\u003eexports\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003e[deps] update \u003ccode\u003eis-core-module\u003c/code\u003e, \u003ccode\u003eresolve\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/import-js/eslint-plugin-import/commits/v0.4.0/resolvers/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globals` from 17.5.0 to 17.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/globals/releases\"\u003eglobals's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate globals (2026-05-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/343\"\u003e#343\u003c/a\u003e)  00a4dd9\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\"\u003ehttps://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/6b15870f1c08b60b5b57afe45a703d9ed0be39bc\"\u003e\u003ccode\u003e6b15870\u003c/code\u003e\u003c/a\u003e 17.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/00a4dd9821830a9b044798120e86b1bb1a54648d\"\u003e\u003ccode\u003e00a4dd9\u003c/code\u003e\u003c/a\u003e Update globals (2026-05-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/343\"\u003e#343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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 `jest-environment-jsdom` from 30.3.0 to 30.4.1\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-environment-jsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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\u003ch2\u003eFixes\u003c/h2\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\u003c/ul\u003e\n\u003c!-- 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-environment-jsdom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ccode\u003e[jest-reporters, jest-runner, jest-runtime, jest-transform]\u003c/code\u003e Fix coverage report not showing correct code coverage when using \u003ccode\u003eprojects\u003c/code\u003e config option (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16140\"\u003e#16140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Resolve \u003ccode\u003eexpect\u003c/code\u003e and \u003ccode\u003e@jest/expect\u003c/code\u003e from the internal module registry so test-file imports share the same \u003ccode\u003eJestAssertionError\u003c/code\u003e as the global \u003ccode\u003eexpect\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16130\"\u003e#16130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Improve CJS-from-ESM interop: \u003ccode\u003e__esModule\u003c/code\u003e/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Load \u003ccode\u003e.js\u003c/code\u003e files with ESM syntax but no \u003ccode\u003e\u0026quot;type\u0026quot;:\u0026quot;module\u0026quot;\u003c/code\u003e marker as native ESM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Extend the \u003ccode\u003e.js\u003c/code\u003e-with-ESM-syntax fallback to \u003ccode\u003erequire()\u003c/code\u003e on Node v24.9+ - falls back to \u003ccode\u003erequire(esm)\u003c/code\u003e when the CJS parser rejects ESM syntax (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16078\"\u003e#16078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix deadlocks and double-evaluation in concurrent ESM and wasm imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\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/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\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.1/packages/jest-environment-jsdom\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `js-yaml` from 4.1.1 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md\"\u003ejs-yaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.0] - 2026-06-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003edocs/safety.md\u003c/code\u003e with notes about processing untrusted YAML.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxDepth\u003c/code\u003e (100) loader option. Not a problem, but gives a better\nexception instead of RangeError on stack overflow.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxMergeSeqLength\u003c/code\u003e (20) loader option. Not a problem after \u003ccode\u003emerge\u003c/code\u003e fix,\nbut an additional restriction for safety.\u003c/li\u003e\n\u003cli\u003eAdded sourcemaps to \u003ccode\u003edist/\u003c/code\u003e builds.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop resolving numbers with underscores as numeric scalars, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/627\"\u003e#627\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSwitched dev toolchains to Vite / neostandard.\u003c/li\u003e\n\u003cli\u003eUpdated demo.\u003c/li\u003e\n\u003cli\u003eReorganized tests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edist/\u003c/code\u003e files are no longer kept in the repository.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parsing of properties on the first implicit block mapping key, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/62\"\u003e#62\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix trailing whitespace handling when folding flow scalar lines, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReject top-level block scalars without content indentation, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/280\"\u003e#280\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnsure numbers survive round-trip, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/737\"\u003e#737\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix test coverage for issue \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/221\"\u003e#221\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix flow scalar trailing whitespace folding, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix digits in YAML named tag handles.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix potential DoS via quadratic complexity in merge - deduplicate repeated\nelements (makes sense for malformed files \u0026gt; 10K).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.14.2] - 2025-11-15\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackported v4.1.1 fix to v3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nodeca/js-yaml/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mocha` from 11.7.5 to 11.7.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mochajs/mocha/releases\"\u003emocha's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.7.6\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mochajs/mocha/compare/v11.7.5...v11.7.6\"\u003e11.7.6\u003c/a\u003e (2026-02-14)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emake \u003ccode\u003edescribe().timeout()\u003c/code\u003e work (\u003ca href=\"https://github.com/mochajs/mocha/commit/aafe6fd8c8f0a897c35cfb228aa8ecf43805b697\"\u003eaafe6fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etest:\u003c/strong\u003e replace \u003ccode\u003ewmic\u003c/code\u003e usage with native Windows API (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5694\"\u003e#5694\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/73ebdfadb95198704ca57ec8087d97f7f3a7a37a\"\u003e73ebdfa\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eformat all code (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5629\"\u003e#5629\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/0696784dd2d7f9b11471acd5854603fa57fe6fab\"\u003e0696784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove Netlify (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5630\"\u003e#5630\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/8d01d335becbcb12439328be90ce75351418d787\"\u003e8d01d33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mochajs/mocha/blob/v11.7.6/CHANGELOG.md\"\u003emocha's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mochajs/mocha/compare/v11.7.5...v11.7.6\"\u003e11.7.6\u003c/a\u003e (2026-02-14)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emake \u003ccode\u003edescribe().timeout()\u003c/code\u003e work (\u003ca href=\"https://github.com/mochajs/mocha/commit/aafe6fd8c8f0a897c35cfb228aa8ecf43805b697\"\u003eaafe6fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etest:\u003c/strong\u003e replace \u003ccode\u003ewmic\u003c/code\u003e usage with native Windows API (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5694\"\u003e#5694\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/73ebdfadb95198704ca57ec8087d97f7f3a7a37a\"\u003e73ebdfa\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eformat all code (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5629\"\u003e#5629\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/0696784dd2d7f9b11471acd5854603fa57fe6fab\"\u003e0696784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove Netlify (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5630\"\u003e#5630\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/8d01d335becbcb12439328be90ce75351418d787\"\u003e8d01d33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mochajs/mocha/commit/3765ba0d9bd9e8918405b681991b982d3f8d4d7e\"\u003e\u003ccode\u003e3765ba0\u003c/code\u003e\u003c/a\u003e chore(v11.x): release 11.7.6 (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5632\"\u003e#5632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mochajs/mocha/commit/73ebdfadb95198704ca57ec8087d97f7f3a7a37a\"\u003e\u003ccode\u003e73ebdfa\u003c/code\u003e\u003c/a\u003e fix(test): replace \u003ccode\u003ewmic\u003c/code\u003e usage with native Windows API (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5694\"\u003e#5694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mochajs/mocha/commit/aafe6fd8c8f0a897c35cfb228aa8ecf43805b697\"\u003e\u003ccode\u003eaafe6fd\u003c/code\u003e\u003c/a\u003e fix: make \u003ccode\u003edescribe().timeout()\u003c/code\u003e work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mochajs/mocha/commit/0696784dd2d7f9b11471acd5854603fa57fe6fab\"\u003e\u003ccode\u003e0696784\u003c/code\u003e\u003c/a\u003e chore: format all code (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5629\"\u003e#5629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mochajs/mocha/commit/8d01d335becbcb12439328be90ce75351418d787\"\u003e\u003ccode\u003e8d01d33\u003c/code\u003e\u003c/a\u003e chore: remove Netlify (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5630\"\u003e#5630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mochajs/mocha/compare/v11.7.5...v11.7.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `postcss` from 8.5.13 to 8.5.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/postcss/releases\"\u003epostcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.5.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed declaration parsing performance (by \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\u003e8.5.14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed custom syntax regression (by \u003ca href=\"https://github.com/43081j\"\u003e\u003ccode\u003e@​43081j\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/postcss/postcss/blob/main/CHANGELOG.md\"\u003epostcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.5.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed declaration parsing performance (by \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\u003e8.5.14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed custom syntax regression (by \u003ca href=\"https://github.com/43081j\"\u003e\u003ccode\u003e@​43081j\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/postcss/postcss/commit/eae46db765d752cf8f40c4fa2b0b85030079c43d\"\u003e\u003ccode\u003eeae46db\u003c/code\u003e\u003c/a\u003e Release 8.5.15 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/79508ffa59e42c02056aca61b88bc393c8b516c4\"\u003e\u003ccode\u003e79508ff\u003c/code\u003e\u003c/a\u003e Update CI actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/b128e2131288a411c6e28071d0929542c49e74eb\"\u003e\u003ccode\u003eb128e21\u003c/code\u003e\u003c/a\u003e Speed up declaration parsing by avoiding creating new array on each token\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/9825dca02c33cf610e2a842be767468b67fbecf9\"\u003e\u003ccode\u003e9825dca\u003c/code\u003e\u003c/a\u003e Fix code format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/55789c865281e2be194fa5b4e41dd046be3a2307\"\u003e\u003ccode\u003e55789c8\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/84fbbe9009cb3cc3bbb4cc3a9b65d468f4844d95\"\u003e\u003ccode\u003e84fbbe9\u003c/code\u003e\u003c/a\u003e Install older pnpm action for old Node.js\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/9f860bd78ec1dbc4f0ae72d693f03f956baa38cb\"\u003e\u003ccode\u003e9f860bd\u003c/code\u003e\u003c/a\u003e Revert pnpm action for old Node.js\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/08771986d47359545f502e009763e223b66bfcf6\"\u003e\u003ccode\u003e0877198\u003c/code\u003e\u003c/a\u003e Update CI actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/b2d1a335cea818f8b27e5cfb90147648afe3e582\"\u003e\u003ccode\u003eb2d1a33\u003c/code\u003e\u003c/a\u003e Fix linter warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/0700dac92283bc259977dff2743ca74a00f58267\"\u003e\u003ccode\u003e0700dac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/postcss/postcss/issues/2088\"\u003e#2088\u003c/a\u003e from rootvector2/add-oss-fuzz-harness\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/postcss/postcss/compare/8.5.13...8.5.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sass` from 1.99.0 to 1.100.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sass/dart-sass/releases\"\u003esass's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDart Sass 1.100.0\u003c/h2\u003e\n\u003cp\u003eTo install Sass 1.100.0, download one of the packages below and \u003ca href=\"https://katiek2.github.io/path-doc/\"\u003eadd it to your PATH\u003c/a\u003e, or see \u003ca href=\"https://sass-lang.com/install\"\u003ethe Sass website\u003c/a\u003e for full installation instructions.\u003c/p\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eWriting two compound selectors adjacent to one another without any whitespace between them, such as \u003ccode\u003e[class]a\u003c/code\u003e, is now deprecated. This was always an error in CSS and Sass only supported it by mistake.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://sass-lang.com/d/adjacent-compounds\"\u003ethe Sass website\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://github.com/sass/dart-sass/blob/master/CHANGELOG.md#11000\"\u003efull changelog\u003c/a\u003e for changes in...\n\n_Description has been truncated_","html_url":"https://github.com/oddbird/sassdoc-theme-herman/pull/521","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oddbird%2Fsassdoc-theme-herman/issues/521","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/521/packages"},{"uuid":"4560312409","node_id":"PR_kwDOLMBsXc7hOERP","number":1124,"state":"open","title":"chore(deps): bump the jest group with 3 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T04:19:34.000Z","updated_at":"2026-06-01T04:32:01.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"jest","update_count":3,"packages":[{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-jsdom","old_version":"30.3.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-jest","old_version":"30.3.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the jest group with 3 updates: [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest), [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) and [babel-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest).\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 `jest-environment-jsdom` from 30.3.0 to 30.4.1\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-environment-jsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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\u003ch2\u003eFixes\u003c/h2\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\u003c/ul\u003e\n\u003c!-- 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-environment-jsdom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ccode\u003e[jest-reporters, jest-runner, jest-runtime, jest-transform]\u003c/code\u003e Fix coverage report not showing correct code coverage when using \u003ccode\u003eprojects\u003c/code\u003e config option (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16140\"\u003e#16140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Resolve \u003ccode\u003eexpect\u003c/code\u003e and \u003ccode\u003e@jest/expect\u003c/code\u003e from the internal module registry so test-file imports share the same \u003ccode\u003eJestAssertionError\u003c/code\u003e as the global \u003ccode\u003eexpect\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16130\"\u003e#16130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Improve CJS-from-ESM interop: \u003ccode\u003e__esModule\u003c/code\u003e/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Load \u003ccode\u003e.js\u003c/code\u003e files with ESM syntax but no \u003ccode\u003e\u0026quot;type\u0026quot;:\u0026quot;module\u0026quot;\u003c/code\u003e marker as native ESM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Extend the \u003ccode\u003e.js\u003c/code\u003e-with-ESM-syntax fallback to \u003ccode\u003erequire()\u003c/code\u003e on Node v24.9+ - falls back to \u003ccode\u003erequire(esm)\u003c/code\u003e when the CJS parser rejects ESM syntax (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16078\"\u003e#16078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix deadlocks and double-evaluation in concurrent ESM and wasm imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\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/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\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.1/packages/jest-environment-jsdom\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `babel-jest` from 30.3.0 to 30.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003ebabel-jest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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\u003ch2\u003eFixes\u003c/h2\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\u003c/ul\u003e\n\u003c!-- 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\"\u003ebabel-jest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ccode\u003e[jest-reporters, jest-runner, jest-runtime, jest-transform]\u003c/code\u003e Fix coverage report not showing correct code coverage when using \u003ccode\u003eprojects\u003c/code\u003e config option (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16140\"\u003e#16140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Resolve \u003ccode\u003eexpect\u003c/code\u003e and \u003ccode\u003e@jest/expect\u003c/code\u003e from the internal module registry so test-file imports share the same \u003ccode\u003eJestAssertionError\u003c/code\u003e as the global \u003ccode\u003eexpect\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16130\"\u003e#16130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Improve CJS-from-ESM interop: \u003ccode\u003e__esModule\u003c/code\u003e/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Load \u003ccode\u003e.js\u003c/code\u003e files with ESM syntax but no \u003ccode\u003e\u0026quot;type\u0026quot;:\u0026quot;module\u0026quot;\u003c/code\u003e marker as native ESM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Extend the \u003ccode\u003e.js\u003c/code\u003e-with-ESM-syntax fallback to \u003ccode\u003erequire()\u003c/code\u003e on Node v24.9+ - falls back to \u003ccode\u003erequire(esm)\u003c/code\u003e when the CJS parser rejects ESM syntax (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16078\"\u003e#16078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix deadlocks and double-evaluation in concurrent ESM and wasm imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\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/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/6886816ab4f2a14a2d53b3020ed02afb2cf0ac9c\"\u003e\u003ccode\u003e6886816\u003c/code\u003e\u003c/a\u003e chore: enable node protocol in imports (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest/issues/16077\"\u003e#16077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/d6d44e8d794d8bceb6993c00fcedc95964fba961\"\u003e\u003ccode\u003ed6d44e8\u003c/code\u003e\u003c/a\u003e feat(babel-jest): support collecting coverage from .mts, .cts (and other) fil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a3ab83991bd52b0dc13368d9b2010fe63be59fae\"\u003e\u003ccode\u003ea3ab839\u003c/code\u003e\u003c/a\u003e chore(deps): update babel monorepo to v8.0.0-rc.4 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest/issues/15976\"\u003e#15976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/487f4e86abd0ccbbd8b24111b5699979d40a2731\"\u003e\u003ccode\u003e487f4e8\u003c/code\u003e\u003c/a\u003e chore: remove unused ignore comment (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest/issues/16069\"\u003e#16069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.1/packages/babel-jest\"\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/lichtblick-suite/lichtblick/pull/1124","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/lichtblick-suite%2Flichtblick/issues/1124","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1124/packages"},{"uuid":"4559740506","node_id":"PR_kwDOCAm2rc7hMPHv","number":2001,"state":"open","title":"chore(deps): bump the jest group with 2 updates","user":"dependabot[bot]","labels":["dependencies","minor"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T01:44:03.000Z","updated_at":"2026-06-01T01:47:11.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"jest","update_count":2,"packages":[{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-jsdom","old_version":"30.3.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the jest group with 2 updates: [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) and [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom).\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 `jest-environment-jsdom` from 30.3.0 to 30.4.1\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-environment-jsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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\u003ch2\u003eFixes\u003c/h2\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\u003c/ul\u003e\n\u003c!-- 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-environment-jsdom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ccode\u003e[jest-reporters, jest-runner, jest-runtime, jest-transform]\u003c/code\u003e Fix coverage report not showing correct code coverage when using \u003ccode\u003eprojects\u003c/code\u003e config option (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16140\"\u003e#16140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Resolve \u003ccode\u003eexpect\u003c/code\u003e and \u003ccode\u003e@jest/expect\u003c/code\u003e from the internal module registry so test-file imports share the same \u003ccode\u003eJestAssertionError\u003c/code\u003e as the global \u003ccode\u003eexpect\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16130\"\u003e#16130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Improve CJS-from-ESM interop: \u003ccode\u003e__esModule\u003c/code\u003e/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Load \u003ccode\u003e.js\u003c/code\u003e files with ESM syntax but no \u003ccode\u003e\u0026quot;type\u0026quot;:\u0026quot;module\u0026quot;\u003c/code\u003e marker as native ESM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Extend the \u003ccode\u003e.js\u003c/code\u003e-with-ESM-syntax fallback to \u003ccode\u003erequire()\u003c/code\u003e on Node v24.9+ - falls back to \u003ccode\u003erequire(esm)\u003c/code\u003e when the CJS parser rejects ESM syntax (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16078\"\u003e#16078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix deadlocks and double-evaluation in concurrent ESM and wasm imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\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/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\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.1/packages/jest-environment-jsdom\"\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/RedHatInsights/insights-advisor-frontend/pull/2001","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedHatInsights%2Finsights-advisor-frontend/issues/2001","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2001/packages"},{"uuid":"4559646532","node_id":"PR_kwDOJGOvU87hL8m3","number":42,"state":"open","title":"Bump the actions-deps group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T01:12:51.000Z","updated_at":"2026-06-01T01:12:52.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"actions-deps","update_count":11,"packages":[{"name":"@actions/core","old_version":"3.0.0","new_version":"3.0.1","repository_url":"https://github.com/actions/toolkit"},{"name":"@actions/github","old_version":"9.0.0","new_version":"9.1.1","repository_url":"https://github.com/actions/toolkit"},{"name":"js-yaml","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"minimatch","old_version":"5.1.2","new_version":"10.2.5","repository_url":"https://github.com/isaacs/minimatch"},{"name":"zod","old_version":"4.3.6","new_version":"4.4.3","repository_url":"https://github.com/colinhacks/zod"},{"name":"@types/minimatch","old_version":"5.1.2","new_version":"6.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/node","old_version":"25.2.3","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"jest","old_version":"30.2.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"ts-jest","old_version":"29.4.6","new_version":"29.4.11","repository_url":"https://github.com/kulshekhar/ts-jest"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the actions-deps group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) | `3.0.0` | `3.0.1` |\n| [@actions/github](https://github.com/actions/toolkit/tree/HEAD/packages/github) | `9.0.0` | `9.1.1` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `4.1.1` | `4.2.0` |\n| [minimatch](https://github.com/isaacs/minimatch) | `5.1.2` | `10.2.5` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [@types/minimatch](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/minimatch) | `5.1.2` | `6.0.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.2.3` | `25.9.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.2.0` | `30.4.2` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [ts-jest](https://github.com/kulshekhar/ts-jest) | `29.4.6` | `29.4.11` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n\n\nUpdates `@actions/core` from 3.0.0 to 3.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md\"\u003e@​actions/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump \u003ccode\u003eundici\u003c/code\u003e from \u003ccode\u003e6.23.0\u003c/code\u003e to \u003ccode\u003e6.24.1\u003c/code\u003e \u003ca href=\"https://redirect.github.com/actions/toolkit/pull/2348\"\u003e#2348\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\u003eSee full diff in \u003ca href=\"https://github.com/actions/toolkit/commits/HEAD/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@actions/github` from 9.0.0 to 9.1.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/actions/toolkit/blob/main/packages/github/RELEASES.md\"\u003e@​actions/github's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e9.1.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump \u003ccode\u003eundici\u003c/code\u003e from \u003ccode\u003e6.23.0\u003c/code\u003e to \u003ccode\u003e6.24.0\u003c/code\u003e \u003ca href=\"https://redirect.github.com/actions/toolkit/pull/2346\"\u003e#2346\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e9.1.0\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAppend \u003ccode\u003eactions_orchestration_id\u003c/code\u003e to user-agent when the \u003ccode\u003eACTIONS_ORCHESTRATION_ID\u003c/code\u003e environment variable is set \u003ca href=\"https://redirect.github.com/actions/toolkit/pull/2364\"\u003e#2364\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\u003eSee full diff in \u003ca href=\"https://github.com/actions/toolkit/commits/HEAD/packages/github\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `js-yaml` from 4.1.1 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md\"\u003ejs-yaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.0] - 2026-06-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003edocs/safety.md\u003c/code\u003e with notes about processing untrusted YAML.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxDepth\u003c/code\u003e (100) loader option. Not a problem, but gives a better\nexception instead of RangeError on stack overflow.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxMergeSeqLength\u003c/code\u003e (20) loader option. Not a problem after \u003ccode\u003emerge\u003c/code\u003e fix,\nbut an additional restriction for safety.\u003c/li\u003e\n\u003cli\u003eAdded sourcemaps to \u003ccode\u003edist/\u003c/code\u003e builds.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop resolving numbers with underscores as numeric scalars, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/627\"\u003e#627\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSwitched dev toolchains to Vite / neostandard.\u003c/li\u003e\n\u003cli\u003eUpdated demo.\u003c/li\u003e\n\u003cli\u003eReorganized tests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edist/\u003c/code\u003e files are no longer kept in the repository.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parsing of properties on the first implicit block mapping key, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/62\"\u003e#62\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix trailing whitespace handling when folding flow scalar lines, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReject top-level block scalars without content indentation, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/280\"\u003e#280\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnsure numbers survive round-trip, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/737\"\u003e#737\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix test coverage for issue \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/221\"\u003e#221\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix flow scalar trailing whitespace folding, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix digits in YAML named tag handles.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix potential DoS via quadratic complexity in merge - deduplicate repeated\nelements (makes sense for malformed files \u0026gt; 10K).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.14.2] - 2025-11-15\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackported v4.1.1 fix to v3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nodeca/js-yaml/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minimatch` from 5.1.2 to 10.2.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/minimatch/blob/main/changelog.md\"\u003eminimatch's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003echange log\u003c/h1\u003e\n\u003ch2\u003e10.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebraceExpandMax\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003emagicalBraces\u003c/code\u003e option for \u003ccode\u003eescape\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003emakeRe\u003c/code\u003e when \u003ccode\u003epartial: true\u003c/code\u003e is set.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003emakeRe\u003c/code\u003e when pattern ends in a final \u003ccode\u003e**\u003c/code\u003e path part.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequire node 20 or 22 and higher\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo default export, only named exports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRecursive descent parser for extglob, allowing correct support\nfor arbitrarily nested extglob expressions\u003c/li\u003e\n\u003cli\u003eBump required Node.js version\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eescape()\u003c/code\u003e method\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eunescape()\u003c/code\u003e method\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eMinimatch.hasMagic()\u003c/code\u003e method\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for posix character classes in a unicode-aware way.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ewindowsNoMagicRoot\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eoptimizationLevel\u003c/code\u003e configuration option, and revert the\ndefault back to the 6.2 style minimal optimizations, making the\nadvanced transforms introduced in 7.0 opt-in. Also, process\nprovided file paths in the same way in optimizationLevel:2\nmode, so \u003cem\u003emost\u003c/em\u003e things that matched with optimizationLevel 1 or\n0 \u003cem\u003eshould\u003c/em\u003e match with level 2 as well. However, level 1 is the\ndefault, out of an abundance of caution.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/693c82377d0948401be4c6d3220c9a74132ab112\"\u003e\u003ccode\u003e693c823\u003c/code\u003e\u003c/a\u003e 10.2.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/7953af1fac53267c05e362f036b70de898318faa\"\u003e\u003ccode\u003e7953af1\u003c/code\u003e\u003c/a\u003e do not allow .. to consume drive letter on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/1caf91893b67586255c68e2e513b14ac66785a24\"\u003e\u003ccode\u003e1caf918\u003c/code\u003e\u003c/a\u003e lint and format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/7783ed6670442acb4d455b9b164a1b2a33507a45\"\u003e\u003ccode\u003e7783ed6\u003c/code\u003e\u003c/a\u003e ignore docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/6d9b356cd59372de00e1d5f3b8907a3350b9b8e5\"\u003e\u003ccode\u003e6d9b356\u003c/code\u003e\u003c/a\u003e update deps etc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/c36addb94e33f14254b9ca9017e63ae9c9d80d1d\"\u003e\u003ccode\u003ec36addb\u003c/code\u003e\u003c/a\u003e 10.2.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/26b90027d5ad0c383b5253a4e45d6dc7da282db4\"\u003e\u003ccode\u003e26b9002\u003c/code\u003e\u003c/a\u003e docs: add warning about ReDoS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/3a0d83b6f03a17ebc15361c2faa7110777042aab\"\u003e\u003ccode\u003e3a0d83b\u003c/code\u003e\u003c/a\u003e fix partial matching of globstar patterns\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/ea94840326c3f40522f1b544bd2303024b0eec35\"\u003e\u003ccode\u003eea94840\u003c/code\u003e\u003c/a\u003e 10.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/0873fbabc00a86e09f4469386059a71abb136c93\"\u003e\u003ccode\u003e0873fba\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/minimatch/compare/v5.1.2...v10.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zod` from 4.3.6 to 4.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/colinhacks/zod/releases\"\u003ezod's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.4.3\u003c/h2\u003e\n\u003ch2\u003eCommits:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e4c2fa95ce3f3390fbc522324e406b4e9e89b88f9 docs: use Zernio primary wordmark for gold sponsor logo\u003c/li\u003e\n\u003cli\u003e2aeec83eb135e3a83756e973ef44845fc5a455d2 docs: prune lapsed gold sponsors and rebalance logo sizing\u003c/li\u003e\n\u003cli\u003e7391be88ac1ee5cd02057f5ccc012a1f5df4efd0 docs: prune lapsed silver/bronze sponsors and add active ones\u003c/li\u003e\n\u003cli\u003e2c703322a21b4e2b12f33f49ea8430c451a68b4f docs: normalize bronze sponsor logos to github avatar pattern\u003c/li\u003e\n\u003cli\u003e9195250cab0e7950efe39c3926d6c203b4b0a170 docs: remove Mintlify from bronze sponsors (churned)\u003c/li\u003e\n\u003cli\u003eb8dffe9e62f17e6571e6249d05cc5102b54d94e4 docs: remove Numeric and Speakeasy (2+ missed monthly cycles)\u003c/li\u003e\n\u003cli\u003e1cab69383fcdeae2a366d5e2a2fc4d8fc765d168 fix(v4): restore catch handling for absent object keys (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/5937\"\u003e#5937\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/5939\"\u003e#5939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec2be4f819064eed62c7c350a2d399b5faecd15f8 fix(v4): generalize optin/fallback to transform; restore preprocess on absent keys (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/5941\"\u003e#5941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ef3c9ec03ba7a28ae72d25cc295f38674bee0f559 4.4.3\u003c/li\u003e\n\u003cli\u003e1fb56a5c18c27102dbc92260a4007c7732a0ccca docs: document release procedure in AGENTS.md\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.4.2\u003c/h2\u003e\n\u003ch2\u003eCommits:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e0c62df0ea19fd05abdf90473e9eef7eea530fab2 Clean up docs navigation and stale labels (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/5901\"\u003e#5901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e20cc794895cc8604fe0c87d83a5d1c3f89fad0ac chore: add security policy and refresh tooling deps\u003c/li\u003e\n\u003cli\u003e6fbe07b0177efdd1bf1c0b05160e70d7a0702337 fix(docs): heading anchor links now include the hash so it doesnt scoll all the way up, follows navbar logic (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/5791\"\u003e#5791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4bbed1b1c73eca4ce9e59b1189ed236aa6c8b5bd Tighten discriminated union option typing\u003c/li\u003e\n\u003cli\u003ebbac3e567e7fccfaaf7cdc97f1ce30c295e2c908 Update PR guidance for agents\u003c/li\u003e\n\u003cli\u003ecf0dc942a32805c292fff59ade20a7ace980735a Merge remote-tracking branch 'origin/main' into fix-discriminated-union-key-constraint\u003c/li\u003e\n\u003cli\u003e292c894a5fd2aa42e527900b83d8d7a3009a709c docs: add Zernio gold sponsor\u003c/li\u003e\n\u003cli\u003e1fc9f311c28dcf80d0bb5a36b177086cbc3d8eca docs: document codec inversion\u003c/li\u003e\n\u003cli\u003e1373c85da9aeff704a9762d27bc58699618aefb7 docs: remove AI disclosure guidance\u003c/li\u003e\n\u003cli\u003ee20d02b473c08e3a4e557bc610b1b5fac079b649 chore: ignore triage notes\u003c/li\u003e\n\u003cli\u003ee58ea4d91b1dfe8194b73508203213cbc7e9c936 docs: test Zod Mini tab code heights\u003c/li\u003e\n\u003cli\u003e905761a5d127e8d5dd2ebb3bc88c75cb0b8149ff docs: document preprocess input type narrowing\u003c/li\u003e\n\u003cli\u003ebf64bac850d4dee2b7dde7e64909d5d796d32043 chore: tighten test guidance in AGENTS.md\u003c/li\u003e\n\u003cli\u003e8ec4e73f4c4693b6361ad591be40fb41eb8a9f95 chore: update play.ts scratch\u003c/li\u003e\n\u003cli\u003e02c2baf7d0d615872fa4528a8020603b71211702 Make z.preprocess defer optionality to inner schema (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/5929\"\u003e#5929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e88015df8e25c44fb5385eb3ef28935119cd5edea fix(docs): drop deprecated \u003ccode\u003ebaseUrl\u003c/code\u003e from tsconfig\u003c/li\u003e\n\u003cli\u003ec59d4474e3b4cad1b323462186cf607178ce8267 4.4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.4.1\u003c/h2\u003e\n\u003ch2\u003eCommits:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e481f7be4238c83ed58183f921b2646f340a91c6a ci: gate release publishing on full test workflow\u003c/li\u003e\n\u003cli\u003e95ccab423aec720b2523c3a64cdc7e3204537cc7 test(v3): restore optional undefined expectations\u003c/li\u003e\n\u003cli\u003ecede2c63739a5823d6aa5093d291e9a111da943d fix(v4): reject tuple holes before required defaults (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eedd0bf0f5ada4a8dc581c259407d7bbad0a71ea7 release: 4.4.1\u003c/li\u003e\n\u003cli\u003e180d83d1dbe6a59260710cc8637a3dea2281ee56 docs: remove Jazz featured sponsor\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.4.0\u003c/h2\u003e\n\u003ch2\u003e4.4.0\u003c/h2\u003e\n\u003cp\u003eThis is a minor release with a wide set of correctness and soundness fixes. Some fixes intentionally make Zod stricter, so code that depended on previously accepted invalid or ambiguous inputs may need small updates.\u003c/p\u003e\n\u003ch2\u003ePotentially breaking bug fixes\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/1fb56a5c18c27102dbc92260a4007c7732a0ccca\"\u003e\u003ccode\u003e1fb56a5\u003c/code\u003e\u003c/a\u003e docs: document release procedure in AGENTS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/f3c9ec03ba7a28ae72d25cc295f38674bee0f559\"\u003e\u003ccode\u003ef3c9ec0\u003c/code\u003e\u003c/a\u003e 4.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/c2be4f819064eed62c7c350a2d399b5faecd15f8\"\u003e\u003ccode\u003ec2be4f8\u003c/code\u003e\u003c/a\u003e fix(v4): generalize optin/fallback to transform; restore preprocess on absent...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/1cab69383fcdeae2a366d5e2a2fc4d8fc765d168\"\u003e\u003ccode\u003e1cab693\u003c/code\u003e\u003c/a\u003e fix(v4): restore catch handling for absent object keys (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/5937\"\u003e#5937\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/5939\"\u003e#5939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/b8dffe9e62f17e6571e6249d05cc5102b54d94e4\"\u003e\u003ccode\u003eb8dffe9\u003c/code\u003e\u003c/a\u003e docs: remove Numeric and Speakeasy (2+ missed monthly cycles)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/9195250cab0e7950efe39c3926d6c203b4b0a170\"\u003e\u003ccode\u003e9195250\u003c/code\u003e\u003c/a\u003e docs: remove Mintlify from bronze sponsors (churned)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/2c703322a21b4e2b12f33f49ea8430c451a68b4f\"\u003e\u003ccode\u003e2c70332\u003c/code\u003e\u003c/a\u003e docs: normalize bronze sponsor logos to github avatar pattern\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/7391be88ac1ee5cd02057f5ccc012a1f5df4efd0\"\u003e\u003ccode\u003e7391be8\u003c/code\u003e\u003c/a\u003e docs: prune lapsed silver/bronze sponsors and add active ones\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/2aeec83eb135e3a83756e973ef44845fc5a455d2\"\u003e\u003ccode\u003e2aeec83\u003c/code\u003e\u003c/a\u003e docs: prune lapsed gold sponsors and rebalance logo sizing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/4c2fa95ce3f3390fbc522324e406b4e9e89b88f9\"\u003e\u003ccode\u003e4c2fa95\u003c/code\u003e\u003c/a\u003e docs: use Zernio primary wordmark for gold sponsor logo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/colinhacks/zod/compare/v4.3.6...v4.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for zod since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/minimatch` from 5.1.2 to 6.0.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/minimatch\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.2.3 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.2.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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/96c53d30660e51bf76ed2cd1ecc2334c399ac31c\"\u003e\u003ccode\u003e96c53d3\u003c/code\u003e\u003c/a\u003e feat(jest-config): add \u003ccode\u003edefineConfig\u003c/code\u003e and \u003ccode\u003emergeConfig\u003c/code\u003e functions (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15844\"\u003e#15844\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 `prettier` from 3.8.1 to 3.8.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.8.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003eprettier/prettier#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.8.3/CHANGELOG.md#383\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Angular v21.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md#382\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.8.3\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.2...3.8.3\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003e#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"scss\"\u003e\u003ccode\u003e// Input\n$value: if(sass(false): 1; else: -1);\n\u003cp\u003e// Prettier 3.8.2\n$value: if(\nsass(false): 1; else: -1,\n);\u003c/p\u003e\n\u003cp\u003e// Prettier 3.8.3\n$value: if(sass(false): 1; else: -1);\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.8.2\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.1...3.8.2\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eAngular: Support Angular v21.2 (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18722\"\u003e#18722\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19034\"\u003e#19034\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003cp\u003eExhaustive typechecking with \u003ccode\u003e@default never;\u003c/code\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n@switch (foo) {\n  @case (1) {}\n  @default never;\n}\n\u003cp\u003e\u0026lt;!-- Prettier 3.8.1 --\u0026gt;\nSyntaxError: Incomplete block \u0026quot;default never\u0026quot;. If you meant to write the @ character, you should use the \u0026quot;\u0026amp;\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/64\"\u003e#64\u003c/a\u003e;\u0026quot; HTML entity instead. (3:3)\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.8.2 --\u0026gt;\n\u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e (foo) {\n\u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (1) {}\n\u003ca href=\"https://github.com/default\"\u003e\u003ccode\u003e@​default\u003c/code\u003e\u003c/a\u003e never;\n}\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003earrow function\u003c/code\u003e and \u003ccode\u003einstanceof\u003c/code\u003e expressions.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/d7108a79ec745c04292aabf22c4c1adbd690b191\"\u003e\u003ccode\u003ed7108a7\u003c/code\u003e\u003c/a\u003e Release 3.8.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/177f90898170d363ef64fde663e4d13170688bfe\"\u003e\u003ccode\u003e177f908\u003c/code\u003e\u003c/a\u003e Prevent trailing comma in SCSS \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/18471\"\u003e#18471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/1cd40668c3d6f2f4cf9d87bbc9096d92361b2606\"\u003e\u003ccode\u003e1cd4066\u003c/code\u003e\u003c/a\u003e Release \u003ccode\u003e@​prettier/plugin-oxc\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/a8700e245038cd8cc0cf28ef06ffedbcb3fc2dfc\"\u003e\u003ccode\u003ea8700e2\u003c/code\u003e\u003c/a\u003e Update oxc-parser to v0.125.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/752157c78eca6f0a30e5d5cb513b682c5ecfa01e\"\u003e\u003ccode\u003e752157c\u003c/code\u003e\u003c/a\u003e Fix tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/053fd418e180b12fa2014260212fae831f5fc5ec\"\u003e\u003ccode\u003e053fd41\u003c/code\u003e\u003c/a\u003e Bump Prettier dependency to 3.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/904c6365ec46726fd0e21021c52ae934b7e5abc6\"\u003e\u003ccode\u003e904c636\u003c/code\u003e\u003c/a\u003e Clean changelog_unreleased\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dc1f7fcc508d116cbf1644d69a1f0eb93e40d4a4\"\u003e\u003ccode\u003edc1f7fc\u003c/code\u003e\u003c/a\u003e Update dependents count\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/b31557cf331a02acf83e7e29d1001b070189a0d9\"\u003e\u003ccode\u003eb31557c\u003c/code\u003e\u003c/a\u003e Release 3.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/96bbaeda0525bf758e464aed2f939d739a85c315\"\u003e\u003ccode\u003e96bbaed\u003c/code\u003e\u003c/a\u003e Support Angular v21.2 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/18722\"\u003e#18722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prettier/prettier/compare/3.8.1...3.8.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ts-jest` from 29.4.6 to 29.4.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kulshekhar/ts-jest/releases\"\u003ets-jest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.4.11\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev29.4.10\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev29.4.9\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev29.4.8\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev29.4.7\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md\"\u003ets-jest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/compare/v29.4.10...v29.4.11\"\u003e29.4.11\u003c/a\u003e (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epreserve Bundler on the CJS path under TypeScript \u0026gt;= 6 (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/39418187515f11b6584d35a4e3ddf50231f74936\"\u003e3941818\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/kulshekhar/ts-jest/issues/4198\"\u003e#4198\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/compare/v29.4.9...v29.4.10\"\u003e29.4.10\u003c/a\u003e (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epass \u003ccode\u003eresolutionMode\u003c/code\u003e to \u003ccode\u003ets.resolveModuleName\u003c/code\u003e for hybrid module support (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/b557a85f85c3fd34523ec3a15293afbdc9dea83c\"\u003eb557a85\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erebuild \u003ccode\u003eProgram\u003c/code\u003e when consecutive compiles need different module kinds (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/a82a2b32c4987a5249fd5284283117dd2fa3be47\"\u003ea82a2b3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/kulshekhar/ts-jest/issues/4774\"\u003e#4774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erespect tsconfig \u003ccode\u003emoduleResolution\u003c/code\u003e instead of forcing \u003ccode\u003eNode10\u003c/code\u003e (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/1bffffc667557c173ae0c1f93dd436920775dac4\"\u003e1bffffc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etransformer:\u003c/strong\u003e transpile \u003ccode\u003emjs\u003c/code\u003e files from \u003ccode\u003enode_modules\u003c/code\u003e for CJS mode (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/96d025dd912ea2bceb18b67d2d509ada7a756d9d\"\u003e96d025d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etransformer:\u003c/strong\u003e use a consistent comparator in hoist-jest sortStatements (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/8a8fd2fb8446655bba18367db9306a1089490e62\"\u003e8a8fd2f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/compare/v29.4.8...v29.4.9\"\u003e29.4.9\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003euse correct registry for npm OIDC trusted publishing (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/f8a9cc9892\"\u003ef8a9cc9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/compare/v29.4.7...v29.4.8\"\u003e29.4.8\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ewrong published assets\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/compare/v29.4.6...v29.4.7\"\u003e29.4.7\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport TypeScript v6 (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/eda517d226389317d99572887d3c1aa93c81be87\"\u003eeda517d\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/kulshekhar/ts-jest/commit/bff2d64917caa8150701829b152c4d193614d997\"\u003e\u003ccode\u003ebff2d64\u003c/code\u003e\u003c/a\u003e chore(release): 29.4.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/39418187515f11b6584d35a4e3ddf50231f74936\"\u003e\u003ccode\u003e3941818\u003c/code\u003e\u003c/a\u003e fix: preserve Bundler on the CJS path under TypeScript \u0026gt;= 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/efb3c2f84d3583db0787982a18425d99edadfe25\"\u003e\u003ccode\u003eefb3c2f\u003c/code\u003e\u003c/a\u003e build(deps): bump webpack-dev-server from 5.2.2 to 5.2.4 in /website\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/4e46fad6c1c4d5be5d6666c64bf65a3af2f1519e\"\u003e\u003ccode\u003e4e46fad\u003c/code\u003e\u003c/a\u003e ci: refactor release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/96b3ac0cc0586d5379c87308f797a9acf0e4a675\"\u003e\u003ccode\u003e96b3ac0\u003c/code\u003e\u003c/a\u003e chore(release): 29.4.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/e98ec6452548a61285d55c00c7f6b1fd9858d699\"\u003e\u003ccode\u003ee98ec64\u003c/code\u003e\u003c/a\u003e build(deps): update github/codeql-action digest to 458d36d\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/21ac58f60f93164640433250fb4ca8b671aa8587\"\u003e\u003ccode\u003e21ac58f\u003c/code\u003e\u003c/a\u003e build(deps): update jest packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/0fdc96d293c6ce047bf61831b721218623882e78\"\u003e\u003ccode\u003e0fdc96d\u003c/code\u003e\u003c/a\u003e build(deps): update dependency semver to ^7.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/4b95551190235a65eac176625c72e220af066efe\"\u003e\u003ccode\u003e4b95551\u003c/code\u003e\u003c/a\u003e build(deps): update dependency jest-environment-jsdom to ^30.4.1 (\u003ca href=\"https://redirect.github.com/kulshekhar/ts-jest/issues/5311\"\u003e#5311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/7b884476f7891e2b9a8637e2f6bb2e09b7efcfbd\"\u003e\u003ccode\u003e7b88447\u003c/code\u003e\u003c/a\u003e build(deps): update eslint packages to ^8.59.3 (\u003ca href=\"https://redirect.github.com/kulshekhar/ts-jest/issues/5310\"\u003e#5310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/kulshekhar/ts-jest/compare/v29.4.6...v29.4.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for ts-jest since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typescript` from 5.9.3 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/TypeScript/releases\"\u003etypescript's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTypeScript 6.0.3\u003c/h2\u003e\n\u003cp\u003eFor release notes, check out the \u003ca href=\"https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/\"\u003erelease announcement blog post\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.0%22\"\u003efixed issues query for TypeScript 6.0.0 (Beta)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.1%22\"\u003efixed issues query for TypeScript 6.0.1 (RC)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.2%22\"\u003efixed issues query for TypeScript 6.0.2 (Stable)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.3%22\"\u003efixed issues query for TypeScript 6.0.3 (Stable)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDownloads are available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/typescript\"\u003enpm\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTypeScript 6.0\u003c/h2\u003e\n\u003cp\u003eFor release notes, check out the \u003ca href=\"https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/\"\u003erelease announcement blog post\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.0%22\"\u003efixed issues query for TypeScript 6.0.0 (Beta)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.1%22\"\u003efixed issues query for TypeScript 6.0.1 (RC)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.2%22\"\u003efixed issues query for TypeScript 6.0.2 (Stable)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDownloads are available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/typescript\"\u003enpm\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTypeScript 6.0 Beta\u003c/h2\u003e\n\u003cp\u003eFor release notes, check out the \u003ca href=\"https://devblogs.microsoft.com/typescript/announcing-typescript-6-0-beta/\"\u003erelease announcement\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.0%22+is%3Aclosed+\"\u003efixed issues query for Typescript 6.0.0 (Beta)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDownloads are available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/typescript\"\u003enpm\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/050880ce59e30b356b686bd3144efe24f875ebc8\"\u003e\u003ccode\u003e050880c\u003c/code\u003e\u003c/a\u003e Bump version to 6.0.3 and LKG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/eeae9dd0f17aa494658e4ec079dc002e02dd625e\"\u003e\u003ccode\u003eeeae9dd\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63401\"\u003e#63401\u003c/a\u003e (Also check package name validity in...) into release-6.0 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/ad1c695fada682764bb510dd680e8f175ae54094\"\u003e\u003ccode\u003ead1c695\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63368\"\u003e#63368\u003c/a\u003e (Harden ATA package name filtering) into release-6.0 (\u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63372\"\u003e#63372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/0725fb4664a1d5ec94040b6d94db77dc1cc354e4\"\u003e\u003ccode\u003e0725fb4\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63310\"\u003e#63310\u003c/a\u003e (Mark class property initializers as...) into release-6.0 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/607a22a90d1a5a1b507ce01bb8cd7ec020f954e7\"\u003e\u003ccode\u003e607a22a\u003c/code\u003e\u003c/a\u003e Bump version to 6.0.2 and LKG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/9e72ab71b575e26795d0d9eac3d2d9957beed17c\"\u003e\u003ccode\u003e9e72ab7\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63239\"\u003e#63239\u003c/a\u003e (Fix missing lib files in reused pro...) into release-6.0 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/35ff23d4b0cc715691323ebe54f523c16fe6e3a5\"\u003e\u003ccode\u003e35ff23d\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63163\"\u003e#63163\u003c/a\u003e (Port anyFunctionType subtype fix an...) into release-6.0 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/e175b69138038953d4e85bf6529afe88d56d8fbe\"\u003e\u003ccode\u003ee175b69\u003c/code\u003e\u003c/a\u003e Bump version to 6.0.1-rc and LKG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/af4caac0e91e838c46b3fdc1c9afacad68800f89\"\u003e\u003ccode\u003eaf4caac\u003c/code\u003e\u003c/a\u003e Update LKG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/8efd7e8544d8b35c9b33bca44a3124aa2613bf09\"\u003e\u003ccode\u003e8efd7e8\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/main' into release-6.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/TypeScript/compare/v5.9.3...v6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\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/actions-marketplace-validations/contractify_label-and-assign/pull/42","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/actions-marketplace-validations%2Fcontractify_label-and-assign/issues/42","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/42/packages"},{"uuid":"4559587253","node_id":"PR_kwDOQuIUVs7hLw_7","number":178,"state":"open","title":"chore(deps-dev): bump jest from 30.3.0 to 30.4.2 in the testing group","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T00:53:07.000Z","updated_at":"2026-06-01T00:53:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"}],"path":"the testing group","ecosystem":"npm"},"body":"Bumps the testing group with 1 update: [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest).\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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jest\u0026package-manager=npm_and_yarn\u0026previous-version=30.3.0\u0026new-version=30.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \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/lapease32/walking-rpg-app/pull/178","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/lapease32%2Fwalking-rpg-app/issues/178","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/178/packages"},{"uuid":"4559469166","node_id":"PR_kwDOLdyd487hLZQl","number":113,"state":"open","title":"chore(deps-dev): bump the dev-dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T00:13:41.000Z","updated_at":"2026-06-01T00:13:43.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"dev-dependencies","update_count":12,"packages":[{"name":"@matteoh2o1999/github-actions-jest-reporter","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/MatteoH2O1999/github-actions-jest-reporter"},{"name":"@stylistic/eslint-plugin","old_version":"5.7.1","new_version":"5.10.0","repository_url":"https://github.com/eslint-stylistic/eslint-stylistic"},{"name":"@types/node","old_version":"25.2.1","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/parser","old_version":"8.54.0","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"axios","old_version":"1.13.4","new_version":"1.16.1","repository_url":"https://github.com/axios/axios"},{"name":"eslint","old_version":"9.39.2","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-jest","old_version":"29.12.2","new_version":"29.15.2","repository_url":"https://github.com/jest-community/eslint-plugin-jest"},{"name":"jest","old_version":"30.2.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"js-yaml","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"ts-jest","old_version":"29.4.6","new_version":"29.4.11","repository_url":"https://github.com/kulshekhar/ts-jest"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@matteoh2o1999/github-actions-jest-reporter](https://github.com/MatteoH2O1999/github-actions-jest-reporter) | `4.0.0` | `4.1.0` |\n| [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin) | `5.7.1` | `5.10.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.2.1` | `25.9.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.54.0` | `8.60.0` |\n| [axios](https://github.com/axios/axios) | `1.13.4` | `1.16.1` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.2` | `10.4.1` |\n| [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) | `29.12.2` | `29.15.2` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.2.0` | `30.4.2` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `4.1.1` | `4.2.0` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [ts-jest](https://github.com/kulshekhar/ts-jest) | `29.4.6` | `29.4.11` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n\n\nUpdates `@matteoh2o1999/github-actions-jest-reporter` from 4.0.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/releases\"\u003e@​matteoh2o1999/github-actions-jest-reporter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps-dev): bump eslint from 9.33.0 to 9.34.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/409\"\u003eMatteoH2O1999/github-actions-jest-reporter#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e from 8.40.0 to 8.41.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/410\"\u003eMatteoH2O1999/github-actions-jest-reporter#410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 5 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/418\"\u003eMatteoH2O1999/github-actions-jest-reporter#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): bump actions/setup-node from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/415\"\u003eMatteoH2O1999/github-actions-jest-reporter#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 5 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/421\"\u003eMatteoH2O1999/github-actions-jest-reporter#421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e from 8.44.0 to 8.44.1 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/422\"\u003eMatteoH2O1999/github-actions-jest-reporter#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/426\"\u003eMatteoH2O1999/github-actions-jest-reporter#426\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): bump jest-util from 30.0.5 to 30.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/424\"\u003eMatteoH2O1999/github-actions-jest-reporter#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 24.6.1 to 24.6.2 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/427\"\u003eMatteoH2O1999/github-actions-jest-reporter#427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/431\"\u003eMatteoH2O1999/github-actions-jest-reporter#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): bump github/codeql-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/430\"\u003eMatteoH2O1999/github-actions-jest-reporter#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): bump actions/setup-node from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/432\"\u003eMatteoH2O1999/github-actions-jest-reporter#432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/433\"\u003eMatteoH2O1999/github-actions-jest-reporter#433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/435\"\u003eMatteoH2O1999/github-actions-jest-reporter#435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/438\"\u003eMatteoH2O1999/github-actions-jest-reporter#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): bump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/443\"\u003eMatteoH2O1999/github-actions-jest-reporter#443\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 5 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/442\"\u003eMatteoH2O1999/github-actions-jest-reporter#442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/445\"\u003eMatteoH2O1999/github-actions-jest-reporter#445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/448\"\u003eMatteoH2O1999/github-actions-jest-reporter#448\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): bump \u003ccode\u003e@​actions/core\u003c/code\u003e from 1.11.1 to 2.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/452\"\u003eMatteoH2O1999/github-actions-jest-reporter#452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/450\"\u003eMatteoH2O1999/github-actions-jest-reporter#450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): bump jest from 30.0.5 to 30.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/423\"\u003eMatteoH2O1999/github-actions-jest-reporter#423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/453\"\u003eMatteoH2O1999/github-actions-jest-reporter#453\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e from 8.49.0 to 8.50.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/454\"\u003eMatteoH2O1999/github-actions-jest-reporter#454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 25.0.2 to 25.0.3 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/455\"\u003eMatteoH2O1999/github-actions-jest-reporter#455\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump eslint-plugin-jest from 29.5.0 to 29.6.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/456\"\u003eMatteoH2O1999/github-actions-jest-reporter#456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/457\"\u003eMatteoH2O1999/github-actions-jest-reporter#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump eslint-plugin-jest from 29.10.1 to 29.11.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/458\"\u003eMatteoH2O1999/github-actions-jest-reporter#458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/460\"\u003eMatteoH2O1999/github-actions-jest-reporter#460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump eslint-plugin-jest from 29.11.2 to 29.12.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/461\"\u003eMatteoH2O1999/github-actions-jest-reporter#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump globals from 16.5.0 to 17.0.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/462\"\u003eMatteoH2O1999/github-actions-jest-reporter#462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump eslint-plugin-jest from 29.12.0 to 29.12.1 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/463\"\u003eMatteoH2O1999/github-actions-jest-reporter#463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e from 8.51.0 to 8.52.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/464\"\u003eMatteoH2O1999/github-actions-jest-reporter#464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): bump \u003ccode\u003e@​actions/core\u003c/code\u003e from 2.0.1 to 2.0.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/465\"\u003eMatteoH2O1999/github-actions-jest-reporter#465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/467\"\u003eMatteoH2O1999/github-actions-jest-reporter#467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 25.0.7 to 25.0.8 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/468\"\u003eMatteoH2O1999/github-actions-jest-reporter#468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/470\"\u003eMatteoH2O1999/github-actions-jest-reporter#470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e from 8.53.0 to 8.53.1 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/471\"\u003eMatteoH2O1999/github-actions-jest-reporter#471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/472\"\u003eMatteoH2O1999/github-actions-jest-reporter#472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/473\"\u003eMatteoH2O1999/github-actions-jest-reporter#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e from 8.53.1 to 8.54.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/474\"\u003eMatteoH2O1999/github-actions-jest-reporter#474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump globals from 17.1.0 to 17.2.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/475\"\u003eMatteoH2O1999/github-actions-jest-reporter#475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): bump \u003ccode\u003e@​actions/core\u003c/code\u003e from 2.0.2 to 2.0.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/476\"\u003eMatteoH2O1999/github-actions-jest-reporter#476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 25.0.10 to 25.1.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/477\"\u003eMatteoH2O1999/github-actions-jest-reporter#477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/479\"\u003eMatteoH2O1999/github-actions-jest-reporter#479\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump eslint-plugin-jest from 29.12.1 to 29.12.2 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/480\"\u003eMatteoH2O1999/github-actions-jest-reporter#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 25.2.0 to 25.2.1 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/481\"\u003eMatteoH2O1999/github-actions-jest-reporter#481\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/MatteoH2O1999/github-actions-jest-reporter/commit/f77dfb122902fa07df3bc9fc76c70a2ecfeb7fab\"\u003e\u003ccode\u003ef77dfb1\u003c/code\u003e\u003c/a\u003e Bump package version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/commit/0c1d5aba48127da905d2a7a0ad95e4bdd5df60ad\"\u003e\u003ccode\u003e0c1d5ab\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e in the dev-dependencies group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/commit/96c247813cef63929b292c1b4e64d61ae30992d2\"\u003e\u003ccode\u003e96c2478\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump eslint-plugin-jest in the dev-dependencies group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/commit/681d57e5b3e46ca5ee6fc186533064fe2c0fa601\"\u003e\u003ccode\u003e681d57e\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the dev-dependencies group with 3 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/commit/9562c1725b0e8437d9f69fe16f122900e952200b\"\u003e\u003ccode\u003e9562c17\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e in the dev-dependencies group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/commit/228c032a8198aaaca9037c84238f46c7bb9b8a53\"\u003e\u003ccode\u003e228c032\u003c/code\u003e\u003c/a\u003e fix(deps): bump \u003ccode\u003e@​actions/core\u003c/code\u003e from 2.0.2 to 2.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/commit/1cbff368d8210c5b32e1e3cebbb8d1403afb854c\"\u003e\u003ccode\u003e1cbff36\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump globals in the dev-dependencies group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/commit/a1b9dc01a8e643fb5f3916d767405349808b5b3a\"\u003e\u003ccode\u003ea1b9dc0\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/commit/5d85fe158f7143433ca5f40a7cd5c257653d8a78\"\u003e\u003ccode\u003e5d85fe1\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the dev-dependencies group with 2 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/commit/524384614584d55abdcc3c12982b3c1bf4fc61a8\"\u003e\u003ccode\u003e5243846\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the dev-dependencies group with 2 updates\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/compare/v4.0.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@stylistic/eslint-plugin` from 5.7.1 to 5.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/releases\"\u003e@​stylistic/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.10.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/compare/v5.9.0...v5.10.0\"\u003e5.10.0\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elist-style:\u003c/strong\u003e allow 'off' in overrides (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1144\"\u003e#1144\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/c43bd4b14ebb4222b3f4e151967aac5e82bd8290\"\u003ec43bd4b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epadding-line-between-statements:\u003c/strong\u003e introduce \u003ccode\u003elineMode\u003c/code\u003e for selector matcher (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1143\"\u003e#1143\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/1ebd6d8e59bad0e5330e560df724f29455b92adb\"\u003e1ebd6d8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Related\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e bump actions/download-artifact from 7 to 8 (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1153\"\u003e#1153\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/78ca032c765110952b63a86ca7177a28597371c9\"\u003e78ca032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e bump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1154\"\u003e#1154\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/01f7b17856549b681589a97480f6014ab39f21f3\"\u003e01f7b17\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eno export all for \u003ccode\u003e@​typescript-eslint/utils\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1150\"\u003e#1150\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/258f9d8f6a171fcdbdc994768fb08938fafc4470\"\u003e258f9d8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.9.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/compare/v5.8.0...v5.9.0\"\u003e5.9.0\u003c/a\u003e (2026-02-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-trailing-spaces:\u003c/strong\u003e support more file types (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1138\"\u003e#1138\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/501e8383bd9b27ff3e8d5e66c43e4ac7877fc862\"\u003e501e838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epadding-line-between-statements:\u003c/strong\u003e support selector-based statement matchers (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1134\"\u003e#1134\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/8f5cc9ee69b58de1dc00a9a487a1461de2d3494b\"\u003e8f5cc9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport ESLint 10 (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1066\"\u003e#1066\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/5d99706e7c156af617a7ed935bd9bbe87630738a\"\u003e5d99706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate deps (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1141\"\u003e#1141\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/f29fcff09f86ac7d9feff8a9f954bbeed32e91db\"\u003ef29fcff\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecomma-dangle:\u003c/strong\u003e check tsx file correctly (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1127\"\u003e#1127\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/271da423f8d47e264e5a9e1ded444eaa7b208c43\"\u003e271da42\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecomma-dangle:\u003c/strong\u003e prevent crash when linting non-js files (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1140\"\u003e#1140\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/4a96eae4e31998904bc3c2b5c0719920a7984f98\"\u003e4a96eae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eindent:\u003c/strong\u003e ignore when source code is not ESTree (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1139\"\u003e#1139\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/9e7f42264b9462e21c269568e506977d5abac8ed\"\u003e9e7f422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-extra-parens:\u003c/strong\u003e don't report jsdoc type assertion by default (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1100\"\u003e#1100\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/cfb62964a3daf488903ee33c88b23bade7009cac\"\u003ecfb6296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eobject-curly-spacing:\u003c/strong\u003e correctly handle object patterns with type annotations (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1129\"\u003e#1129\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/5aaaec61ed9f4f7cc4fb431e5628f5d67e48be3c\"\u003e5aaaec6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elines-around-comment:\u003c/strong\u003e improve extensibility of allow boundary checks (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1136\"\u003e#1136\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/18b961eacd7a37dc772a3669e236e60773965d9d\"\u003e18b961e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-extra-parens:\u003c/strong\u003e simplify fixer (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1133\"\u003e#1133\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/3504e1fa3901f68d7d028465a1c0f779077db7eb\"\u003e3504e1f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eon-var-declaration-per-line:\u003c/strong\u003e simplify fixer (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1132\"\u003e#1132\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/c827fde7e77e2a66b0873c41d10bb8e02cb2bf66\"\u003ec827fde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.8.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/compare/v5.7.1...v5.8.0\"\u003e5.8.0\u003c/a\u003e (2026-02-09)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/blob/v5.10.0/CHANGELOG.md\"\u003e@​stylistic/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/compare/v5.9.0...v5.10.0\"\u003e5.10.0\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elist-style:\u003c/strong\u003e allow 'off' in overrides (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1144\"\u003e#1144\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/c43bd4b14ebb4222b3f4e151967aac5e82bd8290\"\u003ec43bd4b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epadding-line-between-statements:\u003c/strong\u003e introduce \u003ccode\u003elineMode\u003c/code\u003e for selector matcher (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1143\"\u003e#1143\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/1ebd6d8e59bad0e5330e560df724f29455b92adb\"\u003e1ebd6d8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Related\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e bump actions/download-artifact from 7 to 8 (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1153\"\u003e#1153\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/78ca032c765110952b63a86ca7177a28597371c9\"\u003e78ca032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e bump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1154\"\u003e#1154\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/01f7b17856549b681589a97480f6014ab39f21f3\"\u003e01f7b17\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eno export all for \u003ccode\u003e@​typescript-eslint/utils\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1150\"\u003e#1150\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/258f9d8f6a171fcdbdc994768fb08938fafc4470\"\u003e258f9d8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/compare/v5.8.0...v5.9.0\"\u003e5.9.0\u003c/a\u003e (2026-02-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-trailing-spaces:\u003c/strong\u003e support more file types (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1138\"\u003e#1138\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/501e8383bd9b27ff3e8d5e66c43e4ac7877fc862\"\u003e501e838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epadding-line-between-statements:\u003c/strong\u003e support selector-based statement matchers (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1134\"\u003e#1134\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/8f5cc9ee69b58de1dc00a9a487a1461de2d3494b\"\u003e8f5cc9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport ESLint 10 (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1066\"\u003e#1066\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/5d99706e7c156af617a7ed935bd9bbe87630738a\"\u003e5d99706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate deps (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1141\"\u003e#1141\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/f29fcff09f86ac7d9feff8a9f954bbeed32e91db\"\u003ef29fcff\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecomma-dangle:\u003c/strong\u003e check tsx file correctly (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1127\"\u003e#1127\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/271da423f8d47e264e5a9e1ded444eaa7b208c43\"\u003e271da42\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecomma-dangle:\u003c/strong\u003e prevent crash when linting non-js files (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1140\"\u003e#1140\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/4a96eae4e31998904bc3c2b5c0719920a7984f98\"\u003e4a96eae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eindent:\u003c/strong\u003e ignore when source code is not ESTree (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1139\"\u003e#1139\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/9e7f42264b9462e21c269568e506977d5abac8ed\"\u003e9e7f422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-extra-parens:\u003c/strong\u003e don't report jsdoc type assertion by default (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1100\"\u003e#1100\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/cfb62964a3daf488903ee33c88b23bade7009cac\"\u003ecfb6296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eobject-curly-spacing:\u003c/strong\u003e correctly handle object patterns with type annotations (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1129\"\u003e#1129\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/5aaaec61ed9f4f7cc4fb431e5628f5d67e48be3c\"\u003e5aaaec6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elines-around-comment:\u003c/strong\u003e improve extensibility of allow boundary checks (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1136\"\u003e#1136\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/18b961eacd7a37dc772a3669e236e60773965d9d\"\u003e18b961e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-extra-parens:\u003c/strong\u003e simplify fixer (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1133\"\u003e#1133\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/3504e1fa3901f68d7d028465a1c0f779077db7eb\"\u003e3504e1f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eon-var-declaration-per-line:\u003c/strong\u003e simplify fixer (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1132\"\u003e#1132\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/c827fde7e77e2a66b0873c41d10bb8e02cb2bf66\"\u003ec827fde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/compare/v5.7.1...v5.8.0\"\u003e5.8.0\u003c/a\u003e (2026-02-09)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/efbb1bc0e5aaedc4695c44a03f46f4fcbbe58712\"\u003e\u003ccode\u003eefbb1bc\u003c/code\u003e\u003c/a\u003e chore: release v5.10.0 (main) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1151\"\u003e#1151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/1ebd6d8e59bad0e5330e560df724f29455b92adb\"\u003e\u003ccode\u003e1ebd6d8\u003c/code\u003e\u003c/a\u003e feat(padding-line-between-statements): introduce \u003ccode\u003elineMode\u003c/code\u003e for selector matc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/c43bd4b14ebb4222b3f4e151967aac5e82bd8290\"\u003e\u003ccode\u003ec43bd4b\u003c/code\u003e\u003c/a\u003e feat(list-style): allow 'off' in overrides (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1144\"\u003e#1144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/95884fc06e342243ea65e0038bac07d94d5708dd\"\u003e\u003ccode\u003e95884fc\u003c/code\u003e\u003c/a\u003e chore: replace \u003ccode\u003eprettier\u003c/code\u003e with \u003ccode\u003eoxfmt\u003c/code\u003e (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1147\"\u003e#1147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/96ce1c7e165ee2a0322afdd7dde9a594ab6dbd70\"\u003e\u003ccode\u003e96ce1c7\u003c/code\u003e\u003c/a\u003e chore: release v5.9.0 (main) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1131\"\u003e#1131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/5d99706e7c156af617a7ed935bd9bbe87630738a\"\u003e\u003ccode\u003e5d99706\u003c/code\u003e\u003c/a\u003e feat: support ESLint 10 (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1066\"\u003e#1066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/cfb62964a3daf488903ee33c88b23bade7009cac\"\u003e\u003ccode\u003ecfb6296\u003c/code\u003e\u003c/a\u003e fix(no-extra-parens): don't report jsdoc type assertion by default (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1100\"\u003e#1100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/501e8383bd9b27ff3e8d5e66c43e4ac7877fc862\"\u003e\u003ccode\u003e501e838\u003c/code\u003e\u003c/a\u003e feat(no-trailing-spaces): support more file types (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1138\"\u003e#1138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/8f5cc9ee69b58de1dc00a9a487a1461de2d3494b\"\u003e\u003ccode\u003e8f5cc9e\u003c/code\u003e\u003c/a\u003e feat(padding-line-between-statements): support selector-based statement match...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/9e7f42264b9462e21c269568e506977d5abac8ed\"\u003e\u003ccode\u003e9e7f422\u003c/code\u003e\u003c/a\u003e fix(indent): ignore when source code is not ESTree (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1139\"\u003e#1139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commits/v5.10.0/packages/eslint-plugin\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.2.1 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/parser` from 8.54.0 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.0 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.58.2 (2026-04-13)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/52457932e5507b5ca01e720a541f3f8d01e09b9d\"\u003e\u003ccode\u003e5245793\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ea9ae4f8817873480e3501145059f63e39e8d8a1\"\u003e\u003ccode\u003eea9ae4f\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/90c2803a4c250e0343598d41e973f95e743bf4ce\"\u003e\u003ccode\u003e90c2803\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/be6b49a02d68db9bdc8985e7e9e1598700fda2fa\"\u003e\u003ccode\u003ebe6b49a\u003c/code\u003e\u003c/a\u003e fix: remove tsbuildinfo cache file from published packages (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12187\"\u003e#12187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/5311ed312eadf4e238324f2726ae0b1f3f2206e6\"\u003e\u003ccode\u003e5311ed3\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `axios` from 1.13.4 to 1.16.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/axios/axios/releases\"\u003eaxios's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.16.1 — May 13, 2026\u003c/h2\u003e\n\u003cp\u003eThis release ships a defence-in-depth fix for prototype pollution in \u003ccode\u003eformDataToJSON\u003c/code\u003e, hardens proxy and CI workflows, restores Webpack 4 compatibility for the fetch adapter, and includes several small bug fixes and maintenance improvements.\u003c/p\u003e\n\u003ch2\u003e🔒 Security Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePrototype Pollution Defence-in-Depth:\u003c/strong\u003e Hardened \u003ccode\u003eformDataToJSON\u003c/code\u003e against already-polluted \u003ccode\u003eObject.prototype\u003c/code\u003e by walking own properties only, so attacker-controlled keys inherited from a poisoned prototype cannot propagate through deserialization. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7413\"\u003e#7413\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProxy Cleartext Leak:\u003c/strong\u003e Fixed an issue where HTTPS request data could be transmitted in cleartext to an HTTP proxy under certain configurations. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10858\"\u003e#10858\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCI Cache Removal:\u003c/strong\u003e Removed all GitHub Actions caches as a defence-in-depth measure against cache poisoning vectors in the build pipeline. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10882\"\u003e#10882\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eData URI Parsing:\u003c/strong\u003e Updated the \u003ccode\u003efromDataURI\u003c/code\u003e regex to match RFC 2397 more strictly, fixing edge cases in \u003ccode\u003edata:\u003c/code\u003e URL handling. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10829\"\u003e#10829\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUnicode Headers:\u003c/strong\u003e Preserved Unicode header values when running through request interceptors, so non-ASCII header content is no longer corrupted before dispatch. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10850\"\u003e#10850\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXHR Upload Progress:\u003c/strong\u003e Guarded against malformed \u003ccode\u003eProgressEvent\u003c/code\u003e payloads emitted by some environments during XHR upload, preventing crashes when \u003ccode\u003eloaded\u003c/code\u003e / \u003ccode\u003etotal\u003c/code\u003e are missing or invalid. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10868\"\u003e#10868\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebpack 4 Fetch Adapter:\u003c/strong\u003e Fixed an \u0026quot;unexpected token\u0026quot; error caused by syntax in the fetch adapter that Webpack 4 could not parse, restoring compatibility for legacy bundler users. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10864\"\u003e#10864\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eType Definitions:\u003c/strong\u003e Made \u003ccode\u003eparseReviver\u003c/code\u003e \u003ccode\u003econtext.source\u003c/code\u003e optional in the type definitions to align with the ES2023 specification. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10837\"\u003e#10837\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eURL Object Support Reverted:\u003c/strong\u003e Reverted the change that allowed passing a \u003ccode\u003eURL\u003c/code\u003e object as \u003ccode\u003econfig.url\u003c/code\u003e (originally \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10866\"\u003e#10866\u003c/a\u003e\u003c/strong\u003e) due to regressions; this support will be reintroduced in a later release once the underlying issues are addressed. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10874\"\u003e#10874\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔧 Maintenance \u0026amp; Chores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCycle Detection Refactor:\u003c/strong\u003e Replaced the array-based cycle tracker in \u003ccode\u003etoJSONObject\u003c/code\u003e with a \u003ccode\u003eWeakSet\u003c/code\u003e, improving performance and memory behaviour on large nested structures. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10832\"\u003e#10832\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecomposeSignals Cleanup:\u003c/strong\u003e Refactored \u003ccode\u003ecomposeSignals\u003c/code\u003e to use a clearer early-return structure, simplifying the cancellation/abort composition path. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10844\"\u003e#10844\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAI Readiness \u0026amp; Repo Docs:\u003c/strong\u003e Added \u003ccode\u003eAGENTS.md\u003c/code\u003e and related contributor-guide updates for both human and AI agents, plus post-release documentation improvements. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10835\"\u003e#10835\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10841\"\u003e#10841\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDocs Improvements:\u003c/strong\u003e Clarified the GET request example, fixed the interceptor \u003ccode\u003eeject\u003c/code\u003e example to reference the correct instance, and corrected the Buzzoid sponsor description in the README. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10836\"\u003e#10836\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10853\"\u003e#10853\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10856\"\u003e#10856\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSponsorship Tooling:\u003c/strong\u003e Fixed empty sponsor arrays in the sponsor processing script, added the ability to inject additional sponsors, updated the sponsorship link, and added a Twicsy advertisement entry. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10843\"\u003e#10843\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10859\"\u003e#10859\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10869\"\u003e#10869\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDependencies:\u003c/strong\u003e Bumped \u003ccode\u003e@commitlint/cli\u003c/code\u003e from 20.5.0 to 20.5.2. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10846\"\u003e#10846\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🌟 New Contributors\u003c/h2\u003e\n\u003cp\u003eWe are thrilled to welcome our new contributors. Thank you for helping improve axios:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/hpinmetaverse\"\u003e\u003ccode\u003e@​hpinmetaverse\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10836\"\u003e#10836\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tommyhgunz14\"\u003e\u003ccode\u003e@​tommyhgunz14\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7413\"\u003e#7413\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/abhu85\"\u003e\u003ccode\u003e@​abhu85\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10829\"\u003e#10829\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/divyanshuraj1095\"\u003e\u003ccode\u003e@​divyanshuraj1095\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10853\"\u003e#10853\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/sagodi97\"\u003e\u003ccode\u003e@​sagodi97\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10856\"\u003e#10856\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/rkdfx\"\u003e\u003ccode\u003e@​rkdfx\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10868\"\u003e#10868\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/Liuwei1125\"\u003e\u003ccode\u003e@​Liuwei1125\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10866\"\u003e#10866\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/axios/axios/compare/v1.16.0...v1.16.1\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.16.0 — May 2, 2026\u003c/h2\u003e\n\u003cp\u003eThis release adds support for the QUERY HTTP method and a new \u003ccode\u003eECONNREFUSED\u003c/code\u003e error constant, lands a substantial wave of HTTP, fetch, and XHR adapter bug fixes around redirects, aborts, headers, and timeouts, and welcomes 23 new contributors.\u003c/p\u003e\n\u003ch2\u003e⚠️ Notable Changes\u003c/h2\u003e\n\u003cp\u003eA handful of fixes in this release are either security-adjacent or change observable behaviour. Please review before upgrading:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/axios/axios/blob/v1.x/CHANGELOG.md\"\u003eaxios's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.16.1 — May 13, 2026\u003c/h2\u003e\n\u003cp\u003eThis release ships a defence-in-depth fix for prototype pollution in \u003ccode\u003eformDataToJSON\u003c/code\u003e, hardens proxy and CI workflows, restores Webpack 4 compatibility for the fetch adapter, and includes several small bug fixes and maintenance improvements.\u003c/p\u003e\n\u003ch2\u003e🔒 Security Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePrototype Pollution Defence-in-Depth:\u003c/strong\u003e Hardened \u003ccode\u003eformDataToJSON\u003c/code\u003e against already-polluted \u003ccode\u003eObject.prototype\u003c/code\u003e by walking own properties only, so attacker-controlled keys inherited from a poisoned prototype cannot propagate through deserialization. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7413\"\u003e#7413\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProxy Cleartext Leak:\u003c/strong\u003e Fixed an issue where HTTPS request data could be transmitted in cleartext to an HTTP proxy under certain configurations. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10858\"\u003e#10858\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCI Cache Removal:\u003c/strong\u003e Removed all GitHub Actions caches as a defence-in-depth measure against cache poisoning vectors in the build pipeline. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10882\"\u003e#10882\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eData URI Parsing:\u003c/strong\u003e Updated the \u003ccode\u003efromDataURI\u003c/code\u003e regex to match RFC 2397 more strictly, fixing edge cases in \u003ccode\u003edata:\u003c/code\u003e URL handling. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10829\"\u003e#10829\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUnicode Headers:\u003c/strong\u003e Preserved Unicode header values when running through request interceptors, so non-ASCII header content is no longer corrupted before dispatch. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10850\"\u003e#10850\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXHR Upload Progress:\u003c/strong\u003e Guarded against malformed \u003ccode\u003eProgressEvent\u003c/code\u003e payloads emitted by some environments during XHR upload, preventing crashes when \u003ccode\u003eloaded\u003c/code\u003e / \u003ccode\u003etotal\u003c/code\u003e are missing or invalid. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10868\"\u003e#10868\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebpack 4 Fetch Adapter:\u003c/strong\u003e Fixed an \u0026quot;unexpected token\u0026quot; error caused by syntax in the fetch adapter that Webpack 4 could not parse, restoring compatibility for legacy bundler users. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10864\"\u003e#10864\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eType Definitions:\u003c/strong\u003e Made \u003ccode\u003eparseReviver\u003c/code\u003e \u003ccode\u003econtext.source\u003c/code\u003e optional in the type definitions to align with the ES2023 specification. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10837\"\u003e#10837\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eURL Object Support Reverted:\u003c/strong\u003e Reverted the change that allowed passing a \u003ccode\u003eURL\u003c/code\u003e object as \u003ccode\u003econfig.url\u003c/code\u003e (originally \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10866\"\u003e#10866\u003c/a\u003e\u003c/strong\u003e) due to regressions; this support will be reintroduced in a later release once the underlying issues are addressed. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10874\"\u003e#10874\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔧 Maintenance \u0026amp; Chores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCycle Detection Refactor:\u003c/strong\u003e Replaced the array-based cycle tracker in \u003ccode\u003etoJSONObject\u003c/code\u003e with a \u003ccode\u003eWeakSet\u003c/code\u003e, improving performance and memory behaviour on large nested structures. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10832\"\u003e#10832\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecomposeSignals Cleanup:\u003c/strong\u003e Refactored \u003ccode\u003ecomposeSignals\u003c/code\u003e to use a clearer early-return structure, simplifying the cancellation/abort composition path. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10844\"\u003e#10844\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAI Readiness \u0026amp; Repo Docs:\u003c/strong\u003e Added \u003ccode\u003eAGENTS.md\u003c/code\u003e and related contributor-guide updates for both human and AI agents, plus post-release documentation improvements. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10835\"\u003e#10835\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10841\"\u003e#10841\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDocs Improvements:\u003c/strong\u003e Clarified the GET request example, fixed the interceptor \u003ccode\u003eeject\u003c/code\u003e example to reference the correct instance, and corrected the Buzzoid sponsor description in the README. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10836\"\u003e#10836\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10853\"\u003e#10853\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10856\"\u003e#10856\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSponsorship Tooling:\u003c/strong\u003e Fixed empty sponsor arrays in the sponsor processing script, added the ability to inject additional sponsors, updated the sponsorship link, and added a Twicsy advertisement entry. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10843\"\u003e#10843\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10859\"\u003e#10859\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10869\"\u003e#10869\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDependencies:\u003c/strong\u003e Bumped \u003ccode\u003e@commitlint/cli\u003c/code\u003e from 20.5.0 to 20.5.2. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10846\"\u003e#10846\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🌟 New Contributors\u003c/h2\u003e\n\u003cp\u003eWe are thrilled to welcome our new contributors. Thank you for helping improve axios:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/hpinmetaverse\"\u003e\u003ccode\u003e@​hpinmetaverse\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10836\"\u003e#10836\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tommyhgunz14\"\u003e\u003ccode\u003e@​tommyhgunz14\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7413\"\u003e#7413\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/abhu85\"\u003e\u003ccode\u003e@​abhu85\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10829\"\u003e#10829\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/divyanshuraj1095\"\u003e\u003ccode\u003e@​divyanshuraj1095\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10853\"\u003e#10853\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/sagodi97\"\u003e\u003ccode\u003e@​sagodi97\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10856\"\u003e#10856\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/rkdfx\"\u003e\u003ccode\u003e@​rkdfx\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10868\"\u003e#10868\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/Liuwei1125\"\u003e\u003ccode\u003e@​Liuwei1125\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10866\"\u003e#10866\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/axios/axios/compare/v1.16.0...v1.16.1\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.16.0 — May 2, 2026\u003c/h2\u003e\n\u003cp\u003eThis release adds support for the QUERY HTTP method and a new \u003ccode\u003eECONNREFUSED\u003c/code\u003e error constant, lands a substantial wave of HTTP, fetch, and XHR adapter bug fixes around redirects, aborts, headers, and timeouts, and welcomes 23 new contributors.\u003c/p\u003e\n\u003ch2\u003e⚠️ Notable Changes\u003c/h2\u003e\n\u003cp\u003eA handful of fixes in this release are either security-adjacent or change observable behaviour. Please review before upgrading:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/1337d6b537afb2d3f501074c8ac4ef4308221197\"\u003e\u003ccode\u003e1337d6b\u003c/code\u003e\u003c/a\u003e chore(release): prepare release 1.16.1 (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10877\"\u003e#10877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/858a790cec06054547d0d3f941916d6fb2a4d18e\"\u003e\u003ccode\u003e858a790\u003c/code\u003e\u003c/a\u003e fix: remove all caches (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10882\"\u003e#10882\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/34adfd90efc9c145488399e1cf7fa96de67080fa\"\u003e\u003ccode\u003e34adfd9\u003c/code\u003e\u003c/a\u003e revert: \u0026quot;fix: support URL object as config.url input (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10866\"\u003e#10866\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10874\"\u003e#10874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/847d89b43654405d9a231e0b669832c2092b621f\"\u003e\u003ccode\u003e847d89b\u003c/code\u003e\u003c/a\u003e fix: support URL object as config.url input (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10866\"\u003e#10866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/40948863677bb793bfff0293cce7e7b4f8a1b212\"\u003e\u003ccode\u003e4094886\u003c/code\u003e\u003c/a\u003e fix(progress): guard malformed XHR upload events (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10868\"\u003e#10868\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/44f0c5bf73c45df6009365141faa394d73596bd7\"\u003e\u003ccode\u003e44f0c5b\u003c/code\u003e\u003c/a\u003e chore: change sponsorship link and add Twicsy advertisement (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10869\"\u003e#10869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/64e1095efedc64c9fecf5176bd9cf2e5e93140d6\"\u003e\u003ccode\u003e64e1095\u003c/code\u003e\u003c/a\u003e chore: update PR and issue template to use h2 (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10865\"\u003e#10865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/3e6b4e1f311b43aa1dc77d78150a601d9fe4b280\"\u003e\u003ccode\u003e3e6b4e1\u003c/code\u003e\u003c/a\u003e fix: error unexpected token in fetch JS compatibility issue with Webpack 4 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/c4453bab70f53575175903aee60810c821f72129\"\u003e\u003ccode\u003ec4453ba\u003c/code\u003e\u003c/a\u003e fix: add the ability to add additional sponsors to the process sponsors scrip...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/caa00a90b524bb67ed033474abcf4d8645ced793\"\u003e\u003ccode\u003ecaa00a9\u003c/code\u003e\u003c/a\u003e fix: https data in cleartext to proxy (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10858\"\u003e#10858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/axios/axios/compare/v1.13.4...v1.16.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 9.39.2 to 10.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e) (Minh Vu)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c5bc78b37e08b9054a11f0cc2d81808bb24acb85\"\u003e\u003ccode\u003ec5bc78b\u003c/code\u003e\u003c/a\u003e fix: false positive for reference in \u003ccode\u003efinally\u003c/code\u003e block (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20655\"\u003e#20655\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/27538c01f5df4e9306f6f4ba867b2dd6307fae59\"\u003e\u003ccode\u003e27538c0\u003c/code\u003e\u003c/a\u003e fix: add missing CodePath and CodePathSegment types (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20853\"\u003e#20853\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/305d5b91aeac24d36fde42f75625a8f183d4ce43\"\u003e\u003ccode\u003e305d5b9\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rules from related rules section (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20911\"\u003e#20911\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c\"\u003e\u003ccode\u003e49b0202\u003c/code\u003e\u003c/a\u003e docs: fix \u003ccode\u003edisplay: none\u003c/code\u003e of ad (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20901\"\u003e#20901\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9067f9492ec998afc5b4f057a477ecf6ebd45e44\"\u003e\u003ccode\u003e9067f94\u003c/code\u003e\u003c/a\u003e docs: switch build to Node.js 24 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20893\"\u003e#20893\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c91b0417e3420c76807ce1fa2aea76e2de87ab86\"\u003e\u003ccode\u003ec91b041\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e349265cb37f3ebc837e178e48a725bb782bd870\"\u003e\u003ccode\u003ee349265\u003c/code\u003e\u003c/a\u003e docs: clarify semver strings in rule deprecation objects (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20885\"\u003e#20885\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20922\"\u003e#20922\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e) (Arpit Jain)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b\"\u003e\u003ccode\u003e64bca24\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20912\"\u003e#20912\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56\"\u003e\u003ccode\u003e6d7c832\u003c/code\u003e\u003c/a\u003e chore: ignore fflate updates in renovate (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20908\"\u003e#20908\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gith...\n\n_Description has been truncated_","html_url":"https://github.com/actions-marketplace-validations/MatteoH2O1999_setup-rust/pull/113","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/actions-marketplace-validations%2FMatteoH2O1999_setup-rust/issues/113","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/113/packages"},{"uuid":"4559189316","node_id":"PR_kwDOSnDPk87hKjXT","number":11,"state":"open","title":"Bump the dev-dependencies group with 7 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-31T22:16:22.000Z","updated_at":"2026-05-31T22:16:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dev-dependencies","update_count":7,"packages":[{"name":"@types/node","old_version":"25.6.2","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.59.2","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.59.2","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"eslint-plugin-prettier","old_version":"5.5.5","new_version":"5.5.6","repository_url":"https://github.com/prettier/eslint-plugin-prettier"},{"name":"jest","old_version":"30.4.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-circus","old_version":"30.4.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"ts-jest","old_version":"29.4.9","new_version":"29.4.11","repository_url":"https://github.com/kulshekhar/ts-jest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.2` | `25.9.1` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.59.2` | `8.60.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.59.2` | `8.60.0` |\n| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | `5.5.5` | `5.5.6` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.4.0` | `30.4.2` |\n| [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) | `30.4.0` | `30.4.2` |\n| [ts-jest](https://github.com/kulshekhar/ts-jest) | `29.4.9` | `29.4.11` |\n\nUpdates `@types/node` from 25.6.2 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.59.2 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\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/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4302433ae6bf93d4ddc35264ad1b951254758566\"\u003e\u003ccode\u003e4302433\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-floating-promises] stack overflow when using recursiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/10b79f1ba8e98610a3af85152a1b3b406f91e633\"\u003e\u003ccode\u003e10b79f1\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint to v10.4.0 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12339\"\u003e#12339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2a6765d9628dc776f8127c96f088bb807c0bcab2\"\u003e\u003ccode\u003e2a6765d\u003c/code\u003e\u003c/a\u003e chore: clenaup \u003ccode\u003egetAwaitedType\u003c/code\u003e from \u003ccode\u003etypescript.d.ts\u003c/code\u003e (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12302\"\u003e#12302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e26dc8003ababf078aad4df17765ee4cea30644c\"\u003e\u003ccode\u003ee26dc80\u003c/code\u003e\u003c/a\u003e docs: update stale links to latest (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12313\"\u003e#12313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/eslint-plugin\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/parser` from 8.59.2 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\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/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-prettier` from 5.5.5 to 5.5.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/releases\"\u003eeslint-plugin-prettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/pull/791\"\u003e#791\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: bump all (dev)Dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md\"\u003eeslint-plugin-prettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/pull/791\"\u003e#791\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: bump all (dev)Dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/4f33ea5a503c6cdbda93424ebd13188a46a1a890\"\u003e\u003ccode\u003e4f33ea5\u003c/code\u003e\u003c/a\u003e chore: release eslint-plugin-prettier (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/792\"\u003e#792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/4745b54882a9011704764070a28aaaf0504efc92\"\u003e\u003ccode\u003e4745b54\u003c/code\u003e\u003c/a\u003e ci: declare workflow-level contents: read on 2 workflows (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e chore: bump all (dev)Dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/791\"\u003e#791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/e867680b2c1cf3748322c8c802690e7cfb78e233\"\u003e\u003ccode\u003ee867680\u003c/code\u003e\u003c/a\u003e chore(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/766\"\u003e#766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/e8e2f7f1dcad747f1d43168ee09956b512956593\"\u003e\u003ccode\u003ee8e2f7f\u003c/code\u003e\u003c/a\u003e chore: testing eslint v10 (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/779\"\u003e#779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/ca076d95aaf69aaf9c95abcc1692f8269197f248\"\u003e\u003ccode\u003eca076d9\u003c/code\u003e\u003c/a\u003e chore: update dev dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/42e636951f8d53d169b1f8c2b7e7dfd792711113\"\u003e\u003ccode\u003e42e6369\u003c/code\u003e\u003c/a\u003e build(deps): Bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/778\"\u003e#778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/53ff2143c03609e75b60e0e33d56c8089f0b364f\"\u003e\u003ccode\u003e53ff214\u003c/code\u003e\u003c/a\u003e Remove empty NPM_TOKEN from release.yml\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/compare/v5.5.5...v5.5.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.4.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\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/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\u003c/blockquote\u003e\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\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 `jest-circus` from 30.4.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-circus'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\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/jestjs/jest/blob/main/CHANGELOG.md\"\u003ejest-circus'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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.2/packages/jest-circus\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ts-jest` from 29.4.9 to 29.4.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kulshekhar/ts-jest/releases\"\u003ets-jest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.4.11\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev29.4.10\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md\"\u003ets-jest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/compare/v29.4.10...v29.4.11\"\u003e29.4.11\u003c/a\u003e (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epreserve Bundler on the CJS path under TypeScript \u0026gt;= 6 (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/39418187515f11b6584d35a4e3ddf50231f74936\"\u003e3941818\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/kulshekhar/ts-jest/issues/4198\"\u003e#4198\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/compare/v29.4.9...v29.4.10\"\u003e29.4.10\u003c/a\u003e (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epass \u003ccode\u003eresolutionMode\u003c/code\u003e to \u003ccode\u003ets.resolveModuleName\u003c/code\u003e for hybrid module support (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/b557a85f85c3fd34523ec3a15293afbdc9dea83c\"\u003eb557a85\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erebuild \u003ccode\u003eProgram\u003c/code\u003e when consecutive compiles need different module kinds (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/a82a2b32c4987a5249fd5284283117dd2fa3be47\"\u003ea82a2b3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/kulshekhar/ts-jest/issues/4774\"\u003e#4774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erespect tsconfig \u003ccode\u003emoduleResolution\u003c/code\u003e instead of forcing \u003ccode\u003eNode10\u003c/code\u003e (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/1bffffc667557c173ae0c1f93dd436920775dac4\"\u003e1bffffc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etransformer:\u003c/strong\u003e transpile \u003ccode\u003emjs\u003c/code\u003e files from \u003ccode\u003enode_modules\u003c/code\u003e for CJS mode (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/96d025dd912ea2bceb18b67d2d509ada7a756d9d\"\u003e96d025d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etransformer:\u003c/strong\u003e use a consistent comparator in hoist-jest sortStatements (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/8a8fd2fb8446655bba18367db9306a1089490e62\"\u003e8a8fd2f\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/kulshekhar/ts-jest/commit/bff2d64917caa8150701829b152c4d193614d997\"\u003e\u003ccode\u003ebff2d64\u003c/code\u003e\u003c/a\u003e chore(release): 29.4.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/39418187515f11b6584d35a4e3ddf50231f74936\"\u003e\u003ccode\u003e3941818\u003c/code\u003e\u003c/a\u003e fix: preserve Bundler on the CJS path under TypeScript \u0026gt;= 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/efb3c2f84d3583db0787982a18425d99edadfe25\"\u003e\u003ccode\u003eefb3c2f\u003c/code\u003e\u003c/a\u003e build(deps): bump webpack-dev-server from 5.2.2 to 5.2.4 in /website\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/4e46fad6c1c4d5be5d6666c64bf65a3af2f1519e\"\u003e\u003ccode\u003e4e46fad\u003c/code\u003e\u003c/a\u003e ci: refactor release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/96b3ac0cc0586d5379c87308f797a9acf0e4a675\"\u003e\u003ccode\u003e96b3ac0\u003c/code\u003e\u003c/a\u003e chore(release): 29.4.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/e98ec6452548a61285d55c00c7f6b1fd9858d699\"\u003e\u003ccode\u003ee98ec64\u003c/code\u003e\u003c/a\u003e build(deps): update github/codeql-action digest to 458d36d\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/21ac58f60f93164640433250fb4ca8b671aa8587\"\u003e\u003ccode\u003e21ac58f\u003c/code\u003e\u003c/a\u003e build(deps): update jest packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/0fdc96d293c6ce047bf61831b721218623882e78\"\u003e\u003ccode\u003e0fdc96d\u003c/code\u003e\u003c/a\u003e build(deps): update dependency semver to ^7.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/4b95551190235a65eac176625c72e220af066efe\"\u003e\u003ccode\u003e4b95551\u003c/code\u003e\u003c/a\u003e build(deps): update dependency jest-environment-jsdom to ^30.4.1 (\u003ca href=\"https://redirect.github.com/kulshekhar/ts-jest/issues/5311\"\u003e#5311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/7b884476f7891e2b9a8637e2f6bb2e09b7efcfbd\"\u003e\u003ccode\u003e7b88447\u003c/code\u003e\u003c/a\u003e build(deps): update eslint packages to ^8.59.3 (\u003ca href=\"https://redirect.github.com/kulshekhar/ts-jest/issues/5310\"\u003e#5310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/kulshekhar/ts-jest/compare/v29.4.9...v29.4.11\"\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/Premiermoney/outdependabot/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Premiermoney%2Foutdependabot/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"},{"uuid":"4557920514","node_id":"PR_kwDOSdyuQM7hGu2c","number":17,"state":"open","title":"build(deps-dev): bump jest from 29.7.0 to 30.4.2 in /app/lambdas/fees in the dev-dependencies group","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-31T14:49:29.000Z","updated_at":"2026-05-31T14:49:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"jest","old_version":"29.7.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"}],"path":"/app/lambdas/fees in the dev-dependencies group","ecosystem":"npm"},"body":"Bumps the dev-dependencies group in /app/lambdas/fees with 1 update: [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest).\n\nUpdates `jest` from 29.7.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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/96c53d30660e51bf76ed2cd1ecc2334c399ac31c\"\u003e\u003ccode\u003e96c53d3\u003c/code\u003e\u003c/a\u003e feat(jest-config): add \u003ccode\u003edefineConfig\u003c/code\u003e and \u003ccode\u003emergeConfig\u003c/code\u003e functions (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15844\"\u003e#15844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/855864e3f9751366455246790be2bf912d4d0dac\"\u003e\u003ccode\u003e855864e\u003c/code\u003e\u003c/a\u003e v30.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/da9b532f04632367b0df15a842280501f225b732\"\u003e\u003ccode\u003eda9b532\u003c/code\u003e\u003c/a\u003e v30.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ebfa31cc9787303e8698a1a029a162a18e8974aa\"\u003e\u003ccode\u003eebfa31c\u003c/code\u003e\u003c/a\u003e v30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/d347c0f3f87f976a1dbd9761d503e45f5ced2a7e\"\u003e\u003ccode\u003ed347c0f\u003c/code\u003e\u003c/a\u003e v30.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jest\u0026package-manager=npm_and_yarn\u0026previous-version=29.7.0\u0026new-version=30.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \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/thekloudwiz-org/akyeba.thekloudwiz.com/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/thekloudwiz-org%2Fakyeba.thekloudwiz.com/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"},{"uuid":"4556102330","node_id":"PR_kwDOSsnBQs7hBY0e","number":2,"state":"open","title":"Bump jest from 29.7.0 to 30.4.2","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-31T00:17:19.000Z","updated_at":"2026-05-31T00:17:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"jest","old_version":"29.7.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) from 29.7.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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/96c53d30660e51bf76ed2cd1ecc2334c399ac31c\"\u003e\u003ccode\u003e96c53d3\u003c/code\u003e\u003c/a\u003e feat(jest-config): add \u003ccode\u003edefineConfig\u003c/code\u003e and \u003ccode\u003emergeConfig\u003c/code\u003e functions (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15844\"\u003e#15844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/855864e3f9751366455246790be2bf912d4d0dac\"\u003e\u003ccode\u003e855864e\u003c/code\u003e\u003c/a\u003e v30.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/da9b532f04632367b0df15a842280501f225b732\"\u003e\u003ccode\u003eda9b532\u003c/code\u003e\u003c/a\u003e v30.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ebfa31cc9787303e8698a1a029a162a18e8974aa\"\u003e\u003ccode\u003eebfa31c\u003c/code\u003e\u003c/a\u003e v30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/d347c0f3f87f976a1dbd9761d503e45f5ced2a7e\"\u003e\u003ccode\u003ed347c0f\u003c/code\u003e\u003c/a\u003e v30.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jest\u0026package-manager=npm_and_yarn\u0026previous-version=29.7.0\u0026new-version=30.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/kevinw607/EP2-DevOps/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinw607%2FEP2-DevOps/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"},{"uuid":"4555126908","node_id":"PR_kwDOSsaSU87g-e17","number":9,"state":"open","title":"npm(deps-dev): bump the development-dependencies group with 10 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-30T17:22:42.000Z","updated_at":"2026-05-30T17:29:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"npm(deps-dev): bump","group_name":"development-dependencies","update_count":10,"packages":[{"name":"@axe-core/react","old_version":"4.11.1","new_version":"4.11.3","repository_url":"https://github.com/dequelabs/axe-core-npm"},{"name":"@playwright/test","old_version":"1.58.2","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"@tailwindcss/postcss","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@types/react","old_version":"19.2.14","new_version":"19.2.15","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"eslint-config-next","old_version":"16.1.6","new_version":"16.2.6","repository_url":"https://github.com/vercel/next.js"},{"name":"eslint-plugin-prettier","old_version":"5.5.5","new_version":"5.5.6","repository_url":"https://github.com/prettier/eslint-plugin-prettier"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-jsdom","old_version":"30.3.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"tailwindcss","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 10 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@axe-core/react](https://github.com/dequelabs/axe-core-npm) | `4.11.1` | `4.11.3` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.58.2` | `1.60.0` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.1` | `4.3.0` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.15` |\n| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.1.6` | `16.2.6` |\n| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | `5.5.5` | `5.5.6` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) | `30.3.0` | `30.4.1` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.1` | `4.3.0` |\n\nUpdates `@axe-core/react` from 4.11.1 to 4.11.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dequelabs/axe-core-npm/releases\"\u003e@​axe-core/react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.11.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: add create-release workflow by \u003ca href=\"https://github.com/Garbee\"\u003e\u003ccode\u003e@​Garbee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/pull/1326\"\u003edequelabs/axe-core-npm#1326\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: merge master into develop by \u003ca href=\"https://github.com/attest-team-ci\"\u003e\u003ccode\u003e@​attest-team-ci\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/pull/1324\"\u003edequelabs/axe-core-npm#1324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Update axe-core to v4.11.4 by \u003ca href=\"https://github.com/attest-team-ci\"\u003e\u003ccode\u003e@​attest-team-ci\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/pull/1330\"\u003edequelabs/axe-core-npm#1330\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: RC v4.11.3 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/pull/1332\"\u003edequelabs/axe-core-npm#1332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: release v4.11.3 by \u003ca href=\"https://github.com/axe-core\"\u003e\u003ccode\u003e@​axe-core\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/pull/1335\"\u003edequelabs/axe-core-npm#1335\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/axe-core\"\u003e\u003ccode\u003e@​axe-core\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/pull/1335\"\u003edequelabs/axe-core-npm#1335\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dequelabs/axe-core-npm/compare/v4.11.2...v4.11.3\"\u003ehttps://github.com/dequelabs/axe-core-npm/compare/v4.11.2...v4.11.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease 4.11.2\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate axe-core to v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1306\"\u003e#1306\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/71c41796f4cdf2aebcb5e49d1bf6896f4ad72a2a\"\u003e71c4179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewdio:\u003c/strong\u003e support v9 wdio switchFrame and switchWindow (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1302\"\u003e#1302\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/4689273aead05133e161fe1d419a60224763ed7c\"\u003e4689273\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1164\"\u003e#1164\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dequelabs/axe-core-npm/blob/develop/CHANGELOG.md\"\u003e@​axe-core/react's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file.\nSee \u003ca href=\"https://conventionalcommits.org\"\u003eConventional Commits\u003c/a\u003e for commit guidelines.\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/compare/v4.11.1...v4.11.2\"\u003e4.11.2\u003c/a\u003e (2026-04-14)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate axe-core to v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1306\"\u003e#1306\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/71c41796f4cdf2aebcb5e49d1bf6896f4ad72a2a\"\u003e71c4179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewdio:\u003c/strong\u003e support v9 wdio switchFrame and switchWindow (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1302\"\u003e#1302\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/4689273aead05133e161fe1d419a60224763ed7c\"\u003e4689273\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1164\"\u003e#1164\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/dequelabs/axe-core-npm/commit/25fbfd2a7b4d38fcdca487d393192e811592f1ec\"\u003e\u003ccode\u003e25fbfd2\u003c/code\u003e\u003c/a\u003e chore: release v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1335\"\u003e#1335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/dad3572195f68304561b28fc12980d24d069e0d3\"\u003e\u003ccode\u003edad3572\u003c/code\u003e\u003c/a\u003e chore: RC v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1332\"\u003e#1332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/582a7fc2e16e7f5a5aa3d0cd28b31882b4504996\"\u003e\u003ccode\u003e582a7fc\u003c/code\u003e\u003c/a\u003e chore: RC v4.11.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/eed87f56b9808b3def657741c9c5023d7338583c\"\u003e\u003ccode\u003eeed87f5\u003c/code\u003e\u003c/a\u003e fix: Update axe-core to v4.11.4 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1330\"\u003e#1330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/57c54378dc0d829ea90562c1f192757df03839d3\"\u003e\u003ccode\u003e57c5437\u003c/code\u003e\u003c/a\u003e chore: merge master into develop (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1324\"\u003e#1324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/da56b5d6a0690a680e21b7f698a3ad9ed7497a10\"\u003e\u003ccode\u003eda56b5d\u003c/code\u003e\u003c/a\u003e chore: add create-release workflow (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/310de0a8b094d9575502a92ce898b7811e4f3a00\"\u003e\u003ccode\u003e310de0a\u003c/code\u003e\u003c/a\u003e chore: Release 4.11.2 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1323\"\u003e#1323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/39d99670b124852b51390221f1b4c43ea7ec1495\"\u003e\u003ccode\u003e39d9967\u003c/code\u003e\u003c/a\u003e chore: RC v4.11.2 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1317\"\u003e#1317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/7eb0bf2ce0c11bd12acb98111d72af7641ecdc33\"\u003e\u003ccode\u003e7eb0bf2\u003c/code\u003e\u003c/a\u003e chore: RC v4.11.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/71c41796f4cdf2aebcb5e49d1bf6896f4ad72a2a\"\u003e\u003ccode\u003e71c4179\u003c/code\u003e\u003c/a\u003e fix: Update axe-core to v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1306\"\u003e#1306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dequelabs/axe-core-npm/compare/v4.11.1...v4.11.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@playwright/test` from 1.58.2 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e@​playwright/test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛑 test.abort()\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-test#test-abort\"\u003etest.abort()\u003c/a\u003e aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003etest('does not publish to the shared page', async ({ page }) =\u0026gt; {\r\n  await page.route('**/publish', route =\u0026gt; {\r\n    test.abort('Tests must not publish to the shared page. Use the `clone` option.');\r\n    return route.abort();\r\n  });\r\n  // ...\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eNew APIs\u003c/h2\u003e\n\u003ch3\u003eBrowser, Context and Page\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/87bb9ddbd78f329df18c2b24847bc9409240cd07\"\u003e\u003ccode\u003e87bb9dd\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40747\"\u003e#40747\u003c/a\u003e): fix(yauzl): vendor yauzl with destroy-lifecycle fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9a9c51cb7d1b39fab51ca288e59f8ca38fd19910\"\u003e\u003ccode\u003e9a9c51c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40733\"\u003e#40733\u003c/a\u003e): chore(electron): revert \u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40184\"\u003e#40184\u003c/a\u003e (move Electron API to a s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/4b3b628663031bcaaeca907e337892263524634d\"\u003e\u003ccode\u003e4b3b628\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40736\"\u003e#40736\u003c/a\u003e): Revert \u0026quot;feat(electron): add timeout option to electronAp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f869f96bbe6607cc3b88b4ca96fd82f17b301b50\"\u003e\u003ccode\u003ef869f96\u003c/code\u003e\u003c/a\u003e chore: bump version to v1.60.0 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40714\"\u003e#40714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/7eb6918afadfb0dd5c7e94ca9ffbddd84d8fbb39\"\u003e\u003ccode\u003e7eb6918\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40710\"\u003e#40710\u003c/a\u003e): docs: release notes v1.60\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/118d2aa6076d82840decca15d96b48611b08e392\"\u003e\u003ccode\u003e118d2aa\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40693\"\u003e#40693\u003c/a\u003e): chore(python): formdata path type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/54012f5dcc586da2e5d6cccd75f13ca367b94579\"\u003e\u003ccode\u003e54012f5\u003c/code\u003e\u003c/a\u003e chore(deps): bump ip-address and express-rate-limit (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40680\"\u003e#40680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9fa531da5677a3807d6e1dccd22c5137339a44f7\"\u003e\u003ccode\u003e9fa531d\u003c/code\u003e\u003c/a\u003e fix(screencast): unblock frame ack when an async client disconnects (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40674\"\u003e#40674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/3649db560ff943e724185784d34f7db131a11961\"\u003e\u003ccode\u003e3649db5\u003c/code\u003e\u003c/a\u003e chore(mcp): bump default extension protocol to v2 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40678\"\u003e#40678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/bb6c00957f47ba04caad7fca75d426309a2d32d4\"\u003e\u003ccode\u003ebb6c009\u003c/code\u003e\u003c/a\u003e chore(extension): mark 0.2.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40679\"\u003e#40679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.58.2...v1.60.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/postcss` from 4.2.1 to 4.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003e@​tailwindcss/postcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalizations for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: ensure files are not emptied out when killing the upgrade process while it's running (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: use \u003ccode\u003econfig.content\u003c/code\u003e when migrating from Tailwind CSS v3 to Tailwind CSS v4 (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: never migrate files that are ignored by git (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e@​tailwindcss/postcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.3.0] - 2026-05-08\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.4] - 2026-04-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.3] - 2026-04-20\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalization for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/588bd7371f4cae96426e1387819b7fd1d99765f9\"\u003e\u003ccode\u003e588bd73\u003c/code\u003e\u003c/a\u003e 4.3.0 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/20023\"\u003e#20023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/12eb5ae7b6026ff64c04f889b2221418d772da72\"\u003e\u003ccode\u003e12eb5ae\u003c/code\u003e\u003c/a\u003e Cleanup noisy test output (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/4255671c5f792c42808ecd6b2dec27c16e3c559e\"\u003e\u003ccode\u003e4255671\u003c/code\u003e\u003c/a\u003e Improve snapshot tests (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/20013\"\u003e#20013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/52f94c74bb491e9c3641ce322a0ef90fb3c45de6\"\u003e\u003ccode\u003e52f94c7\u003c/code\u003e\u003c/a\u003e Improve codebase quality (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19999\"\u003e#19999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d194d4c3e656313421f1cfa1954db8f58eec0fcd\"\u003e\u003ccode\u003ed194d4c\u003c/code\u003e\u003c/a\u003e docs: fix various typos in comments and documentation (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19878\"\u003e#19878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/bfb5732b0b948d89c6803cb537bca168ec8e0a46\"\u003e\u003ccode\u003ebfb5732\u003c/code\u003e\u003c/a\u003e Fall back to the plugin \u003ccode\u003ebase\u003c/code\u003e when PostCSS has no \u003ccode\u003efrom\u003c/code\u003e option (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/3a890c35727fe0630c59b72dbec799d02e3c4800\"\u003e\u003ccode\u003e3a890c3\u003c/code\u003e\u003c/a\u003e Bump dependencies (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19957\"\u003e#19957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/69ad7cc5ec091125842aba783c5bfce536e9c234\"\u003e\u003ccode\u003e69ad7cc\u003c/code\u003e\u003c/a\u003e 4.2.4 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19948\"\u003e#19948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/685c19e266a6b75842747acab6fe7076e82df62d\"\u003e\u003ccode\u003e685c19e\u003c/code\u003e\u003c/a\u003e Fix issue around resolving paths in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/2e3fa490a535a8341fd2853d75098f0d4dbcc825\"\u003e\u003ccode\u003e2e3fa49\u003c/code\u003e\u003c/a\u003e 4.2.3 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19944\"\u003e#19944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/@tailwindcss-postcss\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​tailwindcss/postcss\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/react` from 19.2.14 to 19.2.15\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-config-next` from 16.1.6 to 16.2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/next.js/releases\"\u003eeslint-config-next's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev16.2.6\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release contains security fixes and backported bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eSecurity Fixes\u003c/h3\u003e\n\u003cp\u003eThe following advisories have been addressed:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eHigh:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj\"\u003eGHSA-8h8q-6873-q5fj: Denial of Service with Server Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f\"\u003eGHSA-267c-6grr-h53f: Middleware / Proxy bypass in App Router applications via segment-prefetch routes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-26hh-7cqf-hhc6\"\u003eGHSA-26hh-7cqf-hhc6: Middleware / Proxy bypass in App Router applications via segment-prefetch routes - \u003cstrong\u003eIncomplete Fix Follow-Up\u003c/strong\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx\"\u003eGHSA-mg66-mrh9-m8jx: Denial of Service via connection exhaustion in applications using Cache Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv\"\u003eGHSA-492v-c6pp-mqqv: Middleware / Proxy bypass through dynamic route parameter injection\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r\"\u003eGHSA-c4j6-fc7j-m34r: Server-side request forgery in applications using WebSocket upgrades\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-36qx-fr4f-26g5\"\u003eGHSA-36qx-fr4f-26g5: Middleware / Proxy bypass in Pages Router applications using i18n\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eModerate:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-ffhc-5mcf-pf4q\"\u003eGHSA-ffhc-5mcf-pf4q: Cross-site scripting in App Router applications using CSP nonces\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-gx5p-jg67-6x7h\"\u003eGHSA-gx5p-jg67-6x7h: Cross-site scripting in beforeInteractive scripts with untrusted input\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-h64f-5h5j-jqjh\"\u003eGHSA-h64f-5h5j-jqjh: Denial of Service in the Image Optimization API\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-wfc6-r584-vfw7\"\u003eGHSA-wfc6-r584-vfw7: Cache poisoning in React Server Component responses\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eLow:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-vfv6-92ff-j949\"\u003eGHSA-vfv6-92ff-j949: Cache poisoning via collisions in React Server Component cache-busting\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-3g8h-86w9-wvmq\"\u003eGHSA-3g8h-86w9-wvmq: Middleware / Proxy redirects can be cache-poisoned\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: preserve HTTP access fallbacks during prerender recovery (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92231\"\u003e#92231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix fallback route params case in app-page handler (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91737\"\u003e#91737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix invalid HTML response for route-level RSC requests in deployment adapter (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91541\"\u003e#91541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePatch setHeader for direct route handlers (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93101\"\u003e#93101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude deployment id in \u003ccode\u003ecacheHandlers\u003c/code\u003e keys (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93453\"\u003e#93453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix double-encoding of URL pathname parts in client param parsing (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93491\"\u003e#93491\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev16.2.5\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release contains security fixes and backported bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eSecurity Fixes\u003c/h3\u003e\n\u003cp\u003eThe following advisories have been addressed:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eHigh:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj\"\u003eGHSA-8h8q-6873-q5fj: Denial of Service with Server Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f\"\u003eGHSA-267c-6grr-h53f: Middleware / Proxy bypass in App Router applications via segment-prefetch routes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx\"\u003eGHSA-mg66-mrh9-m8jx: Denial of Service via connection exhaustion in applications using Cache Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv\"\u003eGHSA-492v-c6pp-mqqv: Middleware / Proxy bypass through dynamic route parameter injection\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r\"\u003eGHSA-c4j6-fc7j-m34r: Server-side request forgery in applications using WebSocket upgrades\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ee6e79b1792a4d401ddf2480f40a83549fe8e722\"\u003e\u003ccode\u003eee6e79b\u003c/code\u003e\u003c/a\u003e v16.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/766148f9cd48c0e218acafcd0f15defc14871bf4\"\u003e\u003ccode\u003e766148f\u003c/code\u003e\u003c/a\u003e v16.2.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/2275bd8598c88e8652d1271e74bcf972f72f4f38\"\u003e\u003ccode\u003e2275bd8\u003c/code\u003e\u003c/a\u003e v16.2.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/d5f649b2f4affdad1009cb178c1e3b37f4f1ad3f\"\u003e\u003ccode\u003ed5f649b\u003c/code\u003e\u003c/a\u003e v16.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/52faae3d94641584e13691238df5be158d0f00fb\"\u003e\u003ccode\u003e52faae3\u003c/code\u003e\u003c/a\u003e v16.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ed7d2cef246dcb3e2955c018fd8b2027e0ff8eed\"\u003e\u003ccode\u003eed7d2ce\u003c/code\u003e\u003c/a\u003e v16.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/c5c94dffbf084e66b172a9c6ff23d80c24973764\"\u003e\u003ccode\u003ec5c94df\u003c/code\u003e\u003c/a\u003e v16.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/3683192a6bea9011222e9b236f8000b5266f3fe6\"\u003e\u003ccode\u003e3683192\u003c/code\u003e\u003c/a\u003e v16.2.0-canary.104\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/668981482a3f9de97c4c1371e940e0f84972c080\"\u003e\u003ccode\u003e6689814\u003c/code\u003e\u003c/a\u003e v16.2.0-canary.103\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ad66dbc89b356867c308110dc5365a696c763991\"\u003e\u003ccode\u003ead66dbc\u003c/code\u003e\u003c/a\u003e v16.2.0-canary.102\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/next.js/commits/v16.2.6/packages/eslint-config-next\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for eslint-config-next since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-prettier` from 5.5.5 to 5.5.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/releases\"\u003eeslint-plugin-prettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/pull/791\"\u003e#791\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: bump all (dev)Dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md\"\u003eeslint-plugin-prettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/pull/791\"\u003e#791\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: bump all (dev)Dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/4f33ea5a503c6cdbda93424ebd13188a46a1a890\"\u003e\u003ccode\u003e4f33ea5\u003c/code\u003e\u003c/a\u003e chore: release eslint-plugin-prettier (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/792\"\u003e#792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/4745b54882a9011704764070a28aaaf0504efc92\"\u003e\u003ccode\u003e4745b54\u003c/code\u003e\u003c/a\u003e ci: declare workflow-level contents: read on 2 workflows (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e chore: bump all (dev)Dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/791\"\u003e#791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/e867680b2c1cf3748322c8c802690e7cfb78e233\"\u003e\u003ccode\u003ee867680\u003c/code\u003e\u003c/a\u003e chore(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/766\"\u003e#766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/e8e2f7f1dcad747f1d43168ee09956b512956593\"\u003e\u003ccode\u003ee8e2f7f\u003c/code\u003e\u003c/a\u003e chore: testing eslint v10 (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/779\"\u003e#779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/ca076d95aaf69aaf9c95abcc1692f8269197f248\"\u003e\u003ccode\u003eca076d9\u003c/code\u003e\u003c/a\u003e chore: update dev dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/42e636951f8d53d169b1f8c2b7e7dfd792711113\"\u003e\u003ccode\u003e42e6369\u003c/code\u003e\u003c/a\u003e build(deps): Bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/778\"\u003e#778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/53ff2143c03609e75b60e0e33d56c8089f0b364f\"\u003e\u003ccode\u003e53ff214\u003c/code\u003e\u003c/a\u003e Remove empty NPM_TOKEN from release.yml\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/compare/v5.5.5...v5.5.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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 `jest-environment-jsdom` from 30.3.0 to 30.4.1\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-environment-jsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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\u003ch2\u003eFixes\u003c/h2\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\u003c/ul\u003e\n\u003c!-- 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-environment-jsdom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003eworkerGracefulExitTimeo...\n\n_Description has been truncated_","html_url":"https://github.com/FreeForCharity/FFC-EX-hclwellness.org/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeForCharity%2FFFC-EX-hclwellness.org/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"4551014017","node_id":"PR_kwDOREaNsM7gxmvY","number":8,"state":"open","title":"deps(dev)(deps-dev): bump the development-dependencies group with 6 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-29T19:17:32.000Z","updated_at":"2026-05-29T19:18:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(dev)(deps-dev): bump","group_name":"development-dependencies","update_count":6,"packages":[{"name":"@jest/globals","old_version":"30.2.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"@playwright/test","old_version":"1.58.1","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"eslint-config-next","old_version":"16.1.6","new_version":"16.2.6","repository_url":"https://github.com/vercel/next.js"},{"name":"jest","old_version":"30.2.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-jsdom","old_version":"30.2.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 6 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `30.2.0` | `30.4.1` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.58.1` | `1.60.0` |\n| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.1.6` | `16.2.6` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.2.0` | `30.4.2` |\n| [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) | `30.2.0` | `30.4.1` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n\nUpdates `@jest/globals` from 30.2.0 to 30.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003e@​jest/globals's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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\u003ch2\u003eFixes\u003c/h2\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\u003c/ul\u003e\n\u003c!-- 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\"\u003e@​jest/globals's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ccode\u003e[jest-reporters, jest-runner, jest-runtime, jest-transform]\u003c/code\u003e Fix coverage report not showing correct code coverage when using \u003ccode\u003eprojects\u003c/code\u003e config option (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16140\"\u003e#16140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Resolve \u003ccode\u003eexpect\u003c/code\u003e and \u003ccode\u003e@jest/expect\u003c/code\u003e from the internal module registry so test-file imports share the same \u003ccode\u003eJestAssertionError\u003c/code\u003e as the global \u003ccode\u003eexpect\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16130\"\u003e#16130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Improve CJS-from-ESM interop: \u003ccode\u003e__esModule\u003c/code\u003e/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Load \u003ccode\u003e.js\u003c/code\u003e files with ESM syntax but no \u003ccode\u003e\u0026quot;type\u0026quot;:\u0026quot;module\u0026quot;\u003c/code\u003e marker as native ESM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Extend the \u003ccode\u003e.js\u003c/code\u003e-with-ESM-syntax fallback to \u003ccode\u003erequire()\u003c/code\u003e on Node v24.9+ - falls back to \u003ccode\u003erequire(esm)\u003c/code\u003e when the CJS parser rejects ESM syntax (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16078\"\u003e#16078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix deadlocks and double-evaluation in concurrent ESM and wasm imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\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/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/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.1/packages/jest-globals\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@playwright/test` from 1.58.1 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e@​playwright/test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛑 test.abort()\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-test#test-abort\"\u003etest.abort()\u003c/a\u003e aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003etest('does not publish to the shared page', async ({ page }) =\u0026gt; {\r\n  await page.route('**/publish', route =\u0026gt; {\r\n    test.abort('Tests must not publish to the shared page. Use the `clone` option.');\r\n    return route.abort();\r\n  });\r\n  // ...\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eNew APIs\u003c/h2\u003e\n\u003ch3\u003eBrowser, Context and Page\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/87bb9ddbd78f329df18c2b24847bc9409240cd07\"\u003e\u003ccode\u003e87bb9dd\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40747\"\u003e#40747\u003c/a\u003e): fix(yauzl): vendor yauzl with destroy-lifecycle fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9a9c51cb7d1b39fab51ca288e59f8ca38fd19910\"\u003e\u003ccode\u003e9a9c51c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40733\"\u003e#40733\u003c/a\u003e): chore(electron): revert \u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40184\"\u003e#40184\u003c/a\u003e (move Electron API to a s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/4b3b628663031bcaaeca907e337892263524634d\"\u003e\u003ccode\u003e4b3b628\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40736\"\u003e#40736\u003c/a\u003e): Revert \u0026quot;feat(electron): add timeout option to electronAp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f869f96bbe6607cc3b88b4ca96fd82f17b301b50\"\u003e\u003ccode\u003ef869f96\u003c/code\u003e\u003c/a\u003e chore: bump version to v1.60.0 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40714\"\u003e#40714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/7eb6918afadfb0dd5c7e94ca9ffbddd84d8fbb39\"\u003e\u003ccode\u003e7eb6918\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40710\"\u003e#40710\u003c/a\u003e): docs: release notes v1.60\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/118d2aa6076d82840decca15d96b48611b08e392\"\u003e\u003ccode\u003e118d2aa\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40693\"\u003e#40693\u003c/a\u003e): chore(python): formdata path type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/54012f5dcc586da2e5d6cccd75f13ca367b94579\"\u003e\u003ccode\u003e54012f5\u003c/code\u003e\u003c/a\u003e chore(deps): bump ip-address and express-rate-limit (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40680\"\u003e#40680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9fa531da5677a3807d6e1dccd22c5137339a44f7\"\u003e\u003ccode\u003e9fa531d\u003c/code\u003e\u003c/a\u003e fix(screencast): unblock frame ack when an async client disconnects (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40674\"\u003e#40674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/3649db560ff943e724185784d34f7db131a11961\"\u003e\u003ccode\u003e3649db5\u003c/code\u003e\u003c/a\u003e chore(mcp): bump default extension protocol to v2 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40678\"\u003e#40678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/bb6c00957f47ba04caad7fca75d426309a2d32d4\"\u003e\u003ccode\u003ebb6c009\u003c/code\u003e\u003c/a\u003e chore(extension): mark 0.2.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40679\"\u003e#40679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.58.1...v1.60.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-config-next` from 16.1.6 to 16.2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/next.js/releases\"\u003eeslint-config-next's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev16.2.6\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release contains security fixes and backported bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eSecurity Fixes\u003c/h3\u003e\n\u003cp\u003eThe following advisories have been addressed:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eHigh:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj\"\u003eGHSA-8h8q-6873-q5fj: Denial of Service with Server Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f\"\u003eGHSA-267c-6grr-h53f: Middleware / Proxy bypass in App Router applications via segment-prefetch routes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-26hh-7cqf-hhc6\"\u003eGHSA-26hh-7cqf-hhc6: Middleware / Proxy bypass in App Router applications via segment-prefetch routes - \u003cstrong\u003eIncomplete Fix Follow-Up\u003c/strong\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx\"\u003eGHSA-mg66-mrh9-m8jx: Denial of Service via connection exhaustion in applications using Cache Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv\"\u003eGHSA-492v-c6pp-mqqv: Middleware / Proxy bypass through dynamic route parameter injection\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r\"\u003eGHSA-c4j6-fc7j-m34r: Server-side request forgery in applications using WebSocket upgrades\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-36qx-fr4f-26g5\"\u003eGHSA-36qx-fr4f-26g5: Middleware / Proxy bypass in Pages Router applications using i18n\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eModerate:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-ffhc-5mcf-pf4q\"\u003eGHSA-ffhc-5mcf-pf4q: Cross-site scripting in App Router applications using CSP nonces\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-gx5p-jg67-6x7h\"\u003eGHSA-gx5p-jg67-6x7h: Cross-site scripting in beforeInteractive scripts with untrusted input\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-h64f-5h5j-jqjh\"\u003eGHSA-h64f-5h5j-jqjh: Denial of Service in the Image Optimization API\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-wfc6-r584-vfw7\"\u003eGHSA-wfc6-r584-vfw7: Cache poisoning in React Server Component responses\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eLow:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-vfv6-92ff-j949\"\u003eGHSA-vfv6-92ff-j949: Cache poisoning via collisions in React Server Component cache-busting\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-3g8h-86w9-wvmq\"\u003eGHSA-3g8h-86w9-wvmq: Middleware / Proxy redirects can be cache-poisoned\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: preserve HTTP access fallbacks during prerender recovery (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92231\"\u003e#92231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix fallback route params case in app-page handler (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91737\"\u003e#91737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix invalid HTML response for route-level RSC requests in deployment adapter (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91541\"\u003e#91541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePatch setHeader for direct route handlers (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93101\"\u003e#93101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude deployment id in \u003ccode\u003ecacheHandlers\u003c/code\u003e keys (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93453\"\u003e#93453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix double-encoding of URL pathname parts in client param parsing (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93491\"\u003e#93491\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev16.2.5\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release contains security fixes and backported bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eSecurity Fixes\u003c/h3\u003e\n\u003cp\u003eThe following advisories have been addressed:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eHigh:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj\"\u003eGHSA-8h8q-6873-q5fj: Denial of Service with Server Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f\"\u003eGHSA-267c-6grr-h53f: Middleware / Proxy bypass in App Router applications via segment-prefetch routes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx\"\u003eGHSA-mg66-mrh9-m8jx: Denial of Service via connection exhaustion in applications using Cache Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv\"\u003eGHSA-492v-c6pp-mqqv: Middleware / Proxy bypass through dynamic route parameter injection\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r\"\u003eGHSA-c4j6-fc7j-m34r: Server-side request forgery in applications using WebSocket upgrades\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ee6e79b1792a4d401ddf2480f40a83549fe8e722\"\u003e\u003ccode\u003eee6e79b\u003c/code\u003e\u003c/a\u003e v16.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/766148f9cd48c0e218acafcd0f15defc14871bf4\"\u003e\u003ccode\u003e766148f\u003c/code\u003e\u003c/a\u003e v16.2.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/2275bd8598c88e8652d1271e74bcf972f72f4f38\"\u003e\u003ccode\u003e2275bd8\u003c/code\u003e\u003c/a\u003e v16.2.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/d5f649b2f4affdad1009cb178c1e3b37f4f1ad3f\"\u003e\u003ccode\u003ed5f649b\u003c/code\u003e\u003c/a\u003e v16.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/52faae3d94641584e13691238df5be158d0f00fb\"\u003e\u003ccode\u003e52faae3\u003c/code\u003e\u003c/a\u003e v16.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ed7d2cef246dcb3e2955c018fd8b2027e0ff8eed\"\u003e\u003ccode\u003eed7d2ce\u003c/code\u003e\u003c/a\u003e v16.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/c5c94dffbf084e66b172a9c6ff23d80c24973764\"\u003e\u003ccode\u003ec5c94df\u003c/code\u003e\u003c/a\u003e v16.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/3683192a6bea9011222e9b236f8000b5266f3fe6\"\u003e\u003ccode\u003e3683192\u003c/code\u003e\u003c/a\u003e v16.2.0-canary.104\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/668981482a3f9de97c4c1371e940e0f84972c080\"\u003e\u003ccode\u003e6689814\u003c/code\u003e\u003c/a\u003e v16.2.0-canary.103\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ad66dbc89b356867c308110dc5365a696c763991\"\u003e\u003ccode\u003ead66dbc\u003c/code\u003e\u003c/a\u003e v16.2.0-canary.102\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/next.js/commits/v16.2.6/packages/eslint-config-next\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for eslint-config-next since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.2.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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/96c53d30660e51bf76ed2cd1ecc2334c399ac31c\"\u003e\u003ccode\u003e96c53d3\u003c/code\u003e\u003c/a\u003e feat(jest-config): add \u003ccode\u003edefineConfig\u003c/code\u003e and \u003ccode\u003emergeConfig\u003c/code\u003e functions (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15844\"\u003e#15844\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 `jest-environment-jsdom` from 30.2.0 to 30.4.1\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-environment-jsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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\u003ch2\u003eFixes\u003c/h2\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\u003c/ul\u003e\n\u003c!-- 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-environment-jsdom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ccode\u003e[jest-reporters, jest-runner, jest-runtime, jest-transform]\u003c/code\u003e Fix coverage report not showing correct code coverage when using \u003ccode\u003eprojects\u003c/code\u003e config option (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16140\"\u003e#16140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Resolve \u003ccode\u003eexpect\u003c/code\u003e and \u003ccode\u003e@jest/expect\u003c/code\u003e from the internal module registry so test-file imports share the same \u003ccode\u003eJestAssertionError\u003c/code\u003e as the global \u003ccode\u003eexpect\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16130\"\u003e#16130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Improve CJS-from-ESM interop: \u003ccode\u003e__esModule\u003c/code\u003e/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Load \u003ccode\u003e.js\u003c/code\u003e files with ESM syntax but no \u003ccode\u003e\u0026quot;type\u0026quot;:\u0026quot;module\u0026quot;\u003c/code\u003e marker as native ESM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Extend the \u003ccode\u003e.js\u003c/code\u003e-with-ESM-syntax fallback to \u003ccode\u003erequire()\u003c/code\u003e on Node v24.9+ - falls back to \u003ccode\u003erequire(esm)\u003c/code\u003e when the CJS parser rejects ESM syntax (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16078\"\u003e#16078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix deadlocks and double-evaluation in concurrent ESM and wasm imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\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/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/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/b5b0220a824d29a443d2af4a56ce227f94478052\"\u003e\u003ccode\u003eb5b0220\u003c/code\u003e\u003c/a\u003e Remove unused dependencies from jest-environment-jsdom (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom/issues/15928\"\u003e#15928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.1/packages/jest-environment-jsdom\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.8.1 to 3.8.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.8.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003eprettier/prettier#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.8.3/CHANGELOG.md#383\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Angular v21.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md#382\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.8.3\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.2...3.8.3\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003e#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"scss\"\u003e\u003ccode\u003e// Input\n$value: if(sass(false): 1; else: -1);\n\u003cp\u003e// Prettier 3.8.2\n$value: if(\nsass(false): 1; else: -1,\n);\u003c/p\u003e\n\u003cp\u003e// Prettier 3.8.3\n$value: if(sass(false): 1; else: -1);\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.8.2\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.1...3.8.2\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eAngular: Support Angular v21.2 (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18722\"\u003e#18722\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19034\"\u003e#19034\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003cp\u003eExhaustive typechecking with \u003ccode\u003e@default never;\u003c/code\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n@switch (foo) {\n  @case (1) {}\n  @default never;\n}\n\u003cp\u003e\u0026lt;!-- Prettier 3.8.1 --\u0026gt;\nSyntaxError: Incomplete block \u0026quot;default never\u0026quot;. If you meant to write the @ character, you should use the \u0026quot;\u0026amp;\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/64\"\u003e#64\u003c/a\u003e;\u0026quot; HTML entity instead. (3:3)\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.8.2 --\u0026gt;\n\u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e (foo) {\n\u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (1) {}\n\u003ca href=\"https://github.com/default\"\u003e\u003ccode\u003e@​default\u003c/code\u003e\u003c/a\u003e never;\n}\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003earrow function\u003c/code\u003e and \u003ccode\u003einstanceof\u003c/code\u003e expressions.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/d7108a79ec745c04292aabf22c4c1adbd690b191\"\u003e\u003ccode\u003ed7108a7\u003c/code\u003e\u003c/a\u003e Release 3.8.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/177f90898170d363ef64fde663e4d13170688bfe\"\u003e\u003ccode\u003e177f908\u003c/code\u003e\u003c/a\u003e Prevent trailing comma in SCSS \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/18471\"\u003e#18471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/1cd40668c3d6f2f4cf9d87bbc9096d92361b2606\"\u003e\u003ccode\u003e1cd4066\u003c/code\u003e\u003c/a\u003e Release \u003ccode\u003e@​prettier/plugin-oxc\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/a8700e245038cd8cc0cf28ef06ffedbcb3fc2dfc\"\u003e\u003ccode\u003ea8700e2\u003c/code\u003e\u003c/a\u003e Update oxc-parser to v0.125.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/752157c78eca6f0a30e5d5cb513b682c5ecfa01e\"\u003e\u003ccode\u003e752157c\u003c/code\u003e\u003c/a\u003e Fix tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/053fd418e180b12fa2014260212fae831f5fc5ec\"\u003e\u003ccode\u003e053fd41\u003c/code\u003e\u003c/a\u003e Bump Prettier dependency to 3.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/904c6365ec46726fd0e21021c52ae934b7e5abc6\"\u003e\u003ccode\u003e904c636\u003c/code\u003e\u003c/a\u003e Clean changelog_unreleased\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dc1f7fcc508d116cbf1644d69a1f0eb93e40d4a4\"\u003e\u003ccode\u003edc1f7fc\u003c/code\u003e\u003c/a\u003e Update dependents count\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/b31557cf331a02acf83e7e29d1001b070189a0d9\"\u003e\u003ccode\u003eb31557c\u003c/code\u003e\u003c/a\u003e Release 3.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/96bbaeda0525bf758e464aed2f939d739a85c315\"\u003e\u003ccode\u003e96bbaed\u003c/code\u003e\u003c/a\u003e Support Angular v21.2 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/18722\"\u003e#18722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prettier/prettier/compare/3.8.1...3.8.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \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/markahope-aag/aviary-roi-calculators/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/markahope-aag%2Faviary-roi-calculators/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"},{"uuid":"4544149033","node_id":"PR_kwDOSF8iG87gbGzt","number":49,"state":"open","title":"Bump jest from 30.3.0 to 30.4.2","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-28T22:07:13.000Z","updated_at":"2026-05-28T22:07:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jest](https://github.com/jestjs/jest/tree/HEAD/packages/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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jest\u0026package-manager=npm_and_yarn\u0026previous-version=30.3.0\u0026new-version=30.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/20206205Tech/code-payment-service/pull/49","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/20206205Tech%2Fcode-payment-service/issues/49","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/49/packages"},{"uuid":"4543216615","node_id":"PR_kwDOQvUwiM7gYBxq","number":19,"state":"closed","title":"chore(deps-dev): bump jest and @types/jest in /server","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-05-28T21:43:14.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-28T19:31:52.000Z","updated_at":"2026-05-28T21:43:17.000Z","time_to_close":7882,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"jest","repository_url":"https://github.com/jestjs/jest","old_version":"29.7.0","new_version":"30.4.2"},{"name":"@types/jest","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped","old_version":"29.5.14","new_version":"30.0.0"}],"path":"/server","ecosystem":"npm"},"body":"Bumps [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) and [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest). These dependencies needed to be updated together.\nUpdates `jest` from 29.7.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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/96c53d30660e51bf76ed2cd1ecc2334c399ac31c\"\u003e\u003ccode\u003e96c53d3\u003c/code\u003e\u003c/a\u003e feat(jest-config): add \u003ccode\u003edefineConfig\u003c/code\u003e and \u003ccode\u003emergeConfig\u003c/code\u003e functions (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15844\"\u003e#15844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/855864e3f9751366455246790be2bf912d4d0dac\"\u003e\u003ccode\u003e855864e\u003c/code\u003e\u003c/a\u003e v30.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/da9b532f04632367b0df15a842280501f225b732\"\u003e\u003ccode\u003eda9b532\u003c/code\u003e\u003c/a\u003e v30.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ebfa31cc9787303e8698a1a029a162a18e8974aa\"\u003e\u003ccode\u003eebfa31c\u003c/code\u003e\u003c/a\u003e v30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/d347c0f3f87f976a1dbd9761d503e45f5ced2a7e\"\u003e\u003ccode\u003ed347c0f\u003c/code\u003e\u003c/a\u003e v30.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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 `@types/jest` from 29.5.14 to 30.0.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest\"\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/maringelix/dx03/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/maringelix%2Fdx03/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"},{"uuid":"4537182173","node_id":"PR_kwDOSUesEM7gESZJ","number":102,"state":"open","title":"chore(deps): bump jest and @types/jest","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-28T02:20:47.000Z","updated_at":"2026-05-28T02:20:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"jest","repository_url":"https://github.com/jestjs/jest","old_version":"29.7.0","new_version":"30.4.2"},{"name":"@types/jest","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped","old_version":"29.5.14","new_version":"30.0.0"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) and [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest). These dependencies needed to be updated together.\nUpdates `jest` from 29.7.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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/96c53d30660e51bf76ed2cd1ecc2334c399ac31c\"\u003e\u003ccode\u003e96c53d3\u003c/code\u003e\u003c/a\u003e feat(jest-config): add \u003ccode\u003edefineConfig\u003c/code\u003e and \u003ccode\u003emergeConfig\u003c/code\u003e functions (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15844\"\u003e#15844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/855864e3f9751366455246790be2bf912d4d0dac\"\u003e\u003ccode\u003e855864e\u003c/code\u003e\u003c/a\u003e v30.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/da9b532f04632367b0df15a842280501f225b732\"\u003e\u003ccode\u003eda9b532\u003c/code\u003e\u003c/a\u003e v30.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ebfa31cc9787303e8698a1a029a162a18e8974aa\"\u003e\u003ccode\u003eebfa31c\u003c/code\u003e\u003c/a\u003e v30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/d347c0f3f87f976a1dbd9761d503e45f5ced2a7e\"\u003e\u003ccode\u003ed347c0f\u003c/code\u003e\u003c/a\u003e v30.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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 `@types/jest` from 29.5.14 to 30.0.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Teles23/toqe/pull/102","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Teles23%2Ftoqe/issues/102","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/102/packages"},{"uuid":"4536952530","node_id":"PR_kwDOSp2jes7gDjOd","number":2,"state":"closed","title":"chore(deps-dev): bump the development-dependencies group with 21 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-28T01:27:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-28T01:27:17.000Z","updated_at":"2026-05-28T01:27:50.000Z","time_to_close":23,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"development-dependencies","update_count":21,"packages":[{"name":"@eslint/eslintrc","old_version":"3.3.3","new_version":"3.3.5","repository_url":"https://github.com/eslint/eslintrc"},{"name":"@faker-js/faker","old_version":"10.2.0","new_version":"10.4.0","repository_url":"https://github.com/faker-js/faker"},{"name":"@playwright/test","old_version":"1.57.0","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"@tailwindcss/postcss","old_version":"4.1.18","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@tanstack/react-query-devtools","old_version":"5.91.2","new_version":"5.100.14","repository_url":"https://github.com/TanStack/query"},{"name":"@types/node","old_version":"25.0.9","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.53.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.53.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"autoprefixer","old_version":"10.4.23","new_version":"10.5.0","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"baseline-browser-mapping","old_version":"2.10.0","new_version":"2.10.32","repository_url":"https://github.com/web-platform-dx/baseline-browser-mapping"},{"name":"dotenv","old_version":"17.2.3","new_version":"17.4.2","repository_url":"https://github.com/motdotla/dotenv"},{"name":"eslint-config-next","old_version":"16.1.4","new_version":"16.2.6","repository_url":"https://github.com/vercel/next.js"},{"name":"eslint-plugin-unused-imports","old_version":"4.3.0","new_version":"4.4.1","repository_url":"https://github.com/sweepline/eslint-plugin-unused-imports"},{"name":"jest","old_version":"30.2.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-jsdom","old_version":"30.2.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"playwright","old_version":"1.57.0","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"postcss","old_version":"8.5.6","new_version":"8.5.15","repository_url":"https://github.com/postcss/postcss"},{"name":"prettier","old_version":"3.8.0","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"tailwindcss","old_version":"4.1.18","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"ts-jest","old_version":"29.4.6","new_version":"29.4.11","repository_url":"https://github.com/kulshekhar/ts-jest"},{"name":"typedoc","old_version":"0.28.16","new_version":"0.28.19","repository_url":"https://github.com/TypeStrong/TypeDoc"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 21 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@eslint/eslintrc](https://github.com/eslint/eslintrc) | `3.3.3` | `3.3.5` |\n| [@faker-js/faker](https://github.com/faker-js/faker) | `10.2.0` | `10.4.0` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.57.0` | `1.60.0` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.1.18` | `4.3.0` |\n| [@tanstack/react-query-devtools](https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools) | `5.91.2` | `5.100.14` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.0.9` | `25.9.1` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.53.1` | `8.60.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.53.1` | `8.60.0` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.23` | `10.5.0` |\n| [baseline-browser-mapping](https://github.com/web-platform-dx/baseline-browser-mapping) | `2.10.0` | `2.10.32` |\n| [dotenv](https://github.com/motdotla/dotenv) | `17.2.3` | `17.4.2` |\n| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.1.4` | `16.2.6` |\n| [eslint-plugin-unused-imports](https://github.com/sweepline/eslint-plugin-unused-imports) | `4.3.0` | `4.4.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.2.0` | `30.4.2` |\n| [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) | `30.2.0` | `30.4.1` |\n| [playwright](https://github.com/microsoft/playwright) | `1.57.0` | `1.60.0` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.6` | `8.5.15` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.0` | `3.8.3` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.1.18` | `4.3.0` |\n| [ts-jest](https://github.com/kulshekhar/ts-jest) | `29.4.6` | `29.4.11` |\n| [typedoc](https://github.com/TypeStrong/TypeDoc) | `0.28.16` | `0.28.19` |\n\nUpdates `@eslint/eslintrc` from 3.3.3 to 3.3.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslintrc/releases\"\u003e@​eslint/eslintrc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eeslintrc: v3.3.5\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/eslintrc/compare/eslintrc-v3.3.4...eslintrc-v3.3.5\"\u003e3.3.5\u003c/a\u003e (2026-03-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate dependency minimatch to ^3.1.5 (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/227\"\u003e#227\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/eslintrc/commit/3dc2381e3e063f41e6b135650d05cdfe4045804e\"\u003e3dc2381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eeslintrc: v3.3.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/eslintrc/compare/eslintrc-v3.3.3...eslintrc-v3.3.4\"\u003e3.3.4\u003c/a\u003e (2026-02-22)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate \u003ccode\u003eajv\u003c/code\u003e to \u003ccode\u003e6.14.0\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/221\"\u003e#221\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/eslintrc/commit/9139140aece172fa4c11a466c493609be31cfa54\"\u003e9139140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003eminimatch\u003c/code\u003e to \u003ccode\u003e3.1.3\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/224\"\u003e#224\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/eslintrc/commit/30339d036361c13362d5a38191bb2388ad56bb6f\"\u003e30339d0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslintrc/blob/main/CHANGELOG.md\"\u003e@​eslint/eslintrc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/eslintrc/compare/eslintrc-v3.3.4...eslintrc-v3.3.5\"\u003e3.3.5\u003c/a\u003e (2026-03-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate dependency minimatch to ^3.1.5 (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/227\"\u003e#227\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/eslintrc/commit/3dc2381e3e063f41e6b135650d05cdfe4045804e\"\u003e3dc2381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/eslintrc/compare/eslintrc-v3.3.3...eslintrc-v3.3.4\"\u003e3.3.4\u003c/a\u003e (2026-02-22)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate \u003ccode\u003eajv\u003c/code\u003e to \u003ccode\u003e6.14.0\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/221\"\u003e#221\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/eslintrc/commit/9139140aece172fa4c11a466c493609be31cfa54\"\u003e9139140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003eminimatch\u003c/code\u003e to \u003ccode\u003e3.1.3\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/224\"\u003e#224\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/eslintrc/commit/30339d036361c13362d5a38191bb2388ad56bb6f\"\u003e30339d0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/5135df1a5388ebb2e340a631c69f0d3ce9f2432f\"\u003e\u003ccode\u003e5135df1\u003c/code\u003e\u003c/a\u003e chore: release 3.3.5 🚀 (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/228\"\u003e#228\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/c109d69371e8544823637b708a16735e9136536c\"\u003e\u003ccode\u003ec109d69\u003c/code\u003e\u003c/a\u003e docs: Update README sponsors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/3dc2381e3e063f41e6b135650d05cdfe4045804e\"\u003e\u003ccode\u003e3dc2381\u003c/code\u003e\u003c/a\u003e fix: update dependency minimatch to ^3.1.5 (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/227\"\u003e#227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/81385b67f04cac42ab068dc78e3ee1ce6668ef5c\"\u003e\u003ccode\u003e81385b6\u003c/code\u003e\u003c/a\u003e ci: pin Node.js 25.6.1 (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/226\"\u003e#226\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/4c45e24751db5eb5da5507e2d9daee7d14d53b55\"\u003e\u003ccode\u003e4c45e24\u003c/code\u003e\u003c/a\u003e chore: release 3.3.4 🚀 (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/223\"\u003e#223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/30339d036361c13362d5a38191bb2388ad56bb6f\"\u003e\u003ccode\u003e30339d0\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003eminimatch\u003c/code\u003e to \u003ccode\u003e3.1.3\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/224\"\u003e#224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/9139140aece172fa4c11a466c493609be31cfa54\"\u003e\u003ccode\u003e9139140\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003eajv\u003c/code\u003e to \u003ccode\u003e6.14.0\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/221\"\u003e#221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/245ada592eef13bb457f30ecd8b5cb9cfb4da0a9\"\u003e\u003ccode\u003e245ada5\u003c/code\u003e\u003c/a\u003e docs: Update README sponsors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/78b1a0ecec3f88d780b31418da61f57232cf83dc\"\u003e\u003ccode\u003e78b1a0e\u003c/code\u003e\u003c/a\u003e docs: Update README sponsors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/df32fff115e0666077787def434a200f2aa5f8f7\"\u003e\u003ccode\u003edf32fff\u003c/code\u003e\u003c/a\u003e docs: Update README sponsors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslintrc/compare/eslintrc-v3.3.3...eslintrc-v3.3.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@faker-js/faker` from 10.2.0 to 10.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/faker-js/faker/releases\"\u003e@​faker-js/faker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(locale): add Norwegian (nb_NO) country definition by \u003ca href=\"https://github.com/TomSchrier\"\u003e\u003ccode\u003e@​TomSchrier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3714\"\u003efaker-js/faker#3714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(docs): share refreshable code logic by \u003ca href=\"https://github.com/ST-DDT\"\u003e\u003ccode\u003e@​ST-DDT\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3739\"\u003efaker-js/faker#3739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(locale): add Japanese cat breed definitions by \u003ca href=\"https://github.com/atzzCokeK\"\u003e\u003ccode\u003e@​atzzCokeK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3716\"\u003efaker-js/faker#3716\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(food): add plant-based dish variety by \u003ca href=\"https://github.com/stuckvgn\"\u003e\u003ccode\u003e@​stuckvgn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3745\"\u003efaker-js/faker#3745\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(locales): correct typos and capitalization in es_MX street names by \u003ca href=\"https://github.com/quserforgitp\"\u003e\u003ccode\u003e@​quserforgitp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3737\"\u003efaker-js/faker#3737\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(locale): add Japanese bear definitions by \u003ca href=\"https://github.com/atzzCokeK\"\u003e\u003ccode\u003e@​atzzCokeK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3720\"\u003efaker-js/faker#3720\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: fi locale phone numbers by \u003ca href=\"https://github.com/andeke07\"\u003e\u003ccode\u003e@​andeke07\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3747\"\u003efaker-js/faker#3747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(hacker): use helpers.fake() instead of helpers.mustache() in phrase() by \u003ca href=\"https://github.com/atzzCokeK\"\u003e\u003ccode\u003e@​atzzCokeK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3736\"\u003efaker-js/faker#3736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update all non-major dependencies by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3752\"\u003efaker-js/faker#3752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency \u003ccode\u003e@​vitest/eslint-plugin\u003c/code\u003e to v1.6.9 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3749\"\u003efaker-js/faker#3749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update eslint by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3751\"\u003efaker-js/faker#3751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(locale): add Japanese cattle breed definitions by \u003ca href=\"https://github.com/atzzCokeK\"\u003e\u003ccode\u003e@​atzzCokeK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3717\"\u003efaker-js/faker#3717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(locale): add Japanese bird definitions by \u003ca href=\"https://github.com/atzzCokeK\"\u003e\u003ccode\u003e@​atzzCokeK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3719\"\u003efaker-js/faker#3719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(locale): add Japanese fish definitions by \u003ca href=\"https://github.com/atzzCokeK\"\u003e\u003ccode\u003e@​atzzCokeK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3721\"\u003efaker-js/faker#3721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): lock file maintenance by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3738\"\u003efaker-js/faker#3738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update devdependencies by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3750\"\u003efaker-js/faker#3750\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update all non-major dependencies by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3754\"\u003efaker-js/faker#3754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(locale): filter and cleanup PersonEntryDefintions data by \u003ca href=\"https://github.com/ST-DDT\"\u003e\u003ccode\u003e@​ST-DDT\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3266\"\u003efaker-js/faker#3266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(locale): add Japanese horse breed definitions by \u003ca href=\"https://github.com/atzzCokeK\"\u003e\u003ccode\u003e@​atzzCokeK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3718\"\u003efaker-js/faker#3718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: migrate vitepress from v1 to v2.0.0-alpha.17 by \u003ca href=\"https://github.com/Shinigami92\"\u003e\u003ccode\u003e@​Shinigami92\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3757\"\u003efaker-js/faker#3757\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update devdependencies by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3755\"\u003efaker-js/faker#3755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): lock file maintenance by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3756\"\u003efaker-js/faker#3756\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update mcr.microsoft.com/devcontainers/typescript-node:24 docker digest to 3ff0e3f by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3762\"\u003efaker-js/faker#3762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update eslint by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3763\"\u003efaker-js/faker#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update devdependencies by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3764\"\u003efaker-js/faker#3764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update vitest by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3765\"\u003efaker-js/faker#3765\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update pnpm/action-setup action to v5 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3766\"\u003efaker-js/faker#3766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update all non-major dependencies by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3767\"\u003efaker-js/faker#3767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): lock file maintenance by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3758\"\u003efaker-js/faker#3758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(release): 10.4.0 by \u003ca href=\"https://github.com/fakerjs-bot\"\u003e\u003ccode\u003e@​fakerjs-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3768\"\u003efaker-js/faker#3768\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/stuckvgn\"\u003e\u003ccode\u003e@​stuckvgn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3745\"\u003efaker-js/faker#3745\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quserforgitp\"\u003e\u003ccode\u003e@​quserforgitp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3737\"\u003efaker-js/faker#3737\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andeke07\"\u003e\u003ccode\u003e@​andeke07\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3747\"\u003efaker-js/faker#3747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/faker-js/faker/compare/v10.3.0...v10.4.0\"\u003ehttps://github.com/faker-js/faker/compare/v10.3.0...v10.4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev10.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): lock file maintenance by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3689\"\u003efaker-js/faker#3689\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(location): state name to 'Trøndelag' for nb_NO by \u003ca href=\"https://github.com/Nilhenrik\"\u003e\u003ccode\u003e@​Nilhenrik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3691\"\u003efaker-js/faker#3691\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(locale): remove empty string from Hebrew lorem words by \u003ca href=\"https://github.com/erezcor\"\u003e\u003ccode\u003e@​erezcor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3698\"\u003efaker-js/faker#3698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: add custom matcher \u0026quot;toStartWith\u0026quot; by \u003ca href=\"https://github.com/xDivisionByZerox\"\u003e\u003ccode\u003e@​xDivisionByZerox\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3700\"\u003efaker-js/faker#3700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(person): \u003ccode\u003esexType\u003c/code\u003e can return \u003ccode\u003e'generic'\u003c/code\u003e by \u003ca href=\"https://github.com/ST-DDT\"\u003e\u003ccode\u003e@​ST-DDT\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3259\"\u003efaker-js/faker#3259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(locale): normalize system locale data by \u003ca href=\"https://github.com/xDivisionByZerox\"\u003e\u003ccode\u003e@​xDivisionByZerox\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3702\"\u003efaker-js/faker#3702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(locale): add Japanese suffix definitions for person module by \u003ca href=\"https://github.com/atzzCokeK\"\u003e\u003ccode\u003e@​atzzCokeK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3704\"\u003efaker-js/faker#3704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(locale): add Japanese job definitions for person module by \u003ca href=\"https://github.com/atzzCokeK\"\u003e\u003ccode\u003e@​atzzCokeK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3705\"\u003efaker-js/faker#3705\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/faker-js/faker/blob/next/CHANGELOG.md\"\u003e@​faker-js/faker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/faker-js/faker/compare/v10.3.0...v10.4.0\"\u003e10.4.0\u003c/a\u003e (2026-03-23)\u003c/h2\u003e\n\u003ch3\u003eNew Locales\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese bear definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3720\"\u003e#3720\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/2a4b15cff44cec578b23b579d9bd8603887024ac\"\u003e2a4b15c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese bird definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3719\"\u003e#3719\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/dc31ff8f79c9811ed23ebea845ece4abd375aeaa\"\u003edc31ff8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese cat breed definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3716\"\u003e#3716\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/54af8a8ca051631350a727a2dc596e212b91061a\"\u003e54af8a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese cattle breed definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3717\"\u003e#3717\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/c2c7342d8d0bd93871659fa9150ce6f80364cf93\"\u003ec2c7342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese fish definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3721\"\u003e#3721\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/15fc36187225cff20037658dd9f9b6e076641ca9\"\u003e15fc361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese horse breed definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3718\"\u003e#3718\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/e02536ee5283e29961965dc3e4e56c74dc65c16f\"\u003ee02536e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Norwegian (nb_NO) country definition (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3714\"\u003e#3714\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/614b4e9eb7f86334619822d654063abc7026ee48\"\u003e614b4e9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efi locale phone numbers (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3747\"\u003e#3747\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/7afa8b5628e51a8eba5e56d63d0ffc0ff2cea11f\"\u003e7afa8b5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efood:\u003c/strong\u003e add plant-based dish variety (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3745\"\u003e#3745\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/41edf49c9eb32db4a70a57a3e0ab687b9ec4b6a5\"\u003e41edf49\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged Locales\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e filter and cleanup PersonEntryDefintions data (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3266\"\u003e#3266\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/67defc8b0b3d4006f2151889d4401a3f2aa00580\"\u003e67defc8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elocales:\u003c/strong\u003e correct typos and capitalization in es_MX street names (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3737\"\u003e#3737\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/2b32c28b438307904a12e1271fbc4f2e614091b6\"\u003e2b32c28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/faker-js/faker/compare/v10.2.0...v10.3.0\"\u003e10.3.0\u003c/a\u003e (2026-02-06)\u003c/h2\u003e\n\u003ch3\u003eNew Locales\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese  dog definition (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3715\"\u003e#3715\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/76c9df131a55f63da55101cc7cccff2f7928187c\"\u003e76c9df1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese color definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3707\"\u003e#3707\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/bbbb215ef6441ec7a3ebdd660fd2690074f69c67\"\u003ebbbb215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese food module (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3706\"\u003e#3706\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/71d55c09f15ab437444c57d0eebff4477f75b131\"\u003e71d55c0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese internet definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3708\"\u003e#3708\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/184a709825979c6d8d7c3ea240ac2485bed96296\"\u003e184a709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese job definitions for person module (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3705\"\u003e#3705\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/e7f3ccd2e5b0ba84455edb680dfcfa5d86ecdbaf\"\u003ee7f3ccd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese suffix definitions for person module (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3704\"\u003e#3704\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/45ad7d81682f65ab7fe37eea0633d7f0262cde87\"\u003e45ad7d8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Norwegian (nb_NO) continent definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3712\"\u003e#3712\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/c0f0f232adad715791cde3622939b463d925c165\"\u003ec0f0f23\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Norwegian (nb_NO) direction definition (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3713\"\u003e#3713\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/43b18fa0c540fdc2a3a61517377da63653802d25\"\u003e43b18fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Norwegian (nb_NO) sex definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3710\"\u003e#3710\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/76063f26574b48f7ea8fd918f18744f3276669ad\"\u003e76063f2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Norwegian (nb_NO) vehicle definition (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3732\"\u003e#3732\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/d1c32b0326298534f40986328296232af209eb19\"\u003ed1c32b0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elocales:\u003c/strong\u003e add Norwegian (nb_NO) zodiac sign definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3711\"\u003e#3711\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/e306542867a4839fbe7eb8015c73db2f24bc6ceb\"\u003ee306542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eperson:\u003c/strong\u003e \u003ccode\u003esexType\u003c/code\u003e can return \u003ccode\u003e'generic'\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3259\"\u003e#3259\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/0e099a1033ae89de2f9810558c3c0257d78a50fe\"\u003e0e099a1\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/faker-js/faker/commit/b8abfc6415fe5be3a207b1b3dd4266905b924f84\"\u003e\u003ccode\u003eb8abfc6\u003c/code\u003e\u003c/a\u003e chore(release): 10.4.0 (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3768\"\u003e#3768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-js/faker/commit/7108155ee3eb0da742e7ef26bb3795b5b9331d9e\"\u003e\u003ccode\u003e7108155\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3758\"\u003e#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-js/faker/commit/5e6cf2b74dee98556df6f95a45e1603a80db731d\"\u003e\u003ccode\u003e5e6cf2b\u003c/code\u003e\u003c/a\u003e chore(deps): update all non-major dependencies (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3767\"\u003e#3767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-js/faker/commit/91c944b7e8918af8f91c03e14f036063804b3e16\"\u003e\u003ccode\u003e91c944b\u003c/code\u003e\u003c/a\u003e chore(deps): update pnpm/action-setup action to v5 (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3766\"\u003e#3766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-js/faker/commit/cb18595f83328f01a121928ab33135829e10c2f1\"\u003e\u003ccode\u003ecb18595\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3765\"\u003e#3765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-js/faker/commit/af25d6b0dbbf85c91dfc5f56f163fef3514035d1\"\u003e\u003ccode\u003eaf25d6b\u003c/code\u003e\u003c/a\u003e chore(deps): update devdependencies (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3764\"\u003e#3764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-js/faker/commit/2e72c27e2aff7b45f469b446203afaa47089f4f9\"\u003e\u003ccode\u003e2e72c27\u003c/code\u003e\u003c/a\u003e chore(deps): update eslint (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3763\"\u003e#3763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-js/faker/commit/9a18091c23ca7236e9481dccaab60d80b1495f5f\"\u003e\u003ccode\u003e9a18091\u003c/code\u003e\u003c/a\u003e chore(deps): update mcr.microsoft.com/devcontainers/typescript-node:24 docker...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-js/faker/commit/aa7b6c017411d49df8afe2b6c4921978b7281b08\"\u003e\u003ccode\u003eaa7b6c0\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3756\"\u003e#3756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-js/faker/commit/89ba3459444ae5be0fe9c5f349ced863c4f95f7b\"\u003e\u003ccode\u003e89ba345\u003c/code\u003e\u003c/a\u003e chore(deps): update devdependencies (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3755\"\u003e#3755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/faker-js/faker/compare/v10.2.0...v10.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@playwright/test` from 1.57.0 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e@​playwright/test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛑 test.abort()\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-test#test-abort\"\u003etest.abort()\u003c/a\u003e aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003etest('does not publish to the shared page', async ({ page }) =\u0026gt; {\r\n  await page.route('**/publish', route =\u0026gt; {\r\n    test.abort('Tests must not publish to the shared page. Use the `clone` option.');\r\n    return route.abort();\r\n  });\r\n  // ...\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eNew APIs\u003c/h2\u003e\n\u003ch3\u003eBrowser, Context and Page\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/87bb9ddbd78f329df18c2b24847bc9409240cd07\"\u003e\u003ccode\u003e87bb9dd\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40747\"\u003e#40747\u003c/a\u003e): fix(yauzl): vendor yauzl with destroy-lifecycle fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9a9c51cb7d1b39fab51ca288e59f8ca38fd19910\"\u003e\u003ccode\u003e9a9c51c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40733\"\u003e#40733\u003c/a\u003e): chore(electron): revert \u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40184\"\u003e#40184\u003c/a\u003e (move Electron API to a s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/4b3b628663031bcaaeca907e337892263524634d\"\u003e\u003ccode\u003e4b3b628\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40736\"\u003e#40736\u003c/a\u003e): Revert \u0026quot;feat(electron): add timeout option to electronAp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f869f96bbe6607cc3b88b4ca96fd82f17b301b50\"\u003e\u003ccode\u003ef869f96\u003c/code\u003e\u003c/a\u003e chore: bump version to v1.60.0 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40714\"\u003e#40714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/7eb6918afadfb0dd5c7e94ca9ffbddd84d8fbb39\"\u003e\u003ccode\u003e7eb6918\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40710\"\u003e#40710\u003c/a\u003e): docs: release notes v1.60\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/118d2aa6076d82840decca15d96b48611b08e392\"\u003e\u003ccode\u003e118d2aa\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40693\"\u003e#40693\u003c/a\u003e): chore(python): formdata path type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/54012f5dcc586da2e5d6cccd75f13ca367b94579\"\u003e\u003ccode\u003e54012f5\u003c/code\u003e\u003c/a\u003e chore(deps): bump ip-address and express-rate-limit (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40680\"\u003e#40680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9fa531da5677a3807d6e1dccd22c5137339a44f7\"\u003e\u003ccode\u003e9fa531d\u003c/code\u003e\u003c/a\u003e fix(screencast): unblock frame ack when an async client disconnects (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40674\"\u003e#40674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/3649db560ff943e724185784d34f7db131a11961\"\u003e\u003ccode\u003e3649db5\u003c/code\u003e\u003c/a\u003e chore(mcp): bump default extension protocol to v2 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40678\"\u003e#40678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/bb6c00957f47ba04caad7fca75d426309a2d32d4\"\u003e\u003ccode\u003ebb6c009\u003c/code\u003e\u003c/a\u003e chore(extension): mark 0.2.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40679\"\u003e#40679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.57.0...v1.60.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/postcss` from 4.1.18 to 4.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003e@​tailwindcss/postcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalizations for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: ensure files are not emptied out when killing the upgrade process while it's running (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: use \u003ccode\u003econfig.content\u003c/code\u003e when migrating from Tailwind CSS v3 to Tailwind CSS v4 (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: never migrate files that are ignored by git (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e@​tailwindcss/postcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.3.0] - 2026-05-08\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.4] - 2026-04-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.3] - 2026-04-20\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalization for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/588bd7371f4cae96426e1387819b7fd1d99765f9\"\u003e\u003ccode\u003e588bd73\u003c/code\u003e\u003c/a\u003e 4.3.0 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/20023\"\u003e#20023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/12eb5ae7b6026ff64c04f889b2221418d772da72\"\u003e\u003ccode\u003e12eb5ae\u003c/code\u003e\u003c/a\u003e Cleanup noisy test output (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/4255671c5f792c42808ecd6b2dec27c16e3c559e\"\u003e\u003ccode\u003e4255671\u003c/code\u003e\u003c/a\u003e Improve snapshot tests (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/20013\"\u003e#20013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/52f94c74bb491e9c3641ce322a0ef90fb3c45de6\"\u003e\u003ccode\u003e52f94c7\u003c/code\u003e\u003c/a\u003e Improve codebase quality (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19999\"\u003e#19999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d194d4c3e656313421f1cfa1954db8f58eec0fcd\"\u003e\u003ccode\u003ed194d4c\u003c/code\u003e\u003c/a\u003e docs: fix various typos in comments and documentation (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19878\"\u003e#19878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/bfb5732b0b948d89c6803cb537bca168ec8e0a46\"\u003e\u003ccode\u003ebfb5732\u003c/code\u003e\u003c/a\u003e Fall back to the plugin \u003ccode\u003ebase\u003c/code\u003e when PostCSS has no \u003ccode\u003efrom\u003c/code\u003e option (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/3a890c35727fe0630c59b72dbec799d02e3c4800\"\u003e\u003ccode\u003e3a890c3\u003c/code\u003e\u003c/a\u003e Bump dependencies (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19957\"\u003e#19957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/69ad7cc5ec091125842aba783c5bfce536e9c234\"\u003e\u003ccode\u003e69ad7cc\u003c/code\u003e\u003c/a\u003e 4.2.4 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19948\"\u003e#19948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/685c19e266a6b75842747acab6fe7076e82df62d\"\u003e\u003ccode\u003e685c19e\u003c/code\u003e\u003c/a\u003e Fix issue around resolving paths in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/2e3fa490a535a8341fd2853d75098f0d4dbcc825\"\u003e\u003ccode\u003e2e3fa49\u003c/code\u003e\u003c/a\u003e 4.2.3 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19944\"\u003e#19944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/@tailwindcss-postcss\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​tailwindcss/postcss\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tanstack/react-query-devtools` from 5.91.2 to 5.100.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/releases\"\u003e@​tanstack/react-query-devtools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/ed20b6d7541c908033acfcad92b0cd112930d1c3\"\u003e\u003ccode\u003eed20b6d\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/blob/main/packages/react-query-devtools/CHANGELOG.md\"\u003e@​tanstack/react-query-devtools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.100.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/ed20b6d7541c908033acfcad92b0cd112930d1c3\"\u003e\u003ccode\u003eed20b6d\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.10\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/4d130b992d2ac396d75f921bfc530dd3a9d50577\"\u003e\u003ccode\u003e4d130b9\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.10\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.10\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/3d21cacdec3028b700c4c2e3e0ff8dbe7a235e8c\"\u003e\u003ccode\u003e3d21cac\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.8\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/ba6e7beebd50143408f01fcf5d9aee2ec1486f60\"\u003e\u003ccode\u003eba6e7be\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10767\"\u003e#10767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/05cf2bc0a4eae64959dc8a40152e2878190c971b\"\u003e\u003ccode\u003e05cf2bc\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10758\"\u003e#10758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/5ff4f6936bb66a64267eb4413430f956eecf7248\"\u003e\u003ccode\u003e5ff4f69\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10755\"\u003e#10755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/3e85350749751eef055fffb65f6838dfafa74891\"\u003e\u003ccode\u003e3e85350\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10706\"\u003e#10706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/9d2692cec4d538c2f96489027ba546f11638dfb1\"\u003e\u003ccode\u003e9d2692c\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10695\"\u003e#10695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/74fa05eb1b16f40ea7068afd0e5e082687d22338\"\u003e\u003ccode\u003e74fa05e\u003c/code\u003e\u003c/a\u003e chore(tsconfig.json): narrow 'include' pattern to prevent TS6053 race conditi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/8c3d523d0ab0b3f8fad28fbaae6807e7aca7eb54\"\u003e\u003ccode\u003e8c3d523\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10630\"\u003e#10630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/03eba38ae9f9367022316d802d827a8460edcab7\"\u003e\u003ccode\u003e03eba38\u003c/code\u003e\u003c/a\u003e test(react-query-devtools): add tests for missing 'QueryClient', context prov...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/9800c8f1a3f7907956410c23426a26d981e7d694\"\u003e\u003ccode\u003e9800c8f\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10623\"\u003e#10623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/3ae42619e5713b2fd6916760e84f7c9ddaa7a317\"\u003e\u003ccode\u003e3ae4261\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10620\"\u003e#10620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TanStack/query/commits/@tanstack/react-query-devtools@5.100.14/packages/react-query-devtools\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.0.9 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.53.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-deprecated] object destructuring values should be treated as declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12292\"\u003e#12292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-type-assertion] handle crash on recursive template literal types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12150\"\u003e#12150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDima Barabash\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript...\n\n_Description has been truncated_","html_url":"https://github.com/Andresp1073/SIRA/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andresp1073%2FSIRA/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"},{"uuid":"4536339820","node_id":"PR_kwDOR_ybT87gBjbY","number":41,"state":"open","title":"Bump jest from 29.7.0 to 30.4.2 in the all group across 1 directory","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-27T23:02:15.000Z","updated_at":"2026-05-27T23:08:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"jest","old_version":"29.7.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"}],"path":"the all group across 1 directory","ecosystem":"npm"},"body":"Bumps the all group with 1 update in the / directory: [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest).\n\nUpdates `jest` from 29.7.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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/96c53d30660e51bf76ed2cd1ecc2334c399ac31c\"\u003e\u003ccode\u003e96c53d3\u003c/code\u003e\u003c/a\u003e feat(jest-config): add \u003ccode\u003edefineConfig\u003c/code\u003e and \u003ccode\u003emergeConfig\u003c/code\u003e functions (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15844\"\u003e#15844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/855864e3f9751366455246790be2bf912d4d0dac\"\u003e\u003ccode\u003e855864e\u003c/code\u003e\u003c/a\u003e v30.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/da9b532f04632367b0df15a842280501f225b732\"\u003e\u003ccode\u003eda9b532\u003c/code\u003e\u003c/a\u003e v30.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ebfa31cc9787303e8698a1a029a162a18e8974aa\"\u003e\u003ccode\u003eebfa31c\u003c/code\u003e\u003c/a\u003e v30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/d347c0f3f87f976a1dbd9761d503e45f5ced2a7e\"\u003e\u003ccode\u003ed347c0f\u003c/code\u003e\u003c/a\u003e v30.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jest\u0026package-manager=npm_and_yarn\u0026previous-version=29.7.0\u0026new-version=30.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \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/MainbaseT/css/pull/41","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MainbaseT%2Fcss/issues/41","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/41/packages"},{"uuid":"4536016143","node_id":"PR_kwDOSpuSgc7gAfch","number":27,"state":"open","title":"chore(deps): bump the dependencies group with 78 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-27T21:57:26.000Z","updated_at":"2026-05-28T04:21:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":78,"packages":[{"name":"@openzeppelin/contracts","old_version":"5.4.0","new_version":"5.6.1","repository_url":"https://github.com/OpenZeppelin/openzeppelin-contracts"},{"name":"dotenv","old_version":"17.3.1","new_version":"17.4.2","repository_url":"https://github.com/motdotla/dotenv"},{"name":"@nomicfoundation/hardhat-ethers","old_version":"4.0.5","new_version":"4.0.12","repository_url":"https://github.com/NomicFoundation/hardhat"},{"name":"@nomicfoundation/hardhat-toolbox","old_version":"6.1.2","new_version":"7.0.0","repository_url":"https://github.com/NomicFoundation/hardhat"},{"name":"hardhat","old_version":"3.1.10","new_version":"3.6.0","repository_url":"https://github.com/NomicFoundation/hardhat"},{"name":"@anthropic-ai/sdk","old_version":"0.67.1","new_version":"0.99.0","repository_url":"https://github.com/anthropics/anthropic-sdk-typescript"},{"name":"@react-oauth/google","old_version":"0.13.4","new_version":"0.13.5","repository_url":"https://github.com/MomenSherif/react-oauth"},{"name":"@simplewebauthn/server","old_version":"13.2.2","new_version":"13.3.1","repository_url":"https://github.com/MasterKale/SimpleWebAuthn"},{"name":"axios","old_version":"1.13.6","new_version":"1.13.4","repository_url":"https://github.com/axios/axios"},{"name":"bullmq","old_version":"5.67.3","new_version":"5.77.6","repository_url":"https://github.com/taskforcesh/bullmq"},{"name":"chromadb","old_version":"3.3.1","new_version":"3.4.3"},{"name":"express-rate-limit","old_version":"7.5.1","new_version":"8.5.2","repository_url":"https://github.com/express-rate-limit/express-rate-limit"},{"name":"express-validator","old_version":"7.3.1","new_version":"7.3.2","repository_url":"https://github.com/express-validator/express-validator"},{"name":"gcp-metadata","old_version":"5.3.0","new_version":"8.1.2","repository_url":"https://github.com/googleapis/google-cloud-node-core"},{"name":"glob","old_version":"10.5.0","new_version":"13.0.2","repository_url":"https://github.com/isaacs/node-glob"},{"name":"google-auth-library","old_version":"10.5.0","new_version":"10.6.2","repository_url":"https://github.com/googleapis/google-cloud-node-core"},{"name":"helmet","old_version":"8.1.0","new_version":"8.2.0","repository_url":"https://github.com/helmetjs/helmet"},{"name":"ioredis","old_version":"5.9.2","new_version":"5.11.0","repository_url":"https://github.com/luin/ioredis"},{"name":"mongoose","old_version":"8.23.0","new_version":"9.6.3","repository_url":"https://github.com/Automattic/mongoose"},{"name":"multer","old_version":"2.0.2","new_version":"2.1.1","repository_url":"https://github.com/expressjs/multer"},{"name":"nanoid","old_version":"5.1.6","new_version":"5.1.11","repository_url":"https://github.com/ai/nanoid"},{"name":"natural","old_version":"8.1.0","new_version":"8.1.1","repository_url":"https://github.com/NaturalNode/natural"},{"name":"node-cron","old_version":"3.0.3","new_version":"4.2.1","repository_url":"https://github.com/merencia/node-cron"},{"name":"nodemailer","old_version":"6.10.1","new_version":"8.0.9","repository_url":"https://github.com/nodemailer/nodemailer"},{"name":"openai","old_version":"6.21.0","new_version":"6.39.0","repository_url":"https://github.com/openai/openai-node"},{"name":"otplib","old_version":"13.2.1","new_version":"13.4.0","repository_url":"https://github.com/yeojz/otplib"},{"name":"pino","old_version":"9.14.0","new_version":"10.3.1","repository_url":"https://github.com/pinojs/pino"},{"name":"pino-pretty","old_version":"11.3.0","new_version":"13.1.3","repository_url":"https://github.com/pinojs/pino-pretty"},{"name":"stripe","old_version":"14.25.0","new_version":"22.2.0","repository_url":"https://github.com/stripe/stripe-node"},{"name":"swagger-jsdoc","old_version":"6.2.8","new_version":"6.3.0","repository_url":"https://github.com/Surnet/swagger-jsdoc"},{"name":"uuid","old_version":"9.0.1","new_version":"14.0.0","repository_url":"https://github.com/uuidjs/uuid"},{"name":"validator","old_version":"13.15.26","new_version":"13.15.35","repository_url":"https://github.com/validatorjs/validator.js"},{"name":"@babel/traverse","old_version":"7.29.0","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@prisma/client","old_version":"5.10.0","new_version":"7.8.0","repository_url":"https://github.com/prisma/prisma"},{"name":"jest","old_version":"29.7.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"nodemon","old_version":"3.1.11","new_version":"3.1.14","repository_url":"https://github.com/remy/nodemon"},{"name":"prisma","old_version":"5.10.0","new_version":"7.8.0","repository_url":"https://github.com/prisma/prisma"},{"name":"@simplewebauthn/browser","old_version":"13.2.2","new_version":"13.3.0","repository_url":"https://github.com/MasterKale/SimpleWebAuthn"},{"name":"@stripe/react-stripe-js","old_version":"5.6.0","new_version":"6.4.0","repository_url":"https://github.com/stripe/react-stripe-js"},{"name":"@stripe/stripe-js","old_version":"8.7.0","new_version":"9.7.0","repository_url":"https://github.com/stripe/stripe-js"},{"name":"@tanstack/react-query","old_version":"5.90.21","new_version":"5.100.14","repository_url":"https://github.com/TanStack/query"},{"name":"@walletconnect/ethereum-provider","old_version":"2.21.10","new_version":"2.23.9","repository_url":"https://github.com/WalletConnect/walletconnect-monorepo"},{"name":"browserslist","old_version":"4.28.1","new_version":"4.28.2","repository_url":"https://github.com/browserslist/browserslist"},{"name":"framer-motion","old_version":"12.34.0","new_version":"12.40.0","repository_url":"https://github.com/motiondivision/motion"},{"name":"lucide-react","old_version":"0.544.0","new_version":"1.16.0","repository_url":"https://github.com/lucide-icons/lucide"},{"name":"react","old_version":"18.3.1","new_version":"19.2.6","repository_url":"https://github.com/facebook/react"},{"name":"@types/react","old_version":"18.3.28","new_version":"19.2.15","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-dom","old_version":"18.3.1","new_version":"19.2.6","repository_url":"https://github.com/facebook/react"},{"name":"@types/react-dom","old_version":"18.3.7","new_version":"19.2.3","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-icons","old_version":"5.5.0","new_version":"5.6.0","repository_url":"https://github.com/react-icons/react-icons"},{"name":"react-router-dom","old_version":"6.30.3","new_version":"7.15.1","repository_url":"https://github.com/remix-run/react-router"},{"name":"react-syntax-highlighter","old_version":"16.1.0","new_version":"16.1.1","repository_url":"https://github.com/react-syntax-highlighter/react-syntax-highlighter"},{"name":"recharts","old_version":"3.7.0","new_version":"3.8.1","repository_url":"https://github.com/recharts/recharts"},{"name":"serve","old_version":"14.2.5","new_version":"14.2.6","repository_url":"https://github.com/vercel/serve"},{"name":"three","old_version":"0.180.0","new_version":"0.184.0","repository_url":"https://github.com/mrdoob/three.js"},{"name":"viem","old_version":"2.46.3","new_version":"2.45.3","repository_url":"https://github.com/wevm/viem"},{"name":"wagmi","old_version":"3.4.3","new_version":"3.6.16","repository_url":"https://github.com/wevm/wagmi"},{"name":"zustand","old_version":"5.0.11","new_version":"5.0.13","repository_url":"https://github.com/pmndrs/zustand"},{"name":"@vitejs/plugin-react","old_version":"4.7.0","new_version":"6.0.2","repository_url":"https://github.com/vitejs/vite-plugin-react"},{"name":"autoprefixer","old_version":"10.4.24","new_version":"10.5.0","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"eslint","old_version":"8.57.1","new_version":"10.4.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-react-hooks","old_version":"4.6.2","new_version":"7.1.1","repository_url":"https://github.com/facebook/react"},{"name":"eslint-plugin-react-refresh","old_version":"0.4.26","new_version":"0.5.2","repository_url":"https://github.com/ArnaudBarre/eslint-plugin-react-refresh"},{"name":"jsdom","old_version":"27.4.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"postcss","old_version":"8.5.6","new_version":"8.5.15","repository_url":"https://github.com/postcss/postcss"},{"name":"tailwindcss","old_version":"3.4.19","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"vite","old_version":"5.4.21","new_version":"8.0.14","repository_url":"https://github.com/vitejs/vite"},{"name":"vite-plugin-node-polyfills","old_version":"0.24.0","new_version":"0.28.0","repository_url":"https://github.com/davidmyersdev/vite-plugin-node-polyfills"},{"name":"vite-plugin-pwa","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/vite-pwa/vite-plugin-pwa"},{"name":"vitest","old_version":"3.2.4","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"webpack","old_version":"5.105.1","new_version":"5.107.2","repository_url":"https://github.com/webpack/webpack"},{"name":"webpack-cli","old_version":"5.1.4","new_version":"7.0.3","repository_url":"https://github.com/webpack/webpack-cli"},{"name":"babel-loader","old_version":"9.2.1","new_version":"10.1.1","repository_url":"https://github.com/babel/babel-loader"},{"name":"@babel/core","old_version":"7.29.0","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/preset-env","old_version":"7.29.0","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@modelcontextprotocol/sdk","old_version":"1.26.0","new_version":"1.29.0","repository_url":"https://github.com/modelcontextprotocol/typescript-sdk"},{"name":"@types/node","old_version":"24.10.1","new_version":"22.19.11","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 78 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@openzeppelin/contracts](https://github.com/OpenZeppelin/openzeppelin-contracts) | `5.4.0` | `5.6.1` |\n| [dotenv](https://github.com/motdotla/dotenv) | `17.3.1` | `17.4.2` |\n| [@nomicfoundation/hardhat-ethers](https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-ethers) | `4.0.5` | `4.0.12` |\n| [@nomicfoundation/hardhat-toolbox](https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-toolbox) | `6.1.2` | `7.0.0` |\n| [hardhat](https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat) | `3.1.10` | `3.6.0` |\n| [@anthropic-ai/sdk](https://github.com/anthropics/anthropic-sdk-typescript) | `0.67.1` | `0.99.0` |\n| [@react-oauth/google](https://github.com/MomenSherif/react-oauth) | `0.13.4` | `0.13.5` |\n| [@simplewebauthn/server](https://github.com/MasterKale/SimpleWebAuthn/tree/HEAD/packages/server) | `13.2.2` | `13.3.1` |\n| [axios](https://github.com/axios/axios) | `1.13.6` | `1.13.4` |\n| [bullmq](https://github.com/taskforcesh/bullmq) | `5.67.3` | `5.77.6` |\n| chromadb | `3.3.1` | `3.4.3` |\n| [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit) | `7.5.1` | `8.5.2` |\n| [express-validator](https://github.com/express-validator/express-validator) | `7.3.1` | `7.3.2` |\n| [gcp-metadata](https://github.com/googleapis/google-cloud-node-core/tree/HEAD/packages/gcp-metadata) | `5.3.0` | `8.1.2` |\n| [glob](https://github.com/isaacs/node-glob) | `10.5.0` | `13.0.2` |\n| [google-auth-library](https://github.com/googleapis/google-cloud-node-core/tree/HEAD/packages/google-auth-library-nodejs) | `10.5.0` | `10.6.2` |\n| [helmet](https://github.com/helmetjs/helmet) | `8.1.0` | `8.2.0` |\n| [ioredis](https://github.com/luin/ioredis) | `5.9.2` | `5.11.0` |\n| [mongoose](https://github.com/Automattic/mongoose) | `8.23.0` | `9.6.3` |\n| [multer](https://github.com/expressjs/multer) | `2.0.2` | `2.1.1` |\n| [nanoid](https://github.com/ai/nanoid) | `5.1.6` | `5.1.11` |\n| [natural](https://github.com/NaturalNode/natural) | `8.1.0` | `8.1.1` |\n| [node-cron](https://github.com/merencia/node-cron) | `3.0.3` | `4.2.1` |\n| [nodemailer](https://github.com/nodemailer/nodemailer) | `6.10.1` | `8.0.9` |\n| [openai](https://github.com/openai/openai-node) | `6.21.0` | `6.39.0` |\n| [otplib](https://github.com/yeojz/otplib/tree/HEAD/packages/otplib) | `13.2.1` | `13.4.0` |\n| [pino](https://github.com/pinojs/pino) | `9.14.0` | `10.3.1` |\n| [pino-pretty](https://github.com/pinojs/pino-pretty) | `11.3.0` | `13.1.3` |\n| [stripe](https://github.com/stripe/stripe-node) | `14.25.0` | `22.2.0` |\n| [swagger-jsdoc](https://github.com/Surnet/swagger-jsdoc) | `6.2.8` | `6.3.0` |\n| [uuid](https://github.com/uuidjs/uuid) | `9.0.1` | `14.0.0` |\n| [validator](https://github.com/validatorjs/validator.js) | `13.15.26` | `13.15.35` |\n| [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) | `7.29.0` | `7.29.7` |\n| [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client) | `5.10.0` | `7.8.0` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.4.2` |\n| [nodemon](https://github.com/remy/nodemon) | `3.1.11` | `3.1.14` |\n| [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli) | `5.10.0` | `7.8.0` |\n| [@simplewebauthn/browser](https://github.com/MasterKale/SimpleWebAuthn/tree/HEAD/packages/browser) | `13.2.2` | `13.3.0` |\n| [@stripe/react-stripe-js](https://github.com/stripe/react-stripe-js) | `5.6.0` | `6.4.0` |\n| [@stripe/stripe-js](https://github.com/stripe/stripe-js) | `8.7.0` | `9.7.0` |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.90.21` | `5.100.14` |\n| [@walletconnect/ethereum-provider](https://github.com/WalletConnect/walletconnect-monorepo/tree/HEAD/providers/ethereum-provider) | `2.21.10` | `2.23.9` |\n| [browserslist](https://github.com/browserslist/browserslist) | `4.28.1` | `4.28.2` |\n| [framer-motion](https://github.com/motiondivision/motion) | `12.34.0` | `12.40.0` |\n| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.544.0` | `1.16.0` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `18.3.1` | `19.2.6` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `18.3.28` | `19.2.15` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `18.3.1` | `19.2.6` |\n| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `18.3.7` | `19.2.3` |\n| [react-icons](https://github.com/react-icons/react-icons) | `5.5.0` | `5.6.0` |\n| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `6.30.3` | `7.15.1` |\n| [react-syntax-highlighter](https://github.com/react-syntax-highlighter/react-syntax-highlighter) | `16.1.0` | `16.1.1` |\n| [recharts](https://github.com/recharts/recharts) | `3.7.0` | `3.8.1` |\n| [serve](https://github.com/vercel/serve) | `14.2.5` | `14.2.6` |\n| [three](https://github.com/mrdoob/three.js) | `0.180.0` | `0.184.0` |\n| [viem](https://github.com/wevm/viem) | `2.46.3` | `2.45.3` |\n| [wagmi](https://github.com/wevm/wagmi/tree/HEAD/packages/react) | `3.4.3` | `3.6.16` |\n| [zustand](https://github.com/pmndrs/zustand) | `5.0.11` | `5.0.13` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `4.7.0` | `6.0.2` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.24` | `10.5.0` |\n| [eslint](https://github.com/eslint/eslint) | `8.57.1` | `10.4.0` |\n| [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) | `4.6.2` | `7.1.1` |\n| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.4.26` | `0.5.2` |\n| [jsdom](https://github.com/jsdom/jsdom) | `27.4.0` | `29.1.1` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.6` | `8.5.15` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `3.4.19` | `4.3.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `5.4.21` | `8.0.14` |\n| [vite-plugin-node-polyfills](https://github.com/davidmyersdev/vite-plugin-node-polyfills) | `0.24.0` | `0.28.0` |\n| [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) | `1.2.0` | `1.3.0` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `3.2.4` | `4.1.7` |\n| [webpack](https://github.com/webpack/webpack) | `5.105.1` | `5.107.2` |\n| [webpack-cli](https://github.com/webpack/webpack-cli) | `5.1.4` | `7.0.3` |\n| [babel-loader](https://github.com/babel/babel-loader) | `9.2.1` | `10.1.1` |\n| [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `7.29.0` | `7.29.7` |\n| [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) | `7.29.0` | `7.29.7` |\n| [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk) | `1.26.0` | `1.29.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.10.1` | `22.19.11` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n\nUpdates `@openzeppelin/contracts` from 5.4.0 to 5.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/releases\"\u003e@​openzeppelin/contracts's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.6.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eInteroperableAddress\u003c/code\u003e: Fix overflow in the parsing functions that caused silent misparse of large interoperable addresses. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6372\"\u003e#6372\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.6.0\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eStrings\u003c/code\u003e: The \u003ccode\u003eescapeJSON\u003c/code\u003e function now escapes all control characters in the range U+0000 to U+001F per RFC-4627. Previously only backspace, tab, newline, form feed, carriage return, double quote, and backslash were escaped. Input strings containing any other control character (e.g. null \u003ccode\u003e0x00\u003c/code\u003e) or raw bytes in U+0001–U+001F will now produce different, longer output (e.g. \u003ccode\u003e\\u0000\u003c/code\u003e for null). (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6344\"\u003e#6344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC1155\u003c/code\u003e: Performing batch transfers with exactly one id/value in the batch no-longer calls \u003ccode\u003eIERC1155Receiver.onERC1155Received\u003c/code\u003e. \u003ccode\u003eIERC1155Receiver.onERC1155BatchReceived\u003c/code\u003e is called instead (with arrays of length one). (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6170\"\u003e#6170\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC1967Proxy\u003c/code\u003e and \u003ccode\u003eTransparentUpgradeableProxy\u003c/code\u003e: Mandate initialization during construction. Deployment now reverts with \u003ccode\u003eERC1967ProxyUninitialized\u003c/code\u003e if an initialize call is not provided. Developers that rely on the previous behavior and want to disable this check can do so by overriding the internal \u003ccode\u003e_unsafeAllowUninitialized\u003c/code\u003e function to return true. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5906\"\u003e#5906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC721\u003c/code\u003e and \u003ccode\u003eERC1155\u003c/code\u003e: Prevent setting an operator for \u003ccode\u003eaddress(0)\u003c/code\u003e. In the case of \u003ccode\u003eERC721\u003c/code\u003e this type of operator allowance could lead to obfuscated mint permission. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6171\"\u003e#6171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRLP\u003c/code\u003e: The \u003ccode\u003eencode(bytes32)\u003c/code\u003e function now encodes \u003ccode\u003ebytes32\u003c/code\u003e as a fixed size item and not as a scalar in \u003ccode\u003eencode(uint256)\u003c/code\u003e. Users must replace calls to \u003ccode\u003eencode(bytes32)\u003c/code\u003e with \u003ccode\u003eencode(uint256(bytes32))\u003c/code\u003e to preserve the same behavior. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6167\"\u003e#6167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC4337Utils\u003c/code\u003e: The \u003ccode\u003eparseValidationData\u003c/code\u003e now returns a \u003ccode\u003eValidationRange\u003c/code\u003e as the last return tuple value indicating whether the \u003ccode\u003evalidationData\u003c/code\u003e is compared against a timestamp or block number. Developers must update their code to handle this new return value (e.g. \u003ccode\u003e(aggregator, validAfter, validUntil) -\u0026gt; (aggregator, validAfter, validUntil, range)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6215\"\u003e#6215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSignerWebAuthn\u003c/code\u003e: The \u003ccode\u003e_rawSignatureValidation\u003c/code\u003e function now returns \u003ccode\u003efalse\u003c/code\u003e when the signature is not a valid WebAuthn authentication assertion. P256 fallback is removed. Developers can add it back by overriding the function. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6337\"\u003e#6337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMemory\u003c/code\u003e: The \u003ccode\u003esetFreeMemoryPointer\u003c/code\u003e function is renamed to \u003ccode\u003eunsafeSetFreeMemoryPointer\u003c/code\u003e. Developers should use \u003ccode\u003eunsafeSetFreeMemoryPointer\u003c/code\u003e instead of \u003ccode\u003esetFreeMemoryPointer\u003c/code\u003e after v5.6.0. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6348\"\u003e#6348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMemory\u003c/code\u003e: Remove the \u003ccode\u003easBytes32\u003c/code\u003e and \u003ccode\u003easPointer\u003c/code\u003e function to reduce the risk of mistakes when manipulating memory pointers. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6340\"\u003e#6340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges by category\u003c/h3\u003e\n\u003ch4\u003eAccount\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAccount\u003c/code\u003e: Update default version of the ERC-4337 entrypoint to v0.9. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6135\"\u003e#6135\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAccountERC7579\u003c/code\u003e: Do not revert and perform the uninstall if the \u003ccode\u003eonUninstall\u003c/code\u003e hook of a module reverts. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6142\"\u003e#6142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC4337Utils\u003c/code\u003e: Added the \u003ccode\u003epaymasterSignature\u003c/code\u003e function to extract the signature in \u003ccode\u003epaymasterAndData\u003c/code\u003e after Entrypoint v0.9. Similarly, a variant of \u003ccode\u003epaymasterData\u003c/code\u003e that receives a flag to exclude the signature from the returned data. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6215\"\u003e#6215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC4337Utils\u003c/code\u003e: Added variants of \u003ccode\u003epackValidationData(address,uint48,uint48)\u003c/code\u003e and \u003ccode\u003epackValidationData(bool,uint48,uint48)\u003c/code\u003e that receive a \u003ccode\u003eValidationRange\u003c/code\u003e argument, could be timestamp or block number. Similarly, the \u003ccode\u003eparseValidationData\u003c/code\u003e now returns a \u003ccode\u003eValidationRange\u003c/code\u003e too. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6215\"\u003e#6215\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eTokens\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eERC1155\u003c/code\u003e: Introduce the \u003ccode\u003e_checkAuthorized\u003c/code\u003e internal virtual function to encapsulate \u003ccode\u003eisApprovedForAll\u003c/code\u003e and \u003ccode\u003emsg.sender == from\u003c/code\u003e checks. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6133\"\u003e#6133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC1155\u003c/code\u003e: Call \u003ccode\u003eIERC1155Receiver.onERC1155BatchReceived\u003c/code\u003e when performing a batch transfers with exactly one id/value in the batch. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6170\"\u003e#6170\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC4626\u003c/code\u003e: Allow overriding underlying assets transfer mechanisms through new internal virtual functions (\u003ccode\u003e_transferIn\u003c/code\u003e and \u003ccode\u003e_transferOut\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5970\"\u003e#5970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC721URIStorage\u003c/code\u003e: Add \u003ccode\u003e_suffixURI\u003c/code\u003e, an internal getter for retrieving the custom tokenURI without the base prefix. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6175\"\u003e#6175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ERC-165 detection for the \u003ccode\u003eIERC6909ContentURI\u003c/code\u003e, \u003ccode\u003eIERC6909TokenSupply\u003c/code\u003e and \u003ccode\u003eIERC6909Metadata\u003c/code\u003e interfaces in the \u003ccode\u003eERC6909ContentURI\u003c/code\u003e, \u003ccode\u003eERC6909TokenSupply\u003c/code\u003e and \u003ccode\u003eERC6909Metadata\u003c/code\u003e contracts respectively. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6246\"\u003e#6246\u003c/a\u003e) and (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6247\"\u003e#6247\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCross-chain\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eBridgeFungible\u003c/code\u003e, \u003ccode\u003eBridgeERC20\u003c/code\u003e and \u003ccode\u003eBridgeERC7802\u003c/code\u003e: Added bridge contracts to handle crosschain movements of ERC-20 (and ERC-7802) tokens. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5914\"\u003e#5914\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6328\"\u003e#6328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCrosschainLinked\u003c/code\u003e: Added a new helper contract to facilitate communication between a contract on one chain and counterparts on remote chains through ERC-7786 gateways. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5914\"\u003e#5914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC20Crosschain\u003c/code\u003e: Added an ERC-20 extension to embed an ERC-7786 based crosschain bridge directly in the token contract. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5914\"\u003e#5914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eInteroperableAddress\u003c/code\u003e: Reject inputs with both chain reference and addresses empty. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6340\"\u003e#6340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCryptography\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMessageHashUtils\u003c/code\u003e: Add helper functions to build EIP-712 domain typehash and separator with fields selectively enabled/disabled. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5908\"\u003e#5908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSignatureChecker\u003c/code\u003e: Add \u003ccode\u003eisValidERC1271SignatureNowCalldata\u003c/code\u003e, a variant of \u003ccode\u003eisValidERC1271SignatureNow\u003c/code\u003e that takes the signature from calldata. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6123\"\u003e#6123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTrieProof\u003c/code\u003e: Add library for verifying Ethereum Merkle-Patricia trie inclusion proofs. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5826\"\u003e#5826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eWebAuthn\u003c/code\u003e: Verification now returns \u003ccode\u003efalse\u003c/code\u003e instead of reverting when client data contains an out-of-bounds \u003ccode\u003echallengeIndex\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6329\"\u003e#6329\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eStructures\u003c/h4\u003e\n\u003c!-- 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/OpenZeppelin/openzeppelin-contracts/blob/master/CHANGELOG.md\"\u003e@​openzeppelin/contracts's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.1 (2026-02-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eInteroperableAddress\u003c/code\u003e: Fix overflow in the parsing functions that caused silent misparse of large interoperable addresses. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6372\"\u003e#6372\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.0 (2026-02-25)\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eStrings\u003c/code\u003e: The \u003ccode\u003eescapeJSON\u003c/code\u003e function now escapes all control characters in the range U+0000 to U+001F per RFC-4627. Previously only backspace, tab, newline, form feed, carriage return, double quote, and backslash were escaped. Input strings containing any other control character (e.g. null \u003ccode\u003e0x00\u003c/code\u003e) or raw bytes in U+0001–U+001F will now produce different, longer output (e.g. \u003ccode\u003e\\u0000\u003c/code\u003e for null). (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6344\"\u003e#6344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC1155\u003c/code\u003e: Performing batch transfers with exactly one id/value in the batch no-longer calls \u003ccode\u003eIERC1155Receiver.onERC1155Received\u003c/code\u003e. \u003ccode\u003eIERC1155Receiver.onERC1155BatchReceived\u003c/code\u003e is called instead (with arrays of length one). (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6170\"\u003e#6170\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC1967Proxy\u003c/code\u003e and \u003ccode\u003eTransparentUpgradeableProxy\u003c/code\u003e: Mandate initialization during construction. Deployment now reverts with \u003ccode\u003eERC1967ProxyUninitialized\u003c/code\u003e if an initialize call is not provided. Developers that rely on the previous behavior and want to disable this check can do so by overriding the internal \u003ccode\u003e_unsafeAllowUninitialized\u003c/code\u003e function to return true. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5906\"\u003e#5906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC721\u003c/code\u003e and \u003ccode\u003eERC1155\u003c/code\u003e: Prevent setting an operator for \u003ccode\u003eaddress(0)\u003c/code\u003e. In the case of \u003ccode\u003eERC721\u003c/code\u003e this type of operator allowance could lead to obfuscated mint permission. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6171\"\u003e#6171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRLP\u003c/code\u003e: The \u003ccode\u003eencode(bytes32)\u003c/code\u003e function now encodes \u003ccode\u003ebytes32\u003c/code\u003e as a fixed size item and not as a scalar in \u003ccode\u003eencode(uint256)\u003c/code\u003e. Users must replace calls to \u003ccode\u003eencode(bytes32)\u003c/code\u003e with \u003ccode\u003eencode(uint256(bytes32))\u003c/code\u003e to preserve the same behavior. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6167\"\u003e#6167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC4337Utils\u003c/code\u003e: The \u003ccode\u003eparseValidationData\u003c/code\u003e now returns a \u003ccode\u003eValidationRange\u003c/code\u003e as the last return tuple value indicating whether the \u003ccode\u003evalidationData\u003c/code\u003e is compared against a timestamp or block number. Developers must update their code to handle this new return value (e.g. \u003ccode\u003e(aggregator, validAfter, validUntil) -\u0026gt; (aggregator, validAfter, validUntil, range)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6215\"\u003e#6215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSignerWebAuthn\u003c/code\u003e: The \u003ccode\u003e_rawSignatureValidation\u003c/code\u003e function now returns \u003ccode\u003efalse\u003c/code\u003e when the signature is not a valid WebAuthn authentication assertion. P256 fallback is removed. Developers can add it back by overriding the function. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6337\"\u003e#6337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMemory\u003c/code\u003e: The \u003ccode\u003esetFreeMemoryPointer\u003c/code\u003e function is renamed to \u003ccode\u003eunsafeSetFreeMemoryPointer\u003c/code\u003e. Developers should use \u003ccode\u003eunsafeSetFreeMemoryPointer\u003c/code\u003e instead of \u003ccode\u003esetFreeMemoryPointer\u003c/code\u003e after v5.6.0. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6348\"\u003e#6348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMemory\u003c/code\u003e: Remove the \u003ccode\u003easBytes32\u003c/code\u003e and \u003ccode\u003easPointer\u003c/code\u003e function to reduce the risk of mistakes when manipulating memory pointers. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6340\"\u003e#6340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges by category\u003c/h3\u003e\n\u003ch4\u003eAccount\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAccount\u003c/code\u003e: Update default version of the ERC-4337 entrypoint to v0.9. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6135\"\u003e#6135\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAccountERC7579\u003c/code\u003e: Do not revert and perform the uninstall if the \u003ccode\u003eonUninstall\u003c/code\u003e hook of a module reverts. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6142\"\u003e#6142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC4337Utils\u003c/code\u003e: Added the \u003ccode\u003epaymasterSignature\u003c/code\u003e function to extract the signature in \u003ccode\u003epaymasterAndData\u003c/code\u003e after Entrypoint v0.9. Similarly, a variant of \u003ccode\u003epaymasterData\u003c/code\u003e that receives a flag to exclude the signature from the returned data. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6215\"\u003e#6215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC4337Utils\u003c/code\u003e: Added variants of \u003ccode\u003epackValidationData(address,uint48,uint48)\u003c/code\u003e and \u003ccode\u003epackValidationData(bool,uint48,uint48)\u003c/code\u003e that receive a \u003ccode\u003eValidationRange\u003c/code\u003e argument, could be timestamp or block number. Similarly, the \u003ccode\u003eparseValidationData\u003c/code\u003e now returns a \u003ccode\u003eValidationRange\u003c/code\u003e too. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6215\"\u003e#6215\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eTokens\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eERC1155\u003c/code\u003e: Introduce the \u003ccode\u003e_checkAuthorized\u003c/code\u003e internal virtual function to encapsulate \u003ccode\u003eisApprovedForAll\u003c/code\u003e and \u003ccode\u003emsg.sender == from\u003c/code\u003e checks. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6133\"\u003e#6133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC1155\u003c/code\u003e: Call \u003ccode\u003eIERC1155Receiver.onERC1155BatchReceived\u003c/code\u003e when performing a batch transfers with exactly one id/value in the batch. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6170\"\u003e#6170\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC4626\u003c/code\u003e: Allow overriding underlying assets transfer mechanisms through new internal virtual functions (\u003ccode\u003e_transferIn\u003c/code\u003e and \u003ccode\u003e_transferOut\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5970\"\u003e#5970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC721URIStorage\u003c/code\u003e: Add \u003ccode\u003e_suffixURI\u003c/code\u003e, an internal getter for retrieving the custom tokenURI without the base prefix. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6175\"\u003e#6175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ERC-165 detection for the \u003ccode\u003eIERC6909ContentURI\u003c/code\u003e, \u003ccode\u003eIERC6909TokenSupply\u003c/code\u003e and \u003ccode\u003eIERC6909Metadata\u003c/code\u003e interfaces in the \u003ccode\u003eERC6909ContentURI\u003c/code\u003e, \u003ccode\u003eERC6909TokenSupply\u003c/code\u003e and \u003ccode\u003eERC6909Metadata\u003c/code\u003e contracts respectively. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6246\"\u003e#6246\u003c/a\u003e) and (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6247\"\u003e#6247\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCross-chain\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eBridgeFungible\u003c/code\u003e, \u003ccode\u003eBridgeERC20\u003c/code\u003e and \u003ccode\u003eBridgeERC7802\u003c/code\u003e: Added bridge contracts to handle crosschain movements of ERC-20 (and ERC-7802) tokens. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5914\"\u003e#5914\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6328\"\u003e#6328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCrosschainLinked\u003c/code\u003e: Added a new helper contract to facilitate communication between a contract on one chain and counterparts on remote chains through ERC-7786 gateways. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5914\"\u003e#5914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC20Crosschain\u003c/code\u003e: Added an ERC-20 extension to embed an ERC-7786 based crosschain bridge directly in the token contract. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5914\"\u003e#5914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eInteroperableAddress\u003c/code\u003e: Reject inputs with both chain reference and addresses empty. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6340\"\u003e#6340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCryptography\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMessageHashUtils\u003c/code\u003e: Add helper functions to build EIP-712 domain typehash and separator with fields selectively enabled/disabled. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5908\"\u003e#5908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSignatureChecker\u003c/code\u003e: Add \u003ccode\u003eisValidERC1271SignatureNowCalldata\u003c/code\u003e, a variant of \u003ccode\u003eisValidERC1271SignatureNow\u003c/code\u003e that takes the signature from calldata. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6123\"\u003e#6123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTrieProof\u003c/code\u003e: Add library for verifying Ethereum Merkle-Patricia trie inclusion proofs. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5826\"\u003e#5826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eWebAuthn\u003c/code\u003e: Verification now returns \u003ccode\u003efalse\u003c/code\u003e instead of reverting when client data contains an out-of-bounds \u003ccode\u003echallengeIndex\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6329\"\u003e#6329\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eStructures\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/5fd1781b1454fd1ef8e722282f86f9293cacf256\"\u003e\u003ccode\u003e5fd1781\u003c/code\u003e\u003c/a\u003e Release v5.6.1 (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/issues/6377\"\u003e#6377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/82cad372db5b5a2a1dc7cb45751df311d86a7117\"\u003e\u003ccode\u003e82cad37\u003c/code\u003e\u003c/a\u003e Fix support for very large inputs in InteroperableAddress (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/issues/6372\"\u003e#6372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/56a3de2cea907c9a500d32e70c275f68393b7ba6\"\u003e\u003ccode\u003e56a3de2\u003c/code\u003e\u003c/a\u003e Release v5.6.0 (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/issues/6340\"\u003e#6340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/6ec651d4b3235a74f1f9dcc802f10e75909806f4\"\u003e\u003ccode\u003e6ec651d\u003c/code\u003e\u003c/a\u003e Exit release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/4c10cbe5c114fb454dcf37aa99aedcf434bc34c6\"\u003e\u003ccode\u003e4c10cbe\u003c/code\u003e\u003c/a\u003e Add support for inline extension nodes in TrieProof (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/issues/6351\"\u003e#6351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/aa110ab23c48dbc1a78fba0bb4366e894568c126\"\u003e\u003ccode\u003eaa110ab\u003c/code\u003e\u003c/a\u003e Fix typos and documentation for the 5.6 audit. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/issues/6330\"\u003e#6330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/27dddf8e3087072acdefdc49d942d84ae3051b29\"\u003e\u003ccode\u003e27dddf8\u003c/code\u003e\u003c/a\u003e Escape control characters in Strings.escapeJSON (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/issues/6344\"\u003e#6344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/f5cd8d897a1c4c1af2345a185269bb61d6174c01\"\u003e\u003ccode\u003ef5cd8d8\u003c/code\u003e\u003c/a\u003e Reject interoperable addresses whith both chain reference and addresses empty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/44d016c5b59c2c4cd3a7eb97df6de8baf805c303\"\u003e\u003ccode\u003e44d016c\u003c/code\u003e\u003c/a\u003e Check that slice are in the reserved space in Accumulator push and shift (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/issues/6302\"\u003e#6302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/cbaf3a4159561dd62ec5652597dbe5cd66a59d56\"\u003e\u003ccode\u003ecbaf3a4\u003c/code\u003e\u003c/a\u003e Remove Memory.asPointer and Memory.asBytes32 + add warning about setting the ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/compare/v5.4.0...v5.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​openzeppelin/contracts\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dotenv` from 17.3.1 to 17.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md\"\u003edotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.4.1...v17.4.2\"\u003e17.4.2\u003c/a\u003e (2026-04-12)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved skill files - tightened up details (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1009\"\u003e#1009\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.4.0...v17.4.1\"\u003e17.4.1\u003c/a\u003e (2026-04-05)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange text \u003ccode\u003einjecting\u003c/code\u003e to \u003ccode\u003einjected\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1005\"\u003e#1005\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.3.1...v17.4.0\"\u003e17.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eskills/\u003c/code\u003e folder with focused agent skills: \u003ccode\u003eskills/dotenv/SKILL.md\u003c/code\u003e (core usage) and \u003ccode\u003eskills/dotenvx/SKILL.md\u003c/code\u003e (encryption, multiple environments, variable expansion) for AI coding agent discovery via the skills.sh ecosystem (\u003ccode\u003enpx skills add motdotla/dotenv\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTighten up logs: \u003ccode\u003e◇ injecting env (14) from .env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1003\"\u003e#1003\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/f116f70310abab44fbfddbaeb833698b5bf84a9b\"\u003e\u003ccode\u003ef116f70\u003c/code\u003e\u003c/a\u003e 17.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/3a8161274fdd745239b86e604f4a7e972a1d3902\"\u003e\u003ccode\u003e3a81612\u003c/code\u003e\u003c/a\u003e fix visual order of faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/13f55a89e136b2024e68d277b836dd5260fc16cf\"\u003e\u003ccode\u003e13f55a8\u003c/code\u003e\u003c/a\u003e Merge branch 'skill'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/4bbbf73f0906bd69975c48bf310a84b686e5b1b4\"\u003e\u003ccode\u003e4bbbf73\u003c/code\u003e\u003c/a\u003e reorganize faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/c3da64bb2ba1d0e02f8b9b2b7ccb7e6f7a51d56c\"\u003e\u003ccode\u003ec3da64b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/motdotla/dotenv/issues/1009\"\u003e#1009\u003c/a\u003e from motdotla/skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/6f743b173fbd6c26f7eab7040d251f9a6c8b977d\"\u003e\u003ccode\u003e6f743b1\u003c/code\u003e\u003c/a\u003e update source\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/fc2c6247e858a32d4024cb06a5b0c79aa35851f5\"\u003e\u003ccode\u003efc2c624\u003c/code\u003e\u003c/a\u003e update skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/972315ba74bb2bbba4483d112e853fd26006ef8a\"\u003e\u003ccode\u003e972315b\u003c/code\u003e\u003c/a\u003e Tighten up skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/2795fce3d1ed07b4c570f1e06ab1c0d533c86997\"\u003e\u003ccode\u003e2795fce\u003c/code\u003e\u003c/a\u003e reorganize faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/d5495d4ae8e4e41ef9a682c9e00c81552794274e\"\u003e\u003ccode\u003ed5495d4\u003c/code\u003e\u003c/a\u003e adjust skill\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.3.1...v17.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nomicfoundation/hardhat-ethers` from 4.0.5 to 4.0.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NomicFoundation/hardhat/releases\"\u003e@​nomicfoundation/hardhat-ethers's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​nomicfoundation/hardhat-ethers\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.12\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8264\"\u003e#8264\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/8452f9726205540e1684d3f8458bfd145e790226\"\u003e\u003ccode\u003e8452f97\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Export \u003ccode\u003e./package.json\u003c/code\u003e so consumers can import the package's manifest.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-errors\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.1.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 \u003cstrong\u003eThe Nomic Foundation is hiring! Check \u003ca href=\"https://www.nomic.foundation/jobs\"\u003eour open positions\u003c/a\u003e.\u003c/strong\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003chr /\u003e\n\u003ch2\u003e\u003ccode\u003e@​nomicfoundation/hardhat-ethers\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.11\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8191\"\u003e#8191\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/2a4ae8e7dc78cabbe8b17bec778952f0124f9759\"\u003e\u003ccode\u003e2a4ae8e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Update how type extensions are handled to optimize the bootstrap process of Hardhat.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8228\"\u003e#8228\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/417bbf9f5d8ee4f9e19788aa40571452d36086d2\"\u003e\u003ccode\u003e417bbf9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Small performance optimizations\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.1.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 \u003cstrong\u003eThe Nomic Foundation is hiring! Check \u003ca href=\"https://www.nomic.foundation/jobs\"\u003eour open positions\u003c/a\u003e.\u003c/strong\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003chr /\u003e\n\u003ch2\u003e\u003ccode\u003e@​nomicfoundation/hardhat-ethers\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.10\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8207\"\u003e#8207\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/d59420968bffca83e1ad2712c6881d19cc7e1a99\"\u003e\u003ccode\u003ed594209\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Improved performance by replacing the debug logging library with a lightweight in-tree implementation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.1.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-errors\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 \u003cstrong\u003eThe Nomic Foundation is hiring! Check \u003ca href=\"https://www.nomic.foundation/jobs\"\u003eour open positions\u003c/a\u003e.\u003c/strong\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003chr /\u003e\n\u003ch2\u003e\u003ccode\u003e@​nomicfoundation/hardhat-ethers\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.9\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8179\"\u003e#8179\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/d16d82abfd5c9fa044cb508468cd4b50a5fcfd8a\"\u003e\u003ccode\u003ed16d82a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Await all returned promises for better debuggability\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8153\"\u003e#8153\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/e21950e68dbd778ce0c4cfcad8c71dfeb4f9cad1\"\u003e\u003ccode\u003ee21950e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/schaable\"\u003e\u003ccode\u003e@​schaable\u003c/code\u003e\u003c/a\u003e! - Fix gas config fields (gas, gasMultiplier, gasPrice) not being applied when sending transactions through the HardhatEthersSigner\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.4\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/NomicFoundation/hardhat/blob/main/packages/hardhat-ethers/CHANGELOG.md\"\u003e@​nomicfoundation/hardhat-ethers's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.0.12\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/NomicFoundation/hardhat/pull/8264\"\u003e#8264\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/8452f9726205540e1684d3f8458bfd145e790226\"\u003e\u003ccode\u003e8452f97\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Export \u003ccode\u003e./package.json\u003c/code\u003e so consumers can import the package's manifest.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-errors\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.1.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.11\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/NomicFoundation/hardhat/pull/8191\"\u003e#8191\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/2a4ae8e7dc78cabbe8b17bec778952f0124f9759\"\u003e\u003ccode\u003e2a4ae8e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Update how type extensions are handled to optimize the bootstrap process of Hardhat.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8228\"\u003e#8228\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/417bbf9f5d8ee4f9e19788aa40571452d36086d2\"\u003e\u003ccode\u003e417bbf9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Small performance optimizations\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.1.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.10\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/NomicFoundation/hardhat/pull/8207\"\u003e#8207\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/d59420968bffca83e1ad2712c6881d19cc7e1a99\"\u003e\u003ccode\u003ed594209\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Improved performance by replacing the debug logging library with a lightweight in-tree implementation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.1.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-errors\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.9\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/NomicFoundation/hardhat/pull/8179\"\u003e#8179\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/d16d82abfd5c9fa044cb508468cd4b50a5fcfd8a\"\u003e\u003ccode\u003ed16d82a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Await all returned promises for better debuggability\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8153\"\u003e#8153\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/e21950e68dbd778ce0c4cfcad8c71dfeb4f9cad1\"\u003e\u003ccode\u003ee21950e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/schaable\"\u003e\u003ccode\u003e@​schaable\u003c/code\u003e\u003c/a\u003e! - Fix gas config fields (gas, gasMultiplier, gasPrice) not being applied when sending transactions through the HardhatEthersSigner\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.8\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/NomicFoundation/hardhat/pull/8104\"\u003e#8104\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/e27a7ad584b01392afc9294f739d731ab6e78f06\"\u003e\u003ccode\u003ee27a7ad\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ChristopherDedominici\"\u003e\u003ccode\u003e@​ChristopherDedominici\u003c/code\u003e\u003c/a\u003e! - Use code 3 for JSON-RPC revert error codes to align with standard node behavior and preserve error causes in viem/ethers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8096\"\u003e#8096\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/7fb721bb2b1c521d0073a156f361c60a049e8fdf\"\u003e\u003ccode\u003e7fb721b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - [chore] Move to packages/ folder.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/ccb55d9e725c64d639ac3a7ba9f482d6272bad5a\"\u003e\u003ccode\u003eccb55d9\u003c/code\u003e\u003c/a\u003e Version Packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/80b9467be2e87375a14ba5e7394289291df72c7f\"\u003e\u003ccode\u003e80b9467\u003c/code\u003e\u003c/a\u003e Fix stricter linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/54343f7769b7688672799b86d321542f75269dc0\"\u003e\u003ccode\u003e54343f7\u003c/code\u003e\u003c/a\u003e Upgrade TS everywhere\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/31f33cfb78ef5ffc6e98b0fcf2a202bf8dac26fb\"\u003e\u003ccode\u003e31f33cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-ethers/issues/8264\"\u003e#8264\u003c/a\u003e from NomicFoundation/export-package-jsons\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/fb2a9ff783283226b41bda6cc058381421dd5832\"\u003e\u003ccode\u003efb2a9ff\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-ethers/issues/8261\"\u003e#8261\u003c/a\u003e from NomicFoundation/agent-scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/0033686cbda47d849d17b656026a9c26ee47751d\"\u003e\u003ccode\u003e0033686\u003c/code\u003e\u003c/a\u003e scripts: run eslint before prettier in lint-file wrapper and pnpm lint/lint:fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/8452f9726205540e1684d3f8458bfd145e790226\"\u003e\u003ccode\u003e8452f97\u003c/code\u003e\u003c/a\u003e Export package.json files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/39400e9af536dbc262f224883e7f8d2c2cdde70d\"\u003e\u003ccode\u003e39400e9\u003c/code\u003e\u003c/a\u003e Version Packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/286d306add698081fa3e81b5254096bdb179cca0\"\u003e\u003ccode\u003e286d306\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-ethers/issues/8228\"\u003e#8228\u003c/a\u003e from NomicFoundation/remove-quadratic-behavior\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/8b5301a0dfd4b42d9cfa4da702fa0ec8b03fd09d\"\u003e\u003ccode\u003e8b5301a\u003c/code\u003e\u003c/a\u003e docs: document non-duplicate precondition for linkBytecode walkers\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/NomicFoundation/hardhat/commits/@nomicfoundation/hardhat-ethers@4.0.12/packages/hardhat-ethers\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nomicfoundation/hardhat-toolbox` from 6.1.2 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NomicFoundation/hardhat/blob/@nomicfoundation/hardhat-toolbox@7.0.0/packages/hardhat-toolbox/CHANGELOG.md\"\u003e@​nomicfoundation/hardhat-toolbox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch3\u003eMajor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e09ae6db: Deprecate the \u003ccode\u003elatest\u003c/code\u003e npm tag and redirect users to migrate to Hardhat 3 or to the \u003ccode\u003ehh2\u003c/code\u003e tag.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/6372d084245fcb0eb5e760c81b19021f986684f9\"\u003e\u003ccode\u003e6372d08\u003c/code\u003e\u003c/a\u003e Version Packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/a26e8228c5982f39f75d27f7780a308db7b3be12\"\u003e\u003ccode\u003ea26e822\u003c/code\u003e\u003c/a\u003e Remove the npm tags from the README.md files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/18bef56ec8f4f47429f25a93a0b49430d32220f9\"\u003e\u003ccode\u003e18bef56\u003c/code\u003e\u003c/a\u003e Quote the package in the installation instructions of the readmes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/e5025aeae590bc9c07cbaee40ed658713e577864\"\u003e\u003ccode\u003ee5025ae\u003c/code\u003e\u003c/a\u003e Update the formatting and quote the package in the installation instructions ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/ee3434729fb3cefed9d084276db5debde40cd05c\"\u003e\u003ccode\u003eee34347\u003c/code\u003e\u003c/a\u003e Update hardhat-toolbox\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/NomicFoundation/hardhat/commits/@nomicfoundation/hardhat-toolbox@7.0.0/packages/hardhat-toolbox\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hardhat` from 3.1.10 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NomicFoundation/hardhat/releases\"\u003ehardhat's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eHardhat v3.6.0\u003c/h2\u003e\n\u003cp\u003eThis release include some changes to the Solidity hooks, introducing some new ones, and deprecating existing ones, to give Hardhat more opportunities to optimize the build process.\u003c/p\u003e\n\u003cp\u003eIt also includes \u003ccode\u003eAGENTS.md\u003c/code\u003e/\u003ccode\u003eCLAUDE.md\u003c/code\u003e files and skills in new projects.\u003c/p\u003e\n\u003cp\u003eSee the full list of changes below.\u003c/p\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Add a \u003ccode\u003ecleanupArtifacts\u003c/code\u003e option to \u003ccode\u003eSolidityBuildSystem#build\u003c/code\u003e. When \u003ccode\u003etrue\u003c/code\u003e, the build system runs \u003ccode\u003ecleanupArtifacts\u003c/code\u003e against the build's root file paths after a successful build, deleting orphan artifacts and unreachable build-info files for the scope.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Deprecate the following \u003ccode\u003eSolidityHooks\u003c/code\u003e: \u003ccode\u003egetCompiler\u003c/code\u003e, \u003ccode\u003eonCleanUpArtifacts\u003c/code\u003e, \u003ccode\u003epreprocessProjectFileBeforeBuilding\u003c/code\u003e, \u003ccode\u003epreprocessSolcInputBeforeBuilding\u003c/code\u003e, \u003ccode\u003ereadSourceFile\u003c/code\u003e, \u003ccode\u003einvokeSolc\u003c/code\u003e, and \u003ccode\u003ereadNpmPackageRemappings\u003c/code\u003e. They will be removed in a future release.\u003c/p\u003e\n\u003cp\u003eUse \u003ccode\u003eprocessArtifactsAfterSuccessfulBuild\u003c/code\u003e instead of \u003ccode\u003eonCleanUpArtifacts\u003c/code\u003e, and \u003ccode\u003egetCompilationJobErrors\u003c/code\u003e instead of \u003ccode\u003einvokeSolc\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003eSolidityHooks#getCompilationJobErrors\u003c/code\u003e hook, which lets plugins process the compiler output errors of a compilation job before they are reported to the user.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003eSolidityHooks#processArtifactsAfterSuccessfulBuild\u003c/code\u003e hook to let plugins post-process the artifacts. The hook receives the resolved build options as a new exported \u003ccode\u003eResolvedBuildOptions\u003c/code\u003e type.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003eSolidityBuildSystem#cleanupArtifacts\u003c/code\u003e now returns the list of artifact paths that remain after the cleanup.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8335\"\u003e#8335\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/a4bf547bd7bc7d60e63fc31efc3dd27edb197b78\"\u003e\u003ccode\u003ea4bf547\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gultekinmakif\"\u003e\u003ccode\u003e@​gultekinmakif\u003c/code\u003e\u003c/a\u003e! - Allow STRING_WITHOUT_DEFAULT and FILE_WITHOUT_DEFAULT as positional arguments\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8326\"\u003e#8326\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/959f2e1989c4bcbff05f717b33a2df1098f67616\"\u003e\u003ccode\u003e959f2e1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/kanej\"\u003e\u003ccode\u003e@​kanej\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ccode\u003ehardhat flatten\u003c/code\u003e silently producing a misleading output for projects with cyclic Solidity dependencies.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8262\"\u003e#8262\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/d3ba17006874715de86194c6a136cd0b7afb9bc4\"\u003e\u003ccode\u003ed3ba170\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/fvictorio\"\u003e\u003ccode\u003e@​fvictorio\u003c/code\u003e\u003c/a\u003e! - Add AGENTS.md and agentic skills to sample projects\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.1.3\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-errors\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 \u003cstrong\u003eThe Nomic Foundation is hiring! Check \u003ca href=\"https://www.nomic.foundation/jobs\"\u003eour open positions\u003c/a\u003e.\u003c/strong\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003chr /\u003e\n\u003ch2\u003eHardhat v3.5.1\u003c/h2\u003e\n\u003cp\u003eThis is a small release with some quality of life improvements, and a fix to \u003ccode\u003ehardhat --init\u003c/code\u003e so that it works with pnpm 11.\u003c/p\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8316\"\u003e#8316\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/971a135becc86dea7a3039148b55d0774c7c26a0\"\u003e\u003ccode\u003e971a135\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Fix \u003ccode\u003ehardhat --init\u003c/code\u003e when used with pnpm 11\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8302\"\u003e#8302\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/fb99caa5b9bf75ffa70d2488112755b8de94e7a3\"\u003e\u003ccode\u003efb99caa\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ChristopherDedominici\"\u003e\u003ccode\u003e@​ChristopherDedominici\u003c/code\u003e\u003c/a\u003e! - Suppress solc warnings that are direct side effects of \u003ccode\u003e--coverage\u003c/code\u003e instrumentation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8315\"\u003e#8315\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/90650fd841a800adecdae011c196c8ec83a1a053\"\u003e\u003ccode\u003e90650fd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/schaable\"\u003e\u003ccode\u003e@​schaable\u003c/code\u003e\u003c/a\u003e! - Improved error messages for common migration errors.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 \u003cstrong\u003eThe Nomic Foundation is hiring! Check \u003ca href=\"https://www.nomic.foundation/jobs\"\u003eour open positions\u003c/a\u003e.\u003c/strong\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003chr /\u003e\n\u003ch2\u003eHardhat v3.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NomicFoundation/hardhat/blob/main/packages/hardhat/CHANGELOG.md\"\u003ehardhat's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.6.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Add a \u003ccode\u003ecleanupArtifacts\u003c/code\u003e option to \u003ccode\u003eSolidityBuildSystem#build\u003c/code\u003e. When \u003ccode\u003etrue\u003c/code\u003e, the build system runs \u003ccode\u003ecleanupArtifacts\u003c/code\u003e against the build's root file paths after a successful build, deleting orphan artifacts and unreachable build-info files for the scope.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Deprecate the following \u003ccode\u003eSolidityHooks\u003c/code\u003e: \u003ccode\u003egetCompiler\u003c/code\u003e, \u003ccode\u003eonCleanUpArtifacts\u003c/code\u003e, \u003ccode\u003epreprocessProjectFileBeforeBuilding\u003c/code\u003e, \u003ccode\u003epreprocessSolcInputBeforeBuilding\u003c/code\u003e, \u003ccode\u003ereadSourceFile\u003c/code\u003e, \u003ccode\u003einvokeSolc\u003c/code\u003e, and \u003ccode\u003ereadNpmPackageRemappings\u003c/code\u003e. They will be removed in a future release.\u003c/p\u003e\n\u003cp\u003eUse \u003ccode\u003eprocessArtifactsAfterSuccessfulBuild\u003c/code\u003e instead of \u003ccode\u003eonCleanUpArtifacts\u003c/code\u003e, and \u003ccode\u003egetCompilationJobErrors\u003c/code\u003e instead of \u003ccode\u003einvokeSolc\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003eSolidityHooks#getCompilationJobErrors\u003c/code\u003e hook, which lets plugins process the compiler output errors of a compilation job before they are reported to the user.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003eSolidityHooks#processArtifactsAfterSuccessfulBuild\u003c/code\u003e hook to let plugins post-process the artifacts. The hook receives the resolved build options as a new exported \u003ccode\u003eResolvedBuildOptions\u003c/code\u003e type.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003eSolidityBuildSystem#cleanupArtifacts\u003c/code\u003e now returns the list of artifact paths that remain after the cleanup.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8335\"\u003e#8335\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/a4bf547bd7bc7d60e63fc31efc3dd27edb197b78\"\u003e\u003ccode\u003ea4bf547\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gultekinmakif\"\u003e\u003ccode\u003e@​gultekinmakif\u003c/code\u003e\u003c/a\u003e! - Allow STRING_WITHOUT_DEFAULT and FILE_WITHOUT_DEFAULT as positional arguments\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8326\"\u003e#8326\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/959f2e1989c4bcbff05f717b33a2df1098f67616\"\u003e\u003ccode\u003e959f2e1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/kanej\"\u003e\u003ccode\u003e@​kanej\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ccode\u003ehardhat flatten\u003c/code\u003e silently producing a misleading output for projects with cyclic Solidity dependencies.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8262\"\u003e#8262\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/d3ba17006874715de86194c6a136cd0b7afb9bc4\"\u003e\u003ccode\u003ed3ba170\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/fvictorio\"\u003e\u003ccode\u003e@​fvictorio\u003c/code\u003e\u003c/a\u003e! - Add AGENTS.md and agentic skills to sample projects\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.1.3\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-errors\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.5.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8316\"\u003e#8316\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/971a135becc86dea7a3039148b55d0774c7c26a0\"\u003e\u003ccode\u003e971a135\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Fix \u003ccode\u003ehardhat --init\u003c/code\u003e when used with pnpm 11\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8302\"\u003e#8302\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/fb99caa5b9bf75ffa70d2488112755b8de94e7a3\"\u003e\u003ccode\u003efb99caa\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ChristopherDedominici\"\u003e\u003ccode\u003e@​ChristopherDedominici\u003c/code\u003e\u003c/a\u003e! - Suppress solc warnings that are direct side effects of \u003ccode\u003e--coverage\u003c/code\u003e instrumentation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8315\"\u003e#8315\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/90650fd841a800adecdae011c196c8ec83a1a053\"\u003e\u003ccode\u003e90650fd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/schaable\"\u003e\u003ccode\u003e@​schaable\u003c/code\u003e\u003c/a\u003e! - Improved error messages for common migration errors.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8301\"\u003e#8301\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/793cc84d311ff96b1725f5b83a0063b9a28e3d19\"\u003e\u003ccode\u003e793cc84\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/kanej\"\u003e\u003ccode\u003e@​kanej\u003c/code\u003e\u003c/a\u003e! - Disable transaction gas cap and block gas limit when running tests under \u003ccode\u003e--coverage\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8270\"\u003e#8270\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/cf2823b5ec9b5e6427c874636393a5ffcb70f412\"\u003e\u003ccode\u003ecf2823b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/schaable\"\u003e\u003ccode\u003e@​schaable\u003c/code\u003e\u003c/a\u003e! - Solidity test configuration now also accepts \u003ccode\u003e{ profiles: { default: ... } }\u003c/code\u003e. Only the \u003ccode\u003edefault\u003c/code\u003e profile is currently supported, other profile names will be supported in a future release. The previous flat shape continues to work unchanged.\u003c/p\u003e\n\u003cp\u003eThe resolved \u003ccode\u003eHardhatConfig.test.solidity\u003c/code\u003e is now profile-keyed: read per-profile fields at \u003ccode\u003ehre.config.test.solidity.profiles.default.*\u003c/code\u003e instead of \u003ccode\u003ehre.config.test.solidity.*\u003c/code\u003e. Plugins that read the resolved Solidity test config need to be updated.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/7b035db269eeaf820cdfaadd573ae4b12130cf2e\"\u003e\u003ccode\u003e7b035db\u003c/code\u003e\u003c/a\u003e Version Packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/9df15c2ee92dc36f4590a89e6e42d5d5cd319a1d\"\u003e\u003ccode\u003e9df15c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat/issues/8335\"\u003e#8335\u003c/a\u003e from gultekinmakif/fix/allow-optional-positional-args\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/85e95044b4843b3f121502af7de0fcc60e242266\"\u003e\u003ccode\u003e85e9504\u003c/code\u003e\u003c/a\u003e test: cover _WITHOUT_DEFAULT for variadic positional arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/673959ca2aff1191c6ab7604abfc9b247d5843b9\"\u003e\u003ccode\u003e673959c\u003c/code\u003e\u003c/a\u003e test: cover required-after-optional ordering for _WITHOUT_DEFAULT positionals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/0b1638438b6304e09887baf1dff4b094f1205bd0\"\u003e\u003ccode\u003e0b16384\u003c/code\u003e\u003c/a\u003e refactor: tighten isArgumentRequired and isOptionalArgumentType parameter types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/2d38a504932d154f1283f385025fb9826bbb6d24\"\u003e\u003ccode\u003e2d38a50\u003c/code\u003e\u003c/a\u003e fix: use isArgumentRequired in positional arg ordering validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/6211196e80bb9f9e3885092a5f20c798b69e89ef\"\u003e\u003ccode\u003e6211196\u003c/code\u003e\u003c/a\u003e refactor: leave isOptionalArgumentType helper for complete\u0026amp;clear intent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/b79d52d59a7e508f23a1fc70c720852e9ba702ad\"\u003e\u003ccode\u003eb79d52d\u003c/code\u003e\u003c/a\u003e refactor: add isArgumentRequired helper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/5494f33588c4ded1f158d913d4bf085d1089dc1d\"\u003e\u003ccode\u003e5494f33\u003c/code\u003e\u003c/a\u003e test: add CLI and help-utils tests for _WITHOUT_DEFAULT optional args\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/a8caa79d224f15219697f80efbcf5ee6948a7526\"\u003e\u003ccode\u003ea8caa79\u003c/code\u003e\u003c/a\u003e fix: apply optional positional arg check to CLI validation and help output\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/NomicFoundation/hardhat/commits/hardhat@3.6.0/packages/hardhat\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@anthropic-ai/sdk` from 0.67.1 to 0.99.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/releases\"\u003e@​anthropic-ai/sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esdk: v0.99.0\u003c/h2\u003e\n\u003ch2\u003e0.99.0 (2026-05-27)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.98.1...sdk-v0.99.0\"\u003esdk-v0.98.1...sdk-v0.99.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport custom file size caps (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1029\"\u003e#1029\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/814cd4c6b5b01e9640d52738d87fa61fc62991e7\"\u003e814cd4c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e carry stop_details through message_delta accumulation (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1027\"\u003e#1027\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/198bc277fdfccabe5e9f8a7723a2aa191b46af33\"\u003e198bc27\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esdk: v0.98.1\u003c/h2\u003e\n\u003ch2\u003e0.98.1 (2026-05-26)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.98.0...sdk-v0.98.1\"\u003esdk-v0.98.0...sdk-v0.98.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e preserve directory prefix in skills.versions.create uploads (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1024\"\u003e#1024\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/abbcd6a47d84bc6efcf259f0f803158847f255cf\"\u003eabbcd6a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e swap to using Trusted Publishing (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/821a50ef1fd64270e09c026a3235a34c647cdfab\"\u003e821a50e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexamples:\u003c/strong\u003e rename managed-agents private-sandbox-worker example to self-hosted-sandbox-worker (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1023\"\u003e#1023\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/49fe221fe444a72715a16e4ea2e318e54ba91d4a\"\u003e49fe221\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esdk: v0.98.0\u003c/h2\u003e\n\u003ch2\u003e0.98.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.97.1...sdk-v0.98.0\"\u003esdk-v0.97.1...sdk-v0.98.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add support for thinking-token-count beta for estimated tokens in thinking block deltas when streaming (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/0528d47b0a390ee7f88d72f85ffe6079ae1c6c00\"\u003e0528d47\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esdk: v0.97.1\u003c/h2\u003e\n\u003ch2\u003e0.97.1 (2026-05-19)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.97.0...sdk-v0.97.1\"\u003esdk-v0.97.0...sdk-v0.97.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner:\u003c/strong\u003e skip tool calls SessionToolRunner does not own (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/9987379abeaf28b17edb5518ac229d2a6caa4bf6\"\u003e9987379\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esdk: v0.97.0\u003c/h2\u003e\n\u003ch2\u003e0.97.0 (2026-05-19)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/blob/main/CHANGELOG.md\"\u003e@​anthropic-ai/sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.99.0 (2026-05-27)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.98.1...sdk-v0.99.0\"\u003esdk-v0.98.1...sdk-v0.99.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport custom file size caps (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1029\"\u003e#1029\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/814cd4c6b5b01e9640d52738d87fa61fc62991e7\"\u003e814cd4c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e carry st...\n\n_Description has been truncated_","html_url":"https://github.com/Angelqg01/bez-digital-ecosystem/pull/27","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Angelqg01%2Fbez-digital-ecosystem/issues/27","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/27/packages"},{"uuid":"4532070691","node_id":"PR_kwDOPCtHTM7fzmps","number":288,"state":"open","title":"Bump jest from 30.3.0 to 30.4.2 in /js","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-27T11:49:03.000Z","updated_at":"2026-05-27T11:49:23.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"}],"path":"/js","ecosystem":"npm"},"body":"Bumps [jest](https://github.com/jestjs/jest/tree/HEAD/packages/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\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/HEAD/packages/jest\"\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=jest\u0026package-manager=npm_and_yarn\u0026previous-version=30.3.0\u0026new-version=30.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/opensanctions/followthemoney/pull/288","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensanctions%2Ffollowthemoney/issues/288","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/288/packages"},{"uuid":"4529823759","node_id":"PR_kwDOSo-59s7fsRNC","number":26,"state":"open","title":"Update jest requirement from ^30.0.5 to ^30.4.2 in /superset-frontend/plugins/plugin-chart-pivot-table","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-27T05:39:36.000Z","updated_at":"2026-05-27T05:39:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"jest","old_version":"^30.0.5","new_version":"^30.4.2","repository_url":"https://github.com/jestjs/jest"}],"path":"/superset-frontend/plugins/plugin-chart-pivot-table","ecosystem":"npm"},"body":"Updates the requirements on [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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\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/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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/96c53d30660e51bf76ed2cd1ecc2334c399ac31c\"\u003e\u003ccode\u003e96c53d3\u003c/code\u003e\u003c/a\u003e feat(jest-config): add \u003ccode\u003edefineConfig\u003c/code\u003e and \u003ccode\u003emergeConfig\u003c/code\u003e functions (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15844\"\u003e#15844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/855864e3f9751366455246790be2bf912d4d0dac\"\u003e\u003ccode\u003e855864e\u003c/code\u003e\u003c/a\u003e v30.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/da9b532f04632367b0df15a842280501f225b732\"\u003e\u003ccode\u003eda9b532\u003c/code\u003e\u003c/a\u003e v30.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ebfa31cc9787303e8698a1a029a162a18e8974aa\"\u003e\u003ccode\u003eebfa31c\u003c/code\u003e\u003c/a\u003e v30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/d347c0f3f87f976a1dbd9761d503e45f5ced2a7e\"\u003e\u003ccode\u003ed347c0f\u003c/code\u003e\u003c/a\u003e v30.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\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/diwgpt/iris-ss/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/diwgpt%2Firis-ss/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"},{"uuid":"4528909478","node_id":"PR_kwDOSo4L6s7fpXH7","number":4,"state":"closed","title":"Bump the npm-development group with 7 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-27T02:25:56.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-27T02:10:43.000Z","updated_at":"2026-05-27T02:25:58.000Z","time_to_close":913,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"npm-development","update_count":7,"packages":[{"name":"@eslint/compat","old_version":"2.0.2","new_version":"2.1.0","repository_url":"https://github.com/eslint/rewrite"},{"name":"@jest/globals","old_version":"30.2.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"@rollup/plugin-commonjs","old_version":"29.0.0","new_version":"29.0.2","repository_url":"https://github.com/rollup/plugins"},{"name":"eslint-plugin-jest","old_version":"29.15.0","new_version":"29.15.2","repository_url":"https://github.com/jest-community/eslint-plugin-jest"},{"name":"jest","old_version":"30.2.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"rollup","old_version":"4.57.1","new_version":"4.60.4","repository_url":"https://github.com/rollup/rollup"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-development group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@eslint/compat](https://github.com/eslint/rewrite/tree/HEAD/packages/compat) | `2.0.2` | `2.1.0` |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `30.2.0` | `30.4.1` |\n| [@rollup/plugin-commonjs](https://github.com/rollup/plugins/tree/HEAD/packages/commonjs) | `29.0.0` | `29.0.2` |\n| [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) | `29.15.0` | `29.15.2` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.2.0` | `30.4.2` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [rollup](https://github.com/rollup/rollup) | `4.57.1` | `4.60.4` |\n\nUpdates `@eslint/compat` from 2.0.2 to 2.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/rewrite/releases\"\u003e@​eslint/compat's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecompat: v2.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/rewrite/compare/compat-v2.0.5...compat-v2.1.0\"\u003e2.1.0\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to config-helpers (\u003ca href=\"https://redirect.github.com/eslint/rewrite/issues/430\"\u003e#430\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/rewrite/commit/9b513529022834e72cccfa278ec7ba6e7f4e10c5\"\u003e9b51352\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emigrate-config: v2.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/rewrite/compare/migrate-config-v2.0.7...migrate-config-v2.1.0\"\u003e2.1.0\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to config-helpers (\u003ca href=\"https://redirect.github.com/eslint/rewrite/issues/430\"\u003e#430\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/rewrite/commit/9b513529022834e72cccfa278ec7ba6e7f4e10c5\"\u003e9b51352\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe following workspace dependencies were updated\n\u003cul\u003e\n\u003cli\u003edependencies\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​eslint/config-helpers\u003c/code\u003e bumped from ^0.5.5 to ^0.6.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emigrate-config: v2.0.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/rewrite/compare/migrate-config-v2.0.6...migrate-config-v2.0.7\"\u003e2.0.7\u003c/a\u003e (2026-05-01)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate \u003ccode\u003eespree\u003c/code\u003e to the latest (\u003ca href=\"https://redirect.github.com/eslint/rewrite/issues/437\"\u003e#437\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/rewrite/commit/a8ff72f6f473ce87df4156d3eb9b6e4992084337\"\u003ea8ff72f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emigrate-config: v2.0.6\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/rewrite/compare/migrate-config-v2.0.5...migrate-config-v2.0.6\"\u003e2.0.6\u003c/a\u003e (2026-04-08)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe following workspace dependencies were updated\n\u003cul\u003e\n\u003cli\u003edependencies\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​eslint/compat\u003c/code\u003e bumped from ^2.0.4 to ^2.0.5\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003edevDependencies\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​eslint/core\u003c/code\u003e bumped from ^1.2.0 to ^1.2.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\u003ch2\u003emigrate-config: v2.0.5\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/rewrite/compare/migrate-config-v2.0.4...migrate-config-v2.0.5\"\u003e2.0.5\u003c/a\u003e (2026-04-03)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe following workspace dependencies were updated\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/rewrite/blob/main/packages/compat/CHANGELOG.md\"\u003e@​eslint/compat's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/rewrite/compare/compat-v2.0.5...compat-v2.1.0\"\u003e2.1.0\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to config-helpers (\u003ca href=\"https://redirect.github.com/eslint/rewrite/issues/430\"\u003e#430\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/rewrite/commit/9b513529022834e72cccfa278ec7ba6e7f4e10c5\"\u003e9b51352\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/rewrite/compare/compat-v2.0.4...compat-v2.0.5\"\u003e2.0.5\u003c/a\u003e (2026-04-08)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe following workspace dependencies were updated\n\u003cul\u003e\n\u003cli\u003edependencies\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​eslint/core\u003c/code\u003e bumped from ^1.2.0 to ^1.2.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\u003ch2\u003e\u003ca href=\"https://github.com/eslint/rewrite/compare/compat-v2.0.3...compat-v2.0.4\"\u003e2.0.4\u003c/a\u003e (2026-04-03)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe following workspace dependencies were updated\n\u003cul\u003e\n\u003cli\u003edependencies\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​eslint/core\u003c/code\u003e bumped from ^1.1.1 to ^1.2.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/rewrite/compare/compat-v2.0.2...compat-v2.0.3\"\u003e2.0.3\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe following workspace dependencies were updated\n\u003cul\u003e\n\u003cli\u003edependencies\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​eslint/core\u003c/code\u003e bumped from ^1.1.0 to ^1.1.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/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/b8949534bf7f498d941007f3adc2740157965b49\"\u003e\u003ccode\u003eb894953\u003c/code\u003e\u003c/a\u003e chore: release main (\u003ca href=\"https://github.com/eslint/rewrite/tree/HEAD/packages/compat/issues/446\"\u003e#446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/334038d4f068e947bc366e7f987423414ad2773a\"\u003e\u003ccode\u003e334038d\u003c/code\u003e\u003c/a\u003e docs: Update README sponsors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/9b513529022834e72cccfa278ec7ba6e7f4e10c5\"\u003e\u003ccode\u003e9b51352\u003c/code\u003e\u003c/a\u003e feat: Add new \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to config-helpers (\u003ca href=\"https://github.com/eslint/rewrite/tree/HEAD/packages/compat/issues/430\"\u003e#430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/70b69970a2e0d9bdba8c2e9c19beb6f5b35d5db0\"\u003e\u003ccode\u003e70b6997\u003c/code\u003e\u003c/a\u003e docs: Update README sponsors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/35b6b944eb63aa5a82356121a7a3a2ec24393ace\"\u003e\u003ccode\u003e35b6b94\u003c/code\u003e\u003c/a\u003e chore: update TypeScript to v6 (\u003ca href=\"https://github.com/eslint/rewrite/tree/HEAD/packages/compat/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/7807d7107caa44ff0febbd4b2525911ddcd8027b\"\u003e\u003ccode\u003e7807d71\u003c/code\u003e\u003c/a\u003e docs: Update README sponsors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/57001eafe026f667d46fea4bd5e59a5a50717c2c\"\u003e\u003ccode\u003e57001ea\u003c/code\u003e\u003c/a\u003e docs: Update README sponsors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/0b621334efd3bb68e2bba3f1649046d1a720f0e6\"\u003e\u003ccode\u003e0b62133\u003c/code\u003e\u003c/a\u003e docs: Update README sponsors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/d2dbf7b73d01505da89a69b7465e486d8a88aa8f\"\u003e\u003ccode\u003ed2dbf7b\u003c/code\u003e\u003c/a\u003e chore: release main (\u003ca href=\"https://github.com/eslint/rewrite/tree/HEAD/packages/compat/issues/424\"\u003e#424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/fe114eed69c5d59d0dd05cda8071a5b98c4daec2\"\u003e\u003ccode\u003efe114ee\u003c/code\u003e\u003c/a\u003e chore: release main (\u003ca href=\"https://github.com/eslint/rewrite/tree/HEAD/packages/compat/issues/413\"\u003e#413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/rewrite/commits/compat-v2.1.0/packages/compat\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jest/globals` from 30.2.0 to 30.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003e@​jest/globals's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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\u003ch2\u003eFixes\u003c/h2\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\u003c/ul\u003e\n\u003c!-- 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\"\u003e@​jest/globals's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ccode\u003e[jest-reporters, jest-runner, jest-runtime, jest-transform]\u003c/code\u003e Fix coverage report not showing correct code coverage when using \u003ccode\u003eprojects\u003c/code\u003e config option (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16140\"\u003e#16140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Resolve \u003ccode\u003eexpect\u003c/code\u003e and \u003ccode\u003e@jest/expect\u003c/code\u003e from the internal module registry so test-file imports share the same \u003ccode\u003eJestAssertionError\u003c/code\u003e as the global \u003ccode\u003eexpect\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16130\"\u003e#16130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Improve CJS-from-ESM interop: \u003ccode\u003e__esModule\u003c/code\u003e/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Load \u003ccode\u003e.js\u003c/code\u003e files with ESM syntax but no \u003ccode\u003e\u0026quot;type\u0026quot;:\u0026quot;module\u0026quot;\u003c/code\u003e marker as native ESM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Extend the \u003ccode\u003e.js\u003c/code\u003e-with-ESM-syntax fallback to \u003ccode\u003erequire()\u003c/code\u003e on Node v24.9+ - falls back to \u003ccode\u003erequire(esm)\u003c/code\u003e when the CJS parser rejects ESM syntax (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16078\"\u003e#16078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix deadlocks and double-evaluation in concurrent ESM and wasm imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\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/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/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.1/packages/jest-globals\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@rollup/plugin-commonjs` from 29.0.0 to 29.0.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rollup/plugins/blob/master/packages/commonjs/CHANGELOG.md\"\u003e@​rollup/plugin-commonjs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-03-06\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecommonjs: conditional exports (\u003ca href=\"https://redirect.github.com/rollup/plugins/issues/1952\"\u003e#1952\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-03-05\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecommonjs: correctly replaces shorthand \u0026quot;global\u0026quot; property in object (\u003ca href=\"https://redirect.github.com/rollup/plugins/issues/1957\"\u003e#1957\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/plugins/commit/2de0d623224a4003eed9c65143ff99db145869df\"\u003e\u003ccode\u003e2de0d62\u003c/code\u003e\u003c/a\u003e chore(release): commonjs v29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/plugins/commit/ab65325653e2103509e37099cad3e8afd6c53f8e\"\u003e\u003ccode\u003eab65325\u003c/code\u003e\u003c/a\u003e fix(commonjs): conditional exports (\u003ca href=\"https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1952\"\u003e#1952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/plugins/commit/7d22981cdc03a1de31a3ec990d24a379c090fe3d\"\u003e\u003ccode\u003e7d22981\u003c/code\u003e\u003c/a\u003e chore(repo): add \u003ccode\u003erollup-plugin\u003c/code\u003e keyword in package.json (\u003ca href=\"https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1955\"\u003e#1955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/plugins/commit/a79ae55986c056bf6251205a7014295e4b0b5bee\"\u003e\u003ccode\u003ea79ae55\u003c/code\u003e\u003c/a\u003e chore(release): commonjs v29.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/plugins/commit/bb41cfd82bd20dd8d132054d1442aea5922fdbd2\"\u003e\u003ccode\u003ebb41cfd\u003c/code\u003e\u003c/a\u003e chore(release): commonjs v29.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/plugins/commit/14ae18676d9df3ec781877a331ceb82964bc248c\"\u003e\u003ccode\u003e14ae186\u003c/code\u003e\u003c/a\u003e fix(commonjs): correctly replaces shorthand \u0026quot;global\u0026quot; property in object (\u003ca href=\"https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1957\"\u003e#1957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rollup/plugins/commits/commonjs-v29.0.2/packages/commonjs\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​rollup/plugin-commonjs\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-jest` from 29.15.0 to 29.15.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/releases\"\u003eeslint-plugin-jest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.15.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/compare/v29.15.1...v29.15.2\"\u003e29.15.2\u003c/a\u003e (2026-04-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evalid-mock-module-path:\u003c/strong\u003e don't report virtual mocks (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1946\"\u003e#1946\u003c/a\u003e) (\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/a1916d16350344c1693384af34900055ec465e1c\"\u003ea1916d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.15.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/compare/v29.15.0...v29.15.1\"\u003e29.15.1\u003c/a\u003e (2026-03-24)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eallow TypeScript@7 in peer dependency (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1949\"\u003e#1949\u003c/a\u003e) (\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/0498c1e0c5e2914b2071c60980350ea71d80a8b7\"\u003e0498c1e\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/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md\"\u003eeslint-plugin-jest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/compare/v29.15.1...v29.15.2\"\u003e29.15.2\u003c/a\u003e (2026-04-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evalid-mock-module-path:\u003c/strong\u003e don't report virtual mocks (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1946\"\u003e#1946\u003c/a\u003e) (\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/a1916d16350344c1693384af34900055ec465e1c\"\u003ea1916d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/compare/v29.15.0...v29.15.1\"\u003e29.15.1\u003c/a\u003e (2026-03-24)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eallow TypeScript@7 in peer dependency (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1949\"\u003e#1949\u003c/a\u003e) (\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/0498c1e0c5e2914b2071c60980350ea71d80a8b7\"\u003e0498c1e\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/jest-community/eslint-plugin-jest/commit/f14a941887e2b598053f757f91c10a5910ffffca\"\u003e\u003ccode\u003ef14a941\u003c/code\u003e\u003c/a\u003e chore(release): 29.15.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/a1916d16350344c1693384af34900055ec465e1c\"\u003e\u003ccode\u003ea1916d1\u003c/code\u003e\u003c/a\u003e fix(valid-mock-module-path): don't report virtual mocks (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1946\"\u003e#1946\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/4a5278787449592d473ff4507170f6ff50b1b47f\"\u003e\u003ccode\u003e4a52787\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1958\"\u003e#1958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/285c6f6a665ffb77facb0e4db77a3e2c4c986070\"\u003e\u003ccode\u003e285c6f6\u003c/code\u003e\u003c/a\u003e ci: don't run smoketest on \u003ccode\u003etannerlinsley/react-table\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1959\"\u003e#1959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/1da0928392313ffa89339ed454aa31d1712f6875\"\u003e\u003ccode\u003e1da0928\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1956\"\u003e#1956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/8532d0e53abce0e80f092940e4575ed46ae6660a\"\u003e\u003ccode\u003e8532d0e\u003c/code\u003e\u003c/a\u003e docs(valid-expect): use valid alert syntax (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/03405ae827212348ab880929231d899300f659c2\"\u003e\u003ccode\u003e03405ae\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency \u003ccode\u003e@​schemastore/package\u003c/code\u003e to v1 (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1942\"\u003e#1942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/de0e154bd2d5966c3f2f15b4b3c8f0cd93b171ed\"\u003e\u003ccode\u003ede0e154\u003c/code\u003e\u003c/a\u003e chore(deps): update codecov/codecov-action action to v6 (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1952\"\u003e#1952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/d50f50c81af62caa4c73888939e20f4b874fdbe9\"\u003e\u003ccode\u003ed50f50c\u003c/code\u003e\u003c/a\u003e chore: add node v25 to CI (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1950\"\u003e#1950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/d5192df6a7c1129f5f07da05bab386ee6d2b9a09\"\u003e\u003ccode\u003ed5192df\u003c/code\u003e\u003c/a\u003e chore(release): 29.15.1 [skip ci]\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/compare/v29.15.0...v29.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.2.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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/96c53d30660e51bf76ed2cd1ecc2334c399ac31c\"\u003e\u003ccode\u003e96c53d3\u003c/code\u003e\u003c/a\u003e feat(jest-config): add \u003ccode\u003edefineConfig\u003c/code\u003e and \u003ccode\u003emergeConfig\u003c/code\u003e functions (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15844\"\u003e#15844\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 `prettier` from 3.8.1 to 3.8.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.8.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003eprettier/prettier#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.8.3/CHANGELOG.md#383\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Angular v21.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md#382\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.8.3\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.2...3.8.3\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003e#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"scss\"\u003e\u003ccode\u003e// Input\n$value: if(sass(false): 1; else: -1);\n\u003cp\u003e// Prettier 3.8.2\n$value: if(\nsass(false): 1; else: -1,\n);\u003c/p\u003e\n\u003cp\u003e// Prettier 3.8.3\n$value: if(sass(false): 1; else: -1);\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.8.2\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.1...3.8.2\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eAngular: Support Angular v21.2 (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18722\"\u003e#18722\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19034\"\u003e#19034\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003cp\u003eExhaustive typechecking with \u003ccode\u003e@default never;\u003c/code\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n@switch (foo) {\n  @case (1) {}\n  @default never;\n}\n\u003cp\u003e\u0026lt;!-- Prettier 3.8.1 --\u0026gt;\nSyntaxError: Incomplete block \u0026quot;default never\u0026quot;. If you meant to write the @ character, you should use the \u0026quot;\u0026amp;\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/64\"\u003e#64\u003c/a\u003e;\u0026quot; HTML entity instead. (3:3)\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.8.2 --\u0026gt;\n\u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e (foo) {\n\u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (1) {}\n\u003ca href=\"https://github.com/default\"\u003e\u003ccode\u003e@​default\u003c/code\u003e\u003c/a\u003e never;\n}\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003earrow function\u003c/code\u003e and \u003ccode\u003einstanceof\u003c/code\u003e expressions.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/d7108a79ec745c04292aabf22c4c1adbd690b191\"\u003e\u003ccode\u003ed7108a7\u003c/code\u003e\u003c/a\u003e Release 3.8.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/177f90898170d363ef64fde663e4d13170688bfe\"\u003e\u003ccode\u003e177f908\u003c/code\u003e\u003c/a\u003e Prevent trailing comma in SCSS \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/18471\"\u003e#18471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/1cd40668c3d6f2f4cf9d87bbc9096d92361b2606\"\u003e\u003ccode\u003e1cd4066\u003c/code\u003e\u003c/a\u003e Release \u003ccode\u003e@​prettier/plugin-oxc\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/a8700e245038cd8cc0cf28ef06ffedbcb3fc2dfc\"\u003e\u003ccode\u003ea8700e2\u003c/code\u003e\u003c/a\u003e Update oxc-parser to v0.125.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/752157c78eca6f0a30e5d5cb513b682c5ecfa01e\"\u003e\u003ccode\u003e752157c\u003c/code\u003e\u003c/a\u003e Fix tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/053fd418e180b12fa2014260212fae831f5fc5ec\"\u003e\u003ccode\u003e053fd41\u003c/code\u003e\u003c/a\u003e Bump Prettier dependency to 3.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/904c6365ec46726fd0e21021c52ae934b7e5abc6\"\u003e\u003ccode\u003e904c636\u003c/code\u003e\u003c/a\u003e Clean changelog_unreleased\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dc1f7fcc508d116cbf1644d69a1f0eb93e40d4a4\"\u003e\u003ccode\u003edc1f7fc\u003c/code\u003e\u003c/a\u003e Update dependents count\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/b31557cf331a02acf83e7e29d1001b070189a0d9\"\u003e\u003ccode\u003eb31557c\u003c/code\u003e\u003c/a\u003e Release 3.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/96bbaeda0525bf758e464aed2f939d739a85c315\"\u003e\u003ccode\u003e96bbaed\u003c/code\u003e\u003c/a\u003e Support Angular v21.2 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/18722\"\u003e#18722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prettier/prettier/compare/3.8.1...3.8.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rollup` from 4.57.1 to 4.60.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rollup/rollup/releases\"\u003erollup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.60.4\u003c/h2\u003e\n\u003ch2\u003e4.60.4\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-05-14\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove stability of chunk hashes (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6362\"\u003e#6362\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePull Requests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6362\"\u003e#6362\u003c/a\u003e: fix: stabilize chunk assignment across parallel file reads (\u003ca href=\"https://github.com/sonukapoor\"\u003e\u003ccode\u003e@​sonukapoor\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Sonu\"\u003e\u003ccode\u003e@​Sonu\u003c/code\u003e\u003c/a\u003e Kapoor, \u003ca href=\"https://github.com/TrickyPi\"\u003e\u003ccode\u003e@​TrickyPi\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6370\"\u003e#6370\u003c/a\u003e: fix(deps): update minor/patch updates (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6371\"\u003e#6371\u003c/a\u003e: chore(deps): update dependency lru-cache to v11 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6372\"\u003e#6372\u003c/a\u003e: chore(deps): update react monorepo to v19 (major) (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6373\"\u003e#6373\u003c/a\u003e: chore(deps): lock file maintenance (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6375\"\u003e#6375\u003c/a\u003e: Resolve vulnerabilities (\u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.60.2\u003c/h2\u003e\n\u003ch2\u003e4.60.2\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-04-18\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve a variable rendering bug when generating different formats from the same build (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6350\"\u003e#6350\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePull Requests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6327\"\u003e#6327\u003c/a\u003e: docs: fix various typos in source and documentation (\u003ca href=\"https://github.com/Abhi3975\"\u003e\u003ccode\u003e@​Abhi3975\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6331\"\u003e#6331\u003c/a\u003e: fix(deps): update minor/patch updates (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6332\"\u003e#6332\u003c/a\u003e: chore(deps): update codecov/codecov-action action to v6 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6333\"\u003e#6333\u003c/a\u003e: chore(deps): update dependency eslint-plugin-unicorn to v64 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6334\"\u003e#6334\u003c/a\u003e: fix(deps): update rust crate swc_compiler_base to v51 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6335\"\u003e#6335\u003c/a\u003e: chore(deps): lock file maintenance (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6346\"\u003e#6346\u003c/a\u003e: fix(deps): update minor/patch updates (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6347\"\u003e#6347\u003c/a\u003e: chore(deps): update dependency lru-cache to v11 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6348\"\u003e#6348\u003c/a\u003e: fix(deps): update swc monorepo (major) (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6349\"\u003e#6349\u003c/a\u003e: chore(deps): lock file maintenance (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6350\"\u003e#6350\u003c/a\u003e: fix: reset variable render names between outputs in the same generate (\u003ca href=\"https://github.com/barry3406\"\u003e\u003ccode\u003e@​barry3406\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6351\"\u003e#6351\u003c/a\u003e: chore(deps): update minor/patch updates (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6352\"\u003e#6352\u003c/a\u003e: chore(deps): update cross-platform-actions/action action to v1 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6353\"\u003e#6353\u003c/a\u003e: chore(deps): update dependency lru-cache to v11 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6354\"\u003e#6354\u003c/a\u003e: chore(deps): lock file maintenance (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6355\"\u003e#6355\u003c/a\u003e: chore(deps): lock file maintenance (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6356\"\u003e#6356\u003c/a\u003e: chore(deps): lock file maintenance (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6358\"\u003e#6358\u003c/a\u003e: chore: remove cross-env from devDeps (\u003ca href=\"https://github.com/K-tecchan\"\u003e\u003ccode\u003e@​K-tecchan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.60.1\u003c/h2\u003e\n\u003ch2\u003e4.60.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rollup/rollup/blob/master/CHANGELOG.md\"\u003erollup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.60.4\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-05-14\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove stability of chunk hashes (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6362\"\u003e#6362\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePull Requests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6362\"\u003e#6362\u003c/a\u003e: fix: stabilize chunk assignment across parallel file reads (\u003ca href=\"https://github.com/sonukapoor\"\u003e\u003ccode\u003e@​sonukapoor\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Sonu\"\u003e\u003ccode\u003e@​Sonu\u003c/code\u003e\u003c/a\u003e Kapoor, \u003ca href=\"https://github.com/TrickyPi\"\u003e\u003ccode\u003e@​TrickyPi\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6370\"\u003e#6370\u003c/a\u003e: fix(deps): update minor/patch updates (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6371\"\u003e#6371\u003c/a\u003e: chore(deps): update dependency lru-cache to v11 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6372\"\u003e#6372\u003c/a\u003e: chore(deps): update react monorepo to v19 (major) (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6373\"\u003e#6373\u003c/a\u003e: chore(deps): lock file maintenance (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6375\"\u003e#6375\u003c/a\u003e: Resolve vulnerabilities (\u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.60.3\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-05-04\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested \u0026quot;exports\u0026quot; variables are not renamed (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6360\"\u003e#6360\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePull Requests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6360\"\u003e#6360\u003c/a\u003e: fix: do not rename nested \u0026quot;exports\u0026quot; bindings that do not conflict (\u003ca href=\"https://github.com/tariqrafique\"\u003e\u003ccode\u003e@​tariqrafique\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6364\"\u003e#6364\u003c/a\u003e: chore(deps): update msys2/setup-msys2 digest to e989830 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6365\"\u003e#6365\u003c/a\u003e: fix(deps): update minor/patch updates (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6366\"\u003e#6366\u003c/a\u003e: fix(deps): update swc monorepo (major) (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6367\"\u003e#6367\u003c/a\u003e: chore(deps): lock file maintenance (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6368\"\u003e#6368\u003c/a\u003e: docs: add missing backticks in \u003ccode\u003eplugin-development\u003c/code\u003e (\u003ca href=\"https://github.com/lumirlumir\"\u003e\u003ccode\u003e@​lumirlumir\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.60.2\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-04-18\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve a variable rendering bug when generating different formats from the same build (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6350\"\u003e#6350\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePull Requests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6327\"\u003e#6327\u003c/a\u003e: docs: fix various typos in source and documentation (\u003ca href=\"https://github.com/Abhi3975\"\u003e\u003ccode\u003e@​Abhi3975\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6331\"\u003e#6331\u003c/a\u003e: fix(deps): update minor/patch updates (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6332\"\u003e#6332\u003c/a\u003e: chore(deps): update codecov/codecov-action action to v6 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6333\"\u003e#6333\u003c/a\u003e: chore(deps): update dependency eslint-plugin-unicorn to v64 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6334\"\u003e#6334\u003c/a\u003e: fix(deps): update rust crate swc_compiler_base to v51 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6335\"\u003e#6335\u003c/a\u003e: chore(deps): lock file maintenance (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\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/rollup/rollup/commit/d311a84b0bb4d4a6f50d19ffd2c29cca28660c88\"\u003e\u003ccode\u003ed311a84\u003c/code\u003e\u003c/a\u003e 4.60.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/rollup/commit/6aa324854482e273b711972955d2d1b3bb445bcc\"\u003e\u003ccode\u003e6aa3248\u003c/code\u003e\u003c/a\u003e fix: stabilize chunk assignment across parallel file reads (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6362\"\u003e#6362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/rollup/commit/82a0fe76b1372a2cf509fc4067d69f25569b83f5\"\u003e\u003ccode\u003e82a0fe7\u003c/code\u003e\u003c/a\u003e Resolve vulnerabilities (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6375\"\u003e#6375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/rollup/commit/71f5ebc893d7ff76b5571d63b04ea2ed4a4ddd9d\"\u003e\u003ccode\u003e71f5ebc\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency lru-cache to v11 (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6371\"\u003e#6371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/rollup/commit/af91d778cdf564dd1ae1bfd6e92604ec031824a7\"\u003e\u003ccode\u003eaf91d77\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6373\"\u003e#6373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/rollup/commit/65e7b94ddda9f02334fa8f12ff6bf699c1f07833\"\u003e\u003ccode\u003e65e7b94\u003c/code\u003e\u003c/a\u003e chore(deps): update react monorepo to v19 (major) (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6372\"\u003e#6372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/rollup/commit/642587f3d9c5b4aa482a5027672f0fa8ea76da12\"\u003e\u003ccode\u003e642587f\u003c/code\u003e\u003c/a\u003e fix(deps): update minor/patch updates (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6370\"\u003e#6370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/rollup/commit/b47bdabeccbb7aa1b1d4117f2f4a781a9f6de297\"\u003e\u003ccode\u003eb47bdab\u003c/code\u003e\u003c/a\u003e 4.60.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/rollup/commit/15c5f33083c8c6b1b2cbae548124fffbba2553bb\"\u003e\u003ccode\u003e15c5f33\u003c/code\u003e\u003c/a\u003e Add again some unneeded dev dependencies, to make some builds succeed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/rollup/commit/12195dcebbd21f0f2d91e26720cd053526edbfe3\"\u003e\u003ccode\u003e12195dc\u003c/code\u003e\u003c/a\u003e fix: do not rename nested \u0026quot;exports\u0026quot; bindings that do not conflict (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6360\"\u003e#6360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rollup/rollup/compare/v4.57.1...v4.60.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \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/kun1gund3/animated-spoon/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kun1gund3%2Fanimated-spoon/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}],"issue_packages":[{"old_version":"30.3.0","new_version":"30.4.2","update_type":"minor","path":null,"pr_created_at":"2026-06-02T00:50:44.000Z","version_change":"30.3.0 → 30.4.2","issue":{"uuid":"4567429036","node_id":"PR_kwDOAsSjbc7hlRgu","number":521,"state":"open","title":"Bump the npm-minor-upgrades group with 15 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-02T00:50:44.000Z","updated_at":"2026-06-02T00:51:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"npm-minor-upgrades","update_count":15,"packages":[{"name":"markdown-it","old_version":"14.1.1","new_version":"14.2.0","repository_url":"https://github.com/markdown-it/markdown-it"},{"name":"@swc/core","old_version":"1.15.32","new_version":"1.15.40","repository_url":"https://github.com/swc-project/swc"},{"name":"eslint","old_version":"10.3.0","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-import-resolver-node","old_version":"0.3.10","new_version":"0.4.0","repository_url":"https://github.com/import-js/eslint-plugin-import"},{"name":"globals","old_version":"17.5.0","new_version":"17.6.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-jsdom","old_version":"30.3.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"js-yaml","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"mocha","old_version":"11.7.5","new_version":"11.7.6","repository_url":"https://github.com/mochajs/mocha"},{"name":"postcss","old_version":"8.5.13","new_version":"8.5.15","repository_url":"https://github.com/postcss/postcss"},{"name":"sass","old_version":"1.99.0","new_version":"1.100.0","repository_url":"https://github.com/sass/dart-sass"},{"name":"sass-embedded","old_version":"1.99.0","new_version":"1.100.0","repository_url":"https://github.com/sass/embedded-host-node"},{"name":"stylelint","old_version":"17.9.1","new_version":"17.12.0","repository_url":"https://github.com/stylelint/stylelint"},{"name":"webpack","old_version":"5.106.2","new_version":"5.107.2","repository_url":"https://github.com/webpack/webpack"},{"name":"webpack-cli","old_version":"7.0.2","new_version":"7.0.3","repository_url":"https://github.com/webpack/webpack-cli"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-minor-upgrades group with 15 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [markdown-it](https://github.com/markdown-it/markdown-it) | `14.1.1` | `14.2.0` |\n| [@swc/core](https://github.com/swc-project/swc/tree/HEAD/packages/core) | `1.15.32` | `1.15.40` |\n| [eslint](https://github.com/eslint/eslint) | `10.3.0` | `10.4.1` |\n| [eslint-import-resolver-node](https://github.com/import-js/eslint-plugin-import/tree/HEAD/resolvers/node) | `0.3.10` | `0.4.0` |\n| [globals](https://github.com/sindresorhus/globals) | `17.5.0` | `17.6.0` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) | `30.3.0` | `30.4.1` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `4.1.1` | `4.2.0` |\n| [mocha](https://github.com/mochajs/mocha) | `11.7.5` | `11.7.6` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.13` | `8.5.15` |\n| [sass](https://github.com/sass/dart-sass) | `1.99.0` | `1.100.0` |\n| [sass-embedded](https://github.com/sass/embedded-host-node) | `1.99.0` | `1.100.0` |\n| [stylelint](https://github.com/stylelint/stylelint) | `17.9.1` | `17.12.0` |\n| [webpack](https://github.com/webpack/webpack) | `5.106.2` | `5.107.2` |\n| [webpack-cli](https://github.com/webpack/webpack-cli) | `7.0.2` | `7.0.3` |\n\nUpdates `markdown-it` from 14.1.1 to 14.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md\"\u003emarkdown-it's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.2.0] - 2026-05-24\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eisPunctCharCode\u003c/code\u003e to utilities.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't end HTML comment blocks on a blank line, \u003ca href=\"https://redirect.github.com/markdown-it/markdown-it/issues/1155\"\u003e#1155\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eProperly recognize astral chars (surrogates) in delimiter scans for\nemphasis-like markers, \u003ca href=\"https://redirect.github.com/markdown-it/markdown-it/issues/1072\"\u003e#1072\u003c/a\u003e. Big thanks to \u003ca href=\"https://github.com/tats-u\"\u003e\u003ccode\u003e@​tats-u\u003c/code\u003e\u003c/a\u003e for his global efforts\nwith improving CJK support.\u003c/li\u003e\n\u003cli\u003ePreserve unicode whitespaces when trimm headings/paragraphs, \u003ca href=\"https://redirect.github.com/markdown-it/markdown-it/issues/1074\"\u003e#1074\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eMore strict entities decode to avoid false positives \u003ccode\u003e;\u003c/code\u003e, \u003ca href=\"https://redirect.github.com/markdown-it/markdown-it/issues/1096\"\u003e#1096\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRestore block parser state on fail in \u003ccode\u003elheading\u003c/code\u003e rule, \u003ca href=\"https://redirect.github.com/markdown-it/markdown-it/issues/1131\"\u003e#1131\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed poor smartquotes perfomance on \u0026gt; 70k quotes in single block\u003c/li\u003e\n\u003cli\u003eBumped linkify-it to 5.0.1 with fixed potential perfomance issues.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/829797aa00353ce0b62ddeb9b4583b837b1ffd9b\"\u003e\u003ccode\u003e829797a\u003c/code\u003e\u003c/a\u003e 14.2.0 released\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/9ce2087562c45d1e5ddd9f76b990f4b3fbe040e5\"\u003e\u003ccode\u003e9ce2087\u003c/code\u003e\u003c/a\u003e Fix smartquotes perfomance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/02e73b88fdbaddf7ecee7e567a3da62b98e57a4d\"\u003e\u003ccode\u003e02e73b8\u003c/code\u003e\u003c/a\u003e linkify-it bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/68cfb8c0792ba87992d21ffb4d22ee6cf635afb7\"\u003e\u003ccode\u003e68cfb8c\u003c/code\u003e\u003c/a\u003e fix: don't end HTML comment blocks on a blank line (\u003ca href=\"https://redirect.github.com/markdown-it/markdown-it/issues/1155\"\u003e#1155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/108313756cfffba31166df0140e27dd58e4da115\"\u003e\u003ccode\u003e1083137\u003c/code\u003e\u003c/a\u003e Readme cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/97c7ca2571f4255ff1d0f465958dda5293d20fe8\"\u003e\u003ccode\u003e97c7ca2\u003c/code\u003e\u003c/a\u003e Update funding info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/c471b55c10501aba7b62817df613adc5f451da43\"\u003e\u003ccode\u003ec471b55\u003c/code\u003e\u003c/a\u003e Changelog update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/77696210d1c7c56e4ffd49ff28ba15b460cb01e4\"\u003e\u003ccode\u003e7769621\u003c/code\u003e\u003c/a\u003e isPunctChar =\u0026gt; isPunctCharCode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/aa2aa70b3001ed6aea67c22f1ff52e1ca158d2e1\"\u003e\u003ccode\u003eaa2aa70\u003c/code\u003e\u003c/a\u003e fix: always reset parentType in lheading rule (\u003ca href=\"https://redirect.github.com/markdown-it/markdown-it/issues/1131\"\u003e#1131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/markdown-it/markdown-it/commit/59955f2ad35cbb0e3f41ad779c7363a94b4bf38e\"\u003e\u003ccode\u003e59955f2\u003c/code\u003e\u003c/a\u003e Polish PRs \u003ca href=\"https://redirect.github.com/markdown-it/markdown-it/issues/1072\"\u003e#1072\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/markdown-it/markdown-it/issues/1074\"\u003e#1074\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/markdown-it/markdown-it/compare/14.1.1...14.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@swc/core` from 1.15.32 to 1.15.40\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/swc-project/swc/blob/main/CHANGELOG.md\"\u003e@​swc/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.15.40] - 2026-05-23\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(es/minifier)\u003c/strong\u003e Preserve args for destructured callbacks (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11830\"\u003e#11830\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/21873b06df3fd62d952a21cf879e14d11d4b39d7\"\u003e21873b0\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(es/minifier)\u003c/strong\u003e Avoid generating mangled property names that collide with existing properties (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11839\"\u003e#11839\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/9b4fab58c90256a6da688de87ea405225a5a6fdb\"\u003e9b4fab5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(es/minifier)\u003c/strong\u003e Respect ecma for iife temp vars (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11873\"\u003e#11873\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/e481934a63c0ee891e4a770c4f0cd5ec3fd8624e\"\u003ee481934\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(es/minifier)\u003c/strong\u003e Preserve default parameter object props (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11884\"\u003e#11884\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/71ff84f19762306ab9b86accb29eb6ed83c46f84\"\u003e71ff84f\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(es/parser)\u003c/strong\u003e Reject object-rest assignment to array/object literal (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11875\"\u003e#11875\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/7b57d1f8717d8bf6be0b617b04bc6e219a2b3775\"\u003e7b57d1f\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(es/parser)\u003c/strong\u003e Reject object rest assignment to literals (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11881\"\u003e#11881\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/4ec2eaf4d89ddd95293b8f09169a88b0434c5a13\"\u003e4ec2eaf\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(es/react)\u003c/strong\u003e Exclude self-recursive hooks from refresh dependency array (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11838\"\u003e#11838\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/9101c719fa8f3f5cb410d716d4f50544650cd81e\"\u003e9101c71\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(ts/fast-dts)\u003c/strong\u003e Strip definite assertions in dts (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11858\"\u003e#11858\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/2ab1b8a50f2af3d8b4c42d6c4dd4f2051940cae0\"\u003e2ab1b8a\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(ts/fast-strip)\u003c/strong\u003e Reject unsafe assertion erasure in binary expressions (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11828\"\u003e#11828\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/aa5b539b277dbf4c68c87380d16f4b8713145df3\"\u003eaa5b539\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e(typescript)\u003c/strong\u003e Strip parameter binding defaults in dts (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11857\"\u003e#11857\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/800bc170334a74191eb5ae21e3bfc96bf6f7fe56\"\u003e800bc17\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate agent guidance (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11842\"\u003e#11842\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/bf2d0154cf8b66fdab16085585fda0086d297a64\"\u003ebf2d015\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd security policy (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11876\"\u003e#11876\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/6c43c2de9cb9d5516b0ac87101345940964e943e\"\u003e6c43c2d\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eClarify security scope for npm packages (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11877\"\u003e#11877\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/4662db8fe3e503f298a285697ea63ecc1ca3b958\"\u003e4662db8\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eClarify untrusted input security model (\u003ca href=\"https://redirect.github.com/swc-project/swc/issues/11882\"\u003e#11882\u003c/a\u003e) (\u003ca href=\"https://github.com/swc-project/swc/commit/546377770e164aead174404fb678319c9c56a9dc\"\u003e5463777\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/112729bc85239e731daf4e5f8daddbd1fe87c12d\"\u003e\u003ccode\u003e112729b\u003c/code\u003e\u003c/a\u003e chore: Publish \u003ccode\u003e1.15.40\u003c/code\u003e with \u003ccode\u003eswc_core\u003c/code\u003e \u003ccode\u003ev66.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/13a5608f703f6c3e4c0f77f4534ce8f5c5d49f61\"\u003e\u003ccode\u003e13a5608\u003c/code\u003e\u003c/a\u003e chore: Publish \u003ccode\u003e1.15.40-nightly-20260523.1\u003c/code\u003e with \u003ccode\u003eswc_core\u003c/code\u003e \u003ccode\u003ev66.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/bc6ee837f38b1dfb6a550fdda7366712abd582b5\"\u003e\u003ccode\u003ebc6ee83\u003c/code\u003e\u003c/a\u003e chore: Publish \u003ccode\u003e1.15.39-nightly-20260523.1\u003c/code\u003e with \u003ccode\u003eswc_core\u003c/code\u003e \u003ccode\u003ev66.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/3a68ad540ce885ab9dae9344c4394e0543644900\"\u003e\u003ccode\u003e3a68ad5\u003c/code\u003e\u003c/a\u003e chore: Publish \u003ccode\u003e1.15.38-nightly-20260522.1\u003c/code\u003e with \u003ccode\u003eswc_core\u003c/code\u003e \u003ccode\u003ev66.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/d0f0d5a020244b571efc963ea8c74fd6bbba9327\"\u003e\u003ccode\u003ed0f0d5a\u003c/code\u003e\u003c/a\u003e chore: Publish \u003ccode\u003e1.15.37-nightly-20260522.1\u003c/code\u003e with \u003ccode\u003eswc_core\u003c/code\u003e \u003ccode\u003ev66.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/969df79007f5fca2306e8beb4acab76f45dc02f1\"\u003e\u003ccode\u003e969df79\u003c/code\u003e\u003c/a\u003e chore: Publish \u003ccode\u003e1.15.36-nightly-20260522.1\u003c/code\u003e with \u003ccode\u003eswc_core\u003c/code\u003e \u003ccode\u003ev66.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/38c2a441bb7931efafec0f2286b1bcb299af2c5e\"\u003e\u003ccode\u003e38c2a44\u003c/code\u003e\u003c/a\u003e chore: Publish \u003ccode\u003e1.15.35-nightly-20260522.1\u003c/code\u003e with \u003ccode\u003eswc_core\u003c/code\u003e \u003ccode\u003ev66.0.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/18df110b195de3ba98e50e9841aa69f1ea1eb61b\"\u003e\u003ccode\u003e18df110\u003c/code\u003e\u003c/a\u003e chore: Publish \u003ccode\u003e1.15.34-nightly-20260522.1\u003c/code\u003e with \u003ccode\u003eswc_core\u003c/code\u003e \u003ccode\u003ev66.0.4\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/20d92eb3c8dee378f046a6bff839913600a1fbdb\"\u003e\u003ccode\u003e20d92eb\u003c/code\u003e\u003c/a\u003e security: update rkyv and Rust dependencies (\u003ca href=\"https://github.com/swc-project/swc/tree/HEAD/packages/core/issues/11851\"\u003e#11851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/swc-project/swc/commit/0d8e6510835c8bc4e433d92408ccd4faa4a3f721\"\u003e\u003ccode\u003e0d8e651\u003c/code\u003e\u003c/a\u003e chore: Publish crates with \u003ccode\u003eswc_core\u003c/code\u003e \u003ccode\u003ev65.0.3\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/swc-project/swc/commits/v1.15.40/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.3.0 to 10.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e) (Minh Vu)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c5bc78b37e08b9054a11f0cc2d81808bb24acb85\"\u003e\u003ccode\u003ec5bc78b\u003c/code\u003e\u003c/a\u003e fix: false positive for reference in \u003ccode\u003efinally\u003c/code\u003e block (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20655\"\u003e#20655\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/27538c01f5df4e9306f6f4ba867b2dd6307fae59\"\u003e\u003ccode\u003e27538c0\u003c/code\u003e\u003c/a\u003e fix: add missing CodePath and CodePathSegment types (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20853\"\u003e#20853\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/305d5b91aeac24d36fde42f75625a8f183d4ce43\"\u003e\u003ccode\u003e305d5b9\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rules from related rules section (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20911\"\u003e#20911\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c\"\u003e\u003ccode\u003e49b0202\u003c/code\u003e\u003c/a\u003e docs: fix \u003ccode\u003edisplay: none\u003c/code\u003e of ad (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20901\"\u003e#20901\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9067f9492ec998afc5b4f057a477ecf6ebd45e44\"\u003e\u003ccode\u003e9067f94\u003c/code\u003e\u003c/a\u003e docs: switch build to Node.js 24 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20893\"\u003e#20893\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c91b0417e3420c76807ce1fa2aea76e2de87ab86\"\u003e\u003ccode\u003ec91b041\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e349265cb37f3ebc837e178e48a725bb782bd870\"\u003e\u003ccode\u003ee349265\u003c/code\u003e\u003c/a\u003e docs: clarify semver strings in rule deprecation objects (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20885\"\u003e#20885\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20922\"\u003e#20922\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e) (Arpit Jain)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b\"\u003e\u003ccode\u003e64bca24\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20912\"\u003e#20912\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56\"\u003e\u003ccode\u003e6d7c832\u003c/code\u003e\u003c/a\u003e chore: ignore fflate updates in renovate (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20908\"\u003e#20908\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b2c86382164d87c6203b78d52068cd6a2a6ffe30\"\u003e\u003ccode\u003eb2c8638\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.7 to 6.0.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20889\"\u003e#20889\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a9b8d7f74c50211701cfc49710fa541fd91b2aa5\"\u003e\u003ccode\u003ea9b8d7f\u003c/code\u003e\u003c/a\u003e chore: increase maxBuffer for ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20881\"\u003e#20881\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b702ead5e1ed7cb9f28238a454797662efb37396\"\u003e\u003ccode\u003eb702ead\u003c/code\u003e\u003c/a\u003e chore: update ecosystem update PR settings (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20884\"\u003e#20884\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/507f60e9a78c9a902bc8759f066ae17a1ea6cd81\"\u003e\u003ccode\u003e507f60e\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20882\"\u003e#20882\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92f5c5bb6bf3a5d167c8ee53a430833410295c6d\"\u003e\u003ccode\u003e92f5c5b\u003c/code\u003e\u003c/a\u003e test: add unit test for message-count (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20878\"\u003e#20878\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/df321080af5758b1fa25e4b9a40e26135642dd6e\"\u003e\u003ccode\u003edf32108\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003e@​eslint/markdown\u003c/code\u003e and typescript-eslint ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20837\"\u003e#20837\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/327f91d36aa49f2a50ded931d841a16374fd875f\"\u003e\u003ccode\u003e327f91d\u003c/code\u003e\u003c/a\u003e chore: use includeIgnoreFile internally (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20876\"\u003e#20876\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f0dc4bd893fb3a9f44e4ddc3ad7063ffb0beacd3\"\u003e\u003ccode\u003ef0dc4bd\u003c/code\u003e\u003c/a\u003e chore: pin fflate@0.8.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20877\"\u003e#20877\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0f4bd257a67a082b756de746d9e0c4842ab764ca\"\u003e\u003ccode\u003e0f4bd25\u003c/code\u003e\u003c/a\u003e ci: run Discord alert for ecosystem test failures (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20873\"\u003e#20873\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.4.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf\"\u003e\u003ccode\u003e1a45ec5\u003c/code\u003e\u003c/a\u003e feat: check sequence expressions in \u003ccode\u003efor-direction\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20701\"\u003e#20701\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b\"\u003e\u003ccode\u003e450040b\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to \u003ccode\u003eeslint/config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20735\"\u003e#20735\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c\"\u003e\u003ccode\u003e6799431\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-helpers\u003c/code\u003e to ^0.6.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20850\"\u003e#20850\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd\"\u003e\u003ccode\u003ef078fef\u003c/code\u003e\u003c/a\u003e fix: handle non-array deprecated rule replacements (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20825\"\u003e#20825\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f\"\u003e\u003ccode\u003e9cc7387\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5\"\u003e\u003ccode\u003e3d7b548\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb\"\u003e\u003ccode\u003e191ec3c\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4a3d15a99c452c4db2fd56b577fa7597e98ab0c2\"\u003e\u003ccode\u003e4a3d15a\u003c/code\u003e\u003c/a\u003e 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43e7e2bdc5c6cacc535446b7d23c10f780384ba8\"\u003e\u003ccode\u003e43e7e2b\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20\"\u003e#20\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.3.0...v10.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-import-resolver-node` from 0.3.10 to 0.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/import-js/eslint-plugin-import/releases\"\u003eeslint-import-resolver-node's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ees6-only\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003eno-common\u003c/code\u003e in favor of enforcing that all imports have ES6 modules behind them. (\u003ca href=\"https://github.com/import-js/eslint-plugin-import/tree/HEAD/resolvers/node/issues/20\"\u003e#20\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eresolve.root\u003c/code\u003e setting allows module resolution to start from some arbitrary path within your package, instead of just relative paths and \u003ccode\u003enode_modules\u003c/code\u003e. (\u003ca href=\"https://github.com/import-js/eslint-plugin-import/tree/HEAD/resolvers/node/issues/18\"\u003e#18\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003edestructuring\u003c/h2\u003e\n\u003cp\u003eAdded destructuring pattern awareness to \u003ccode\u003eno-reassign\u003c/code\u003e.\nImproved \u003ccode\u003eexists\u003c/code\u003e report message.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/import-js/eslint-plugin-import/blob/main/resolvers/node/CHANGELOG.md\"\u003eeslint-import-resolver-node's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.4.0 - 2026-05-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[breaking] by default, support the \u003ccode\u003eexports\u003c/code\u003e field\u003c/li\u003e\n\u003cli\u003e[deps] update \u003ccode\u003eis-core-module\u003c/code\u003e, \u003ccode\u003eresolve\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/import-js/eslint-plugin-import/commits/v0.4.0/resolvers/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globals` from 17.5.0 to 17.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/globals/releases\"\u003eglobals's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate globals (2026-05-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/343\"\u003e#343\u003c/a\u003e)  00a4dd9\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\"\u003ehttps://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/6b15870f1c08b60b5b57afe45a703d9ed0be39bc\"\u003e\u003ccode\u003e6b15870\u003c/code\u003e\u003c/a\u003e 17.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/00a4dd9821830a9b044798120e86b1bb1a54648d\"\u003e\u003ccode\u003e00a4dd9\u003c/code\u003e\u003c/a\u003e Update globals (2026-05-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/343\"\u003e#343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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 `jest-environment-jsdom` from 30.3.0 to 30.4.1\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-environment-jsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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\u003ch2\u003eFixes\u003c/h2\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\u003c/ul\u003e\n\u003c!-- 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-environment-jsdom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ccode\u003e[jest-reporters, jest-runner, jest-runtime, jest-transform]\u003c/code\u003e Fix coverage report not showing correct code coverage when using \u003ccode\u003eprojects\u003c/code\u003e config option (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16140\"\u003e#16140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Resolve \u003ccode\u003eexpect\u003c/code\u003e and \u003ccode\u003e@jest/expect\u003c/code\u003e from the internal module registry so test-file imports share the same \u003ccode\u003eJestAssertionError\u003c/code\u003e as the global \u003ccode\u003eexpect\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16130\"\u003e#16130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Improve CJS-from-ESM interop: \u003ccode\u003e__esModule\u003c/code\u003e/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Load \u003ccode\u003e.js\u003c/code\u003e files with ESM syntax but no \u003ccode\u003e\u0026quot;type\u0026quot;:\u0026quot;module\u0026quot;\u003c/code\u003e marker as native ESM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Extend the \u003ccode\u003e.js\u003c/code\u003e-with-ESM-syntax fallback to \u003ccode\u003erequire()\u003c/code\u003e on Node v24.9+ - falls back to \u003ccode\u003erequire(esm)\u003c/code\u003e when the CJS parser rejects ESM syntax (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16078\"\u003e#16078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix deadlocks and double-evaluation in concurrent ESM and wasm imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\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/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\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.1/packages/jest-environment-jsdom\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `js-yaml` from 4.1.1 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md\"\u003ejs-yaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.0] - 2026-06-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003edocs/safety.md\u003c/code\u003e with notes about processing untrusted YAML.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxDepth\u003c/code\u003e (100) loader option. Not a problem, but gives a better\nexception instead of RangeError on stack overflow.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxMergeSeqLength\u003c/code\u003e (20) loader option. Not a problem after \u003ccode\u003emerge\u003c/code\u003e fix,\nbut an additional restriction for safety.\u003c/li\u003e\n\u003cli\u003eAdded sourcemaps to \u003ccode\u003edist/\u003c/code\u003e builds.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop resolving numbers with underscores as numeric scalars, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/627\"\u003e#627\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSwitched dev toolchains to Vite / neostandard.\u003c/li\u003e\n\u003cli\u003eUpdated demo.\u003c/li\u003e\n\u003cli\u003eReorganized tests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edist/\u003c/code\u003e files are no longer kept in the repository.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parsing of properties on the first implicit block mapping key, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/62\"\u003e#62\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix trailing whitespace handling when folding flow scalar lines, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReject top-level block scalars without content indentation, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/280\"\u003e#280\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnsure numbers survive round-trip, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/737\"\u003e#737\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix test coverage for issue \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/221\"\u003e#221\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix flow scalar trailing whitespace folding, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix digits in YAML named tag handles.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix potential DoS via quadratic complexity in merge - deduplicate repeated\nelements (makes sense for malformed files \u0026gt; 10K).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.14.2] - 2025-11-15\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackported v4.1.1 fix to v3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nodeca/js-yaml/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mocha` from 11.7.5 to 11.7.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mochajs/mocha/releases\"\u003emocha's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.7.6\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mochajs/mocha/compare/v11.7.5...v11.7.6\"\u003e11.7.6\u003c/a\u003e (2026-02-14)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emake \u003ccode\u003edescribe().timeout()\u003c/code\u003e work (\u003ca href=\"https://github.com/mochajs/mocha/commit/aafe6fd8c8f0a897c35cfb228aa8ecf43805b697\"\u003eaafe6fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etest:\u003c/strong\u003e replace \u003ccode\u003ewmic\u003c/code\u003e usage with native Windows API (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5694\"\u003e#5694\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/73ebdfadb95198704ca57ec8087d97f7f3a7a37a\"\u003e73ebdfa\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eformat all code (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5629\"\u003e#5629\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/0696784dd2d7f9b11471acd5854603fa57fe6fab\"\u003e0696784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove Netlify (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5630\"\u003e#5630\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/8d01d335becbcb12439328be90ce75351418d787\"\u003e8d01d33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mochajs/mocha/blob/v11.7.6/CHANGELOG.md\"\u003emocha's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mochajs/mocha/compare/v11.7.5...v11.7.6\"\u003e11.7.6\u003c/a\u003e (2026-02-14)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emake \u003ccode\u003edescribe().timeout()\u003c/code\u003e work (\u003ca href=\"https://github.com/mochajs/mocha/commit/aafe6fd8c8f0a897c35cfb228aa8ecf43805b697\"\u003eaafe6fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etest:\u003c/strong\u003e replace \u003ccode\u003ewmic\u003c/code\u003e usage with native Windows API (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5694\"\u003e#5694\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/73ebdfadb95198704ca57ec8087d97f7f3a7a37a\"\u003e73ebdfa\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eformat all code (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5629\"\u003e#5629\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/0696784dd2d7f9b11471acd5854603fa57fe6fab\"\u003e0696784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove Netlify (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5630\"\u003e#5630\u003c/a\u003e) (\u003ca href=\"https://github.com/mochajs/mocha/commit/8d01d335becbcb12439328be90ce75351418d787\"\u003e8d01d33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mochajs/mocha/commit/3765ba0d9bd9e8918405b681991b982d3f8d4d7e\"\u003e\u003ccode\u003e3765ba0\u003c/code\u003e\u003c/a\u003e chore(v11.x): release 11.7.6 (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5632\"\u003e#5632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mochajs/mocha/commit/73ebdfadb95198704ca57ec8087d97f7f3a7a37a\"\u003e\u003ccode\u003e73ebdfa\u003c/code\u003e\u003c/a\u003e fix(test): replace \u003ccode\u003ewmic\u003c/code\u003e usage with native Windows API (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5694\"\u003e#5694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mochajs/mocha/commit/aafe6fd8c8f0a897c35cfb228aa8ecf43805b697\"\u003e\u003ccode\u003eaafe6fd\u003c/code\u003e\u003c/a\u003e fix: make \u003ccode\u003edescribe().timeout()\u003c/code\u003e work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mochajs/mocha/commit/0696784dd2d7f9b11471acd5854603fa57fe6fab\"\u003e\u003ccode\u003e0696784\u003c/code\u003e\u003c/a\u003e chore: format all code (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5629\"\u003e#5629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mochajs/mocha/commit/8d01d335becbcb12439328be90ce75351418d787\"\u003e\u003ccode\u003e8d01d33\u003c/code\u003e\u003c/a\u003e chore: remove Netlify (\u003ca href=\"https://redirect.github.com/mochajs/mocha/issues/5630\"\u003e#5630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mochajs/mocha/compare/v11.7.5...v11.7.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `postcss` from 8.5.13 to 8.5.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/postcss/releases\"\u003epostcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.5.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed declaration parsing performance (by \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\u003e8.5.14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed custom syntax regression (by \u003ca href=\"https://github.com/43081j\"\u003e\u003ccode\u003e@​43081j\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/postcss/postcss/blob/main/CHANGELOG.md\"\u003epostcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.5.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed declaration parsing performance (by \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\u003e8.5.14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed custom syntax regression (by \u003ca href=\"https://github.com/43081j\"\u003e\u003ccode\u003e@​43081j\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/postcss/postcss/commit/eae46db765d752cf8f40c4fa2b0b85030079c43d\"\u003e\u003ccode\u003eeae46db\u003c/code\u003e\u003c/a\u003e Release 8.5.15 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/79508ffa59e42c02056aca61b88bc393c8b516c4\"\u003e\u003ccode\u003e79508ff\u003c/code\u003e\u003c/a\u003e Update CI actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/b128e2131288a411c6e28071d0929542c49e74eb\"\u003e\u003ccode\u003eb128e21\u003c/code\u003e\u003c/a\u003e Speed up declaration parsing by avoiding creating new array on each token\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/9825dca02c33cf610e2a842be767468b67fbecf9\"\u003e\u003ccode\u003e9825dca\u003c/code\u003e\u003c/a\u003e Fix code format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/55789c865281e2be194fa5b4e41dd046be3a2307\"\u003e\u003ccode\u003e55789c8\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/84fbbe9009cb3cc3bbb4cc3a9b65d468f4844d95\"\u003e\u003ccode\u003e84fbbe9\u003c/code\u003e\u003c/a\u003e Install older pnpm action for old Node.js\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/9f860bd78ec1dbc4f0ae72d693f03f956baa38cb\"\u003e\u003ccode\u003e9f860bd\u003c/code\u003e\u003c/a\u003e Revert pnpm action for old Node.js\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/08771986d47359545f502e009763e223b66bfcf6\"\u003e\u003ccode\u003e0877198\u003c/code\u003e\u003c/a\u003e Update CI actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/b2d1a335cea818f8b27e5cfb90147648afe3e582\"\u003e\u003ccode\u003eb2d1a33\u003c/code\u003e\u003c/a\u003e Fix linter warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/0700dac92283bc259977dff2743ca74a00f58267\"\u003e\u003ccode\u003e0700dac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/postcss/postcss/issues/2088\"\u003e#2088\u003c/a\u003e from rootvector2/add-oss-fuzz-harness\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/postcss/postcss/compare/8.5.13...8.5.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sass` from 1.99.0 to 1.100.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sass/dart-sass/releases\"\u003esass's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDart Sass 1.100.0\u003c/h2\u003e\n\u003cp\u003eTo install Sass 1.100.0, download one of the packages below and \u003ca href=\"https://katiek2.github.io/path-doc/\"\u003eadd it to your PATH\u003c/a\u003e, or see \u003ca href=\"https://sass-lang.com/install\"\u003ethe Sass website\u003c/a\u003e for full installation instructions.\u003c/p\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eWriting two compound selectors adjacent to one another without any whitespace between them, such as \u003ccode\u003e[class]a\u003c/code\u003e, is now deprecated. This was always an error in CSS and Sass only supported it by mistake.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://sass-lang.com/d/adjacent-compounds\"\u003ethe Sass website\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://github.com/sass/dart-sass/blob/master/CHANGELOG.md#11000\"\u003efull changelog\u003c/a\u003e for changes in...\n\n_Description has been truncated_","html_url":"https://github.com/oddbird/sassdoc-theme-herman/pull/521","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/oddbird%2Fsassdoc-theme-herman/issues/521","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/521/packages"}},{"old_version":"30.3.0","new_version":"30.4.2","update_type":"minor","path":null,"pr_created_at":"2026-06-01T04:19:34.000Z","version_change":"30.3.0 → 30.4.2","issue":{"uuid":"4560312409","node_id":"PR_kwDOLMBsXc7hOERP","number":1124,"state":"open","title":"chore(deps): bump the jest group with 3 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T04:19:34.000Z","updated_at":"2026-06-01T04:32:01.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"jest","update_count":3,"packages":[{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-jsdom","old_version":"30.3.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-jest","old_version":"30.3.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the jest group with 3 updates: [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest), [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) and [babel-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest).\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 `jest-environment-jsdom` from 30.3.0 to 30.4.1\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-environment-jsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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\u003ch2\u003eFixes\u003c/h2\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\u003c/ul\u003e\n\u003c!-- 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-environment-jsdom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ccode\u003e[jest-reporters, jest-runner, jest-runtime, jest-transform]\u003c/code\u003e Fix coverage report not showing correct code coverage when using \u003ccode\u003eprojects\u003c/code\u003e config option (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16140\"\u003e#16140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Resolve \u003ccode\u003eexpect\u003c/code\u003e and \u003ccode\u003e@jest/expect\u003c/code\u003e from the internal module registry so test-file imports share the same \u003ccode\u003eJestAssertionError\u003c/code\u003e as the global \u003ccode\u003eexpect\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16130\"\u003e#16130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Improve CJS-from-ESM interop: \u003ccode\u003e__esModule\u003c/code\u003e/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Load \u003ccode\u003e.js\u003c/code\u003e files with ESM syntax but no \u003ccode\u003e\u0026quot;type\u0026quot;:\u0026quot;module\u0026quot;\u003c/code\u003e marker as native ESM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Extend the \u003ccode\u003e.js\u003c/code\u003e-with-ESM-syntax fallback to \u003ccode\u003erequire()\u003c/code\u003e on Node v24.9+ - falls back to \u003ccode\u003erequire(esm)\u003c/code\u003e when the CJS parser rejects ESM syntax (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16078\"\u003e#16078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix deadlocks and double-evaluation in concurrent ESM and wasm imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\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/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\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.1/packages/jest-environment-jsdom\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `babel-jest` from 30.3.0 to 30.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003ebabel-jest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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\u003ch2\u003eFixes\u003c/h2\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\u003c/ul\u003e\n\u003c!-- 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\"\u003ebabel-jest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ccode\u003e[jest-reporters, jest-runner, jest-runtime, jest-transform]\u003c/code\u003e Fix coverage report not showing correct code coverage when using \u003ccode\u003eprojects\u003c/code\u003e config option (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16140\"\u003e#16140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Resolve \u003ccode\u003eexpect\u003c/code\u003e and \u003ccode\u003e@jest/expect\u003c/code\u003e from the internal module registry so test-file imports share the same \u003ccode\u003eJestAssertionError\u003c/code\u003e as the global \u003ccode\u003eexpect\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16130\"\u003e#16130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Improve CJS-from-ESM interop: \u003ccode\u003e__esModule\u003c/code\u003e/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Load \u003ccode\u003e.js\u003c/code\u003e files with ESM syntax but no \u003ccode\u003e\u0026quot;type\u0026quot;:\u0026quot;module\u0026quot;\u003c/code\u003e marker as native ESM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Extend the \u003ccode\u003e.js\u003c/code\u003e-with-ESM-syntax fallback to \u003ccode\u003erequire()\u003c/code\u003e on Node v24.9+ - falls back to \u003ccode\u003erequire(esm)\u003c/code\u003e when the CJS parser rejects ESM syntax (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16078\"\u003e#16078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix deadlocks and double-evaluation in concurrent ESM and wasm imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\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/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/6886816ab4f2a14a2d53b3020ed02afb2cf0ac9c\"\u003e\u003ccode\u003e6886816\u003c/code\u003e\u003c/a\u003e chore: enable node protocol in imports (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest/issues/16077\"\u003e#16077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/d6d44e8d794d8bceb6993c00fcedc95964fba961\"\u003e\u003ccode\u003ed6d44e8\u003c/code\u003e\u003c/a\u003e feat(babel-jest): support collecting coverage from .mts, .cts (and other) fil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a3ab83991bd52b0dc13368d9b2010fe63be59fae\"\u003e\u003ccode\u003ea3ab839\u003c/code\u003e\u003c/a\u003e chore(deps): update babel monorepo to v8.0.0-rc.4 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest/issues/15976\"\u003e#15976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/487f4e86abd0ccbbd8b24111b5699979d40a2731\"\u003e\u003ccode\u003e487f4e8\u003c/code\u003e\u003c/a\u003e chore: remove unused ignore comment (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest/issues/16069\"\u003e#16069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.1/packages/babel-jest\"\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/lichtblick-suite/lichtblick/pull/1124","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/lichtblick-suite%2Flichtblick/issues/1124","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1124/packages"}},{"old_version":"30.3.0","new_version":"30.4.2","update_type":"minor","path":null,"pr_created_at":"2026-06-01T01:44:03.000Z","version_change":"30.3.0 → 30.4.2","issue":{"uuid":"4559740506","node_id":"PR_kwDOCAm2rc7hMPHv","number":2001,"state":"open","title":"chore(deps): bump the jest group with 2 updates","user":"dependabot[bot]","labels":["dependencies","minor"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T01:44:03.000Z","updated_at":"2026-06-01T01:47:11.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"jest","update_count":2,"packages":[{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-jsdom","old_version":"30.3.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the jest group with 2 updates: [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) and [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom).\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 `jest-environment-jsdom` from 30.3.0 to 30.4.1\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-environment-jsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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\u003ch2\u003eFixes\u003c/h2\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\u003c/ul\u003e\n\u003c!-- 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-environment-jsdom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ccode\u003e[jest-reporters, jest-runner, jest-runtime, jest-transform]\u003c/code\u003e Fix coverage report not showing correct code coverage when using \u003ccode\u003eprojects\u003c/code\u003e config option (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16140\"\u003e#16140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Resolve \u003ccode\u003eexpect\u003c/code\u003e and \u003ccode\u003e@jest/expect\u003c/code\u003e from the internal module registry so test-file imports share the same \u003ccode\u003eJestAssertionError\u003c/code\u003e as the global \u003ccode\u003eexpect\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16130\"\u003e#16130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Improve CJS-from-ESM interop: \u003ccode\u003e__esModule\u003c/code\u003e/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Load \u003ccode\u003e.js\u003c/code\u003e files with ESM syntax but no \u003ccode\u003e\u0026quot;type\u0026quot;:\u0026quot;module\u0026quot;\u003c/code\u003e marker as native ESM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Extend the \u003ccode\u003e.js\u003c/code\u003e-with-ESM-syntax fallback to \u003ccode\u003erequire()\u003c/code\u003e on Node v24.9+ - falls back to \u003ccode\u003erequire(esm)\u003c/code\u003e when the CJS parser rejects ESM syntax (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16078\"\u003e#16078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix deadlocks and double-evaluation in concurrent ESM and wasm imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\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/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\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.1/packages/jest-environment-jsdom\"\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/RedHatInsights/insights-advisor-frontend/pull/2001","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedHatInsights%2Finsights-advisor-frontend/issues/2001","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2001/packages"}},{"old_version":"30.2.0","new_version":"30.4.2","update_type":"minor","path":null,"pr_created_at":"2026-06-01T01:12:51.000Z","version_change":"30.2.0 → 30.4.2","issue":{"uuid":"4559646532","node_id":"PR_kwDOJGOvU87hL8m3","number":42,"state":"open","title":"Bump the actions-deps group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T01:12:51.000Z","updated_at":"2026-06-01T01:12:52.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"actions-deps","update_count":11,"packages":[{"name":"@actions/core","old_version":"3.0.0","new_version":"3.0.1","repository_url":"https://github.com/actions/toolkit"},{"name":"@actions/github","old_version":"9.0.0","new_version":"9.1.1","repository_url":"https://github.com/actions/toolkit"},{"name":"js-yaml","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"minimatch","old_version":"5.1.2","new_version":"10.2.5","repository_url":"https://github.com/isaacs/minimatch"},{"name":"zod","old_version":"4.3.6","new_version":"4.4.3","repository_url":"https://github.com/colinhacks/zod"},{"name":"@types/minimatch","old_version":"5.1.2","new_version":"6.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/node","old_version":"25.2.3","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"jest","old_version":"30.2.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"ts-jest","old_version":"29.4.6","new_version":"29.4.11","repository_url":"https://github.com/kulshekhar/ts-jest"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the actions-deps group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) | `3.0.0` | `3.0.1` |\n| [@actions/github](https://github.com/actions/toolkit/tree/HEAD/packages/github) | `9.0.0` | `9.1.1` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `4.1.1` | `4.2.0` |\n| [minimatch](https://github.com/isaacs/minimatch) | `5.1.2` | `10.2.5` |\n| [zod](https://github.com/colinhacks/zod) | `4.3.6` | `4.4.3` |\n| [@types/minimatch](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/minimatch) | `5.1.2` | `6.0.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.2.3` | `25.9.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.2.0` | `30.4.2` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [ts-jest](https://github.com/kulshekhar/ts-jest) | `29.4.6` | `29.4.11` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n\n\nUpdates `@actions/core` from 3.0.0 to 3.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md\"\u003e@​actions/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump \u003ccode\u003eundici\u003c/code\u003e from \u003ccode\u003e6.23.0\u003c/code\u003e to \u003ccode\u003e6.24.1\u003c/code\u003e \u003ca href=\"https://redirect.github.com/actions/toolkit/pull/2348\"\u003e#2348\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\u003eSee full diff in \u003ca href=\"https://github.com/actions/toolkit/commits/HEAD/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@actions/github` from 9.0.0 to 9.1.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/actions/toolkit/blob/main/packages/github/RELEASES.md\"\u003e@​actions/github's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e9.1.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump \u003ccode\u003eundici\u003c/code\u003e from \u003ccode\u003e6.23.0\u003c/code\u003e to \u003ccode\u003e6.24.0\u003c/code\u003e \u003ca href=\"https://redirect.github.com/actions/toolkit/pull/2346\"\u003e#2346\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e9.1.0\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAppend \u003ccode\u003eactions_orchestration_id\u003c/code\u003e to user-agent when the \u003ccode\u003eACTIONS_ORCHESTRATION_ID\u003c/code\u003e environment variable is set \u003ca href=\"https://redirect.github.com/actions/toolkit/pull/2364\"\u003e#2364\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\u003eSee full diff in \u003ca href=\"https://github.com/actions/toolkit/commits/HEAD/packages/github\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `js-yaml` from 4.1.1 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md\"\u003ejs-yaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.0] - 2026-06-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003edocs/safety.md\u003c/code\u003e with notes about processing untrusted YAML.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxDepth\u003c/code\u003e (100) loader option. Not a problem, but gives a better\nexception instead of RangeError on stack overflow.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003emaxMergeSeqLength\u003c/code\u003e (20) loader option. Not a problem after \u003ccode\u003emerge\u003c/code\u003e fix,\nbut an additional restriction for safety.\u003c/li\u003e\n\u003cli\u003eAdded sourcemaps to \u003ccode\u003edist/\u003c/code\u003e builds.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop resolving numbers with underscores as numeric scalars, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/627\"\u003e#627\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSwitched dev toolchains to Vite / neostandard.\u003c/li\u003e\n\u003cli\u003eUpdated demo.\u003c/li\u003e\n\u003cli\u003eReorganized tests.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edist/\u003c/code\u003e files are no longer kept in the repository.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parsing of properties on the first implicit block mapping key, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/62\"\u003e#62\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix trailing whitespace handling when folding flow scalar lines, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eReject top-level block scalars without content indentation, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/280\"\u003e#280\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnsure numbers survive round-trip, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/737\"\u003e#737\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix test coverage for issue \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/221\"\u003e#221\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix flow scalar trailing whitespace folding, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/307\"\u003e#307\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFix digits in YAML named tag handles.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix potential DoS via quadratic complexity in merge - deduplicate repeated\nelements (makes sense for malformed files \u0026gt; 10K).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.14.2] - 2025-11-15\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackported v4.1.1 fix to v3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nodeca/js-yaml/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minimatch` from 5.1.2 to 10.2.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/minimatch/blob/main/changelog.md\"\u003eminimatch's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003echange log\u003c/h1\u003e\n\u003ch2\u003e10.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ebraceExpandMax\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003emagicalBraces\u003c/code\u003e option for \u003ccode\u003eescape\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003emakeRe\u003c/code\u003e when \u003ccode\u003epartial: true\u003c/code\u003e is set.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003emakeRe\u003c/code\u003e when pattern ends in a final \u003ccode\u003e**\u003c/code\u003e path part.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRequire node 20 or 22 and higher\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo default export, only named exports.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRecursive descent parser for extglob, allowing correct support\nfor arbitrarily nested extglob expressions\u003c/li\u003e\n\u003cli\u003eBump required Node.js version\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eescape()\u003c/code\u003e method\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eunescape()\u003c/code\u003e method\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eMinimatch.hasMagic()\u003c/code\u003e method\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for posix character classes in a unicode-aware way.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ewindowsNoMagicRoot\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eoptimizationLevel\u003c/code\u003e configuration option, and revert the\ndefault back to the 6.2 style minimal optimizations, making the\nadvanced transforms introduced in 7.0 opt-in. Also, process\nprovided file paths in the same way in optimizationLevel:2\nmode, so \u003cem\u003emost\u003c/em\u003e things that matched with optimizationLevel 1 or\n0 \u003cem\u003eshould\u003c/em\u003e match with level 2 as well. However, level 1 is the\ndefault, out of an abundance of caution.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/693c82377d0948401be4c6d3220c9a74132ab112\"\u003e\u003ccode\u003e693c823\u003c/code\u003e\u003c/a\u003e 10.2.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/7953af1fac53267c05e362f036b70de898318faa\"\u003e\u003ccode\u003e7953af1\u003c/code\u003e\u003c/a\u003e do not allow .. to consume drive letter on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/1caf91893b67586255c68e2e513b14ac66785a24\"\u003e\u003ccode\u003e1caf918\u003c/code\u003e\u003c/a\u003e lint and format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/7783ed6670442acb4d455b9b164a1b2a33507a45\"\u003e\u003ccode\u003e7783ed6\u003c/code\u003e\u003c/a\u003e ignore docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/6d9b356cd59372de00e1d5f3b8907a3350b9b8e5\"\u003e\u003ccode\u003e6d9b356\u003c/code\u003e\u003c/a\u003e update deps etc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/c36addb94e33f14254b9ca9017e63ae9c9d80d1d\"\u003e\u003ccode\u003ec36addb\u003c/code\u003e\u003c/a\u003e 10.2.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/26b90027d5ad0c383b5253a4e45d6dc7da282db4\"\u003e\u003ccode\u003e26b9002\u003c/code\u003e\u003c/a\u003e docs: add warning about ReDoS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/3a0d83b6f03a17ebc15361c2faa7110777042aab\"\u003e\u003ccode\u003e3a0d83b\u003c/code\u003e\u003c/a\u003e fix partial matching of globstar patterns\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/ea94840326c3f40522f1b544bd2303024b0eec35\"\u003e\u003ccode\u003eea94840\u003c/code\u003e\u003c/a\u003e 10.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/minimatch/commit/0873fbabc00a86e09f4469386059a71abb136c93\"\u003e\u003ccode\u003e0873fba\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/minimatch/compare/v5.1.2...v10.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zod` from 4.3.6 to 4.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/colinhacks/zod/releases\"\u003ezod's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.4.3\u003c/h2\u003e\n\u003ch2\u003eCommits:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e4c2fa95ce3f3390fbc522324e406b4e9e89b88f9 docs: use Zernio primary wordmark for gold sponsor logo\u003c/li\u003e\n\u003cli\u003e2aeec83eb135e3a83756e973ef44845fc5a455d2 docs: prune lapsed gold sponsors and rebalance logo sizing\u003c/li\u003e\n\u003cli\u003e7391be88ac1ee5cd02057f5ccc012a1f5df4efd0 docs: prune lapsed silver/bronze sponsors and add active ones\u003c/li\u003e\n\u003cli\u003e2c703322a21b4e2b12f33f49ea8430c451a68b4f docs: normalize bronze sponsor logos to github avatar pattern\u003c/li\u003e\n\u003cli\u003e9195250cab0e7950efe39c3926d6c203b4b0a170 docs: remove Mintlify from bronze sponsors (churned)\u003c/li\u003e\n\u003cli\u003eb8dffe9e62f17e6571e6249d05cc5102b54d94e4 docs: remove Numeric and Speakeasy (2+ missed monthly cycles)\u003c/li\u003e\n\u003cli\u003e1cab69383fcdeae2a366d5e2a2fc4d8fc765d168 fix(v4): restore catch handling for absent object keys (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/5937\"\u003e#5937\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/5939\"\u003e#5939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec2be4f819064eed62c7c350a2d399b5faecd15f8 fix(v4): generalize optin/fallback to transform; restore preprocess on absent keys (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/5941\"\u003e#5941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ef3c9ec03ba7a28ae72d25cc295f38674bee0f559 4.4.3\u003c/li\u003e\n\u003cli\u003e1fb56a5c18c27102dbc92260a4007c7732a0ccca docs: document release procedure in AGENTS.md\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.4.2\u003c/h2\u003e\n\u003ch2\u003eCommits:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e0c62df0ea19fd05abdf90473e9eef7eea530fab2 Clean up docs navigation and stale labels (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/5901\"\u003e#5901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e20cc794895cc8604fe0c87d83a5d1c3f89fad0ac chore: add security policy and refresh tooling deps\u003c/li\u003e\n\u003cli\u003e6fbe07b0177efdd1bf1c0b05160e70d7a0702337 fix(docs): heading anchor links now include the hash so it doesnt scoll all the way up, follows navbar logic (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/5791\"\u003e#5791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e4bbed1b1c73eca4ce9e59b1189ed236aa6c8b5bd Tighten discriminated union option typing\u003c/li\u003e\n\u003cli\u003ebbac3e567e7fccfaaf7cdc97f1ce30c295e2c908 Update PR guidance for agents\u003c/li\u003e\n\u003cli\u003ecf0dc942a32805c292fff59ade20a7ace980735a Merge remote-tracking branch 'origin/main' into fix-discriminated-union-key-constraint\u003c/li\u003e\n\u003cli\u003e292c894a5fd2aa42e527900b83d8d7a3009a709c docs: add Zernio gold sponsor\u003c/li\u003e\n\u003cli\u003e1fc9f311c28dcf80d0bb5a36b177086cbc3d8eca docs: document codec inversion\u003c/li\u003e\n\u003cli\u003e1373c85da9aeff704a9762d27bc58699618aefb7 docs: remove AI disclosure guidance\u003c/li\u003e\n\u003cli\u003ee20d02b473c08e3a4e557bc610b1b5fac079b649 chore: ignore triage notes\u003c/li\u003e\n\u003cli\u003ee58ea4d91b1dfe8194b73508203213cbc7e9c936 docs: test Zod Mini tab code heights\u003c/li\u003e\n\u003cli\u003e905761a5d127e8d5dd2ebb3bc88c75cb0b8149ff docs: document preprocess input type narrowing\u003c/li\u003e\n\u003cli\u003ebf64bac850d4dee2b7dde7e64909d5d796d32043 chore: tighten test guidance in AGENTS.md\u003c/li\u003e\n\u003cli\u003e8ec4e73f4c4693b6361ad591be40fb41eb8a9f95 chore: update play.ts scratch\u003c/li\u003e\n\u003cli\u003e02c2baf7d0d615872fa4528a8020603b71211702 Make z.preprocess defer optionality to inner schema (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/5929\"\u003e#5929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e88015df8e25c44fb5385eb3ef28935119cd5edea fix(docs): drop deprecated \u003ccode\u003ebaseUrl\u003c/code\u003e from tsconfig\u003c/li\u003e\n\u003cli\u003ec59d4474e3b4cad1b323462186cf607178ce8267 4.4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.4.1\u003c/h2\u003e\n\u003ch2\u003eCommits:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e481f7be4238c83ed58183f921b2646f340a91c6a ci: gate release publishing on full test workflow\u003c/li\u003e\n\u003cli\u003e95ccab423aec720b2523c3a64cdc7e3204537cc7 test(v3): restore optional undefined expectations\u003c/li\u003e\n\u003cli\u003ecede2c63739a5823d6aa5093d291e9a111da943d fix(v4): reject tuple holes before required defaults (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/5900\"\u003e#5900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eedd0bf0f5ada4a8dc581c259407d7bbad0a71ea7 release: 4.4.1\u003c/li\u003e\n\u003cli\u003e180d83d1dbe6a59260710cc8637a3dea2281ee56 docs: remove Jazz featured sponsor\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.4.0\u003c/h2\u003e\n\u003ch2\u003e4.4.0\u003c/h2\u003e\n\u003cp\u003eThis is a minor release with a wide set of correctness and soundness fixes. Some fixes intentionally make Zod stricter, so code that depended on previously accepted invalid or ambiguous inputs may need small updates.\u003c/p\u003e\n\u003ch2\u003ePotentially breaking bug fixes\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/1fb56a5c18c27102dbc92260a4007c7732a0ccca\"\u003e\u003ccode\u003e1fb56a5\u003c/code\u003e\u003c/a\u003e docs: document release procedure in AGENTS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/f3c9ec03ba7a28ae72d25cc295f38674bee0f559\"\u003e\u003ccode\u003ef3c9ec0\u003c/code\u003e\u003c/a\u003e 4.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/c2be4f819064eed62c7c350a2d399b5faecd15f8\"\u003e\u003ccode\u003ec2be4f8\u003c/code\u003e\u003c/a\u003e fix(v4): generalize optin/fallback to transform; restore preprocess on absent...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/1cab69383fcdeae2a366d5e2a2fc4d8fc765d168\"\u003e\u003ccode\u003e1cab693\u003c/code\u003e\u003c/a\u003e fix(v4): restore catch handling for absent object keys (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/5937\"\u003e#5937\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/5939\"\u003e#5939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/b8dffe9e62f17e6571e6249d05cc5102b54d94e4\"\u003e\u003ccode\u003eb8dffe9\u003c/code\u003e\u003c/a\u003e docs: remove Numeric and Speakeasy (2+ missed monthly cycles)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/9195250cab0e7950efe39c3926d6c203b4b0a170\"\u003e\u003ccode\u003e9195250\u003c/code\u003e\u003c/a\u003e docs: remove Mintlify from bronze sponsors (churned)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/2c703322a21b4e2b12f33f49ea8430c451a68b4f\"\u003e\u003ccode\u003e2c70332\u003c/code\u003e\u003c/a\u003e docs: normalize bronze sponsor logos to github avatar pattern\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/7391be88ac1ee5cd02057f5ccc012a1f5df4efd0\"\u003e\u003ccode\u003e7391be8\u003c/code\u003e\u003c/a\u003e docs: prune lapsed silver/bronze sponsors and add active ones\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/2aeec83eb135e3a83756e973ef44845fc5a455d2\"\u003e\u003ccode\u003e2aeec83\u003c/code\u003e\u003c/a\u003e docs: prune lapsed gold sponsors and rebalance logo sizing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/4c2fa95ce3f3390fbc522324e406b4e9e89b88f9\"\u003e\u003ccode\u003e4c2fa95\u003c/code\u003e\u003c/a\u003e docs: use Zernio primary wordmark for gold sponsor logo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/colinhacks/zod/compare/v4.3.6...v4.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for zod since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/minimatch` from 5.1.2 to 6.0.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/minimatch\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.2.3 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.2.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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/96c53d30660e51bf76ed2cd1ecc2334c399ac31c\"\u003e\u003ccode\u003e96c53d3\u003c/code\u003e\u003c/a\u003e feat(jest-config): add \u003ccode\u003edefineConfig\u003c/code\u003e and \u003ccode\u003emergeConfig\u003c/code\u003e functions (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15844\"\u003e#15844\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 `prettier` from 3.8.1 to 3.8.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.8.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003eprettier/prettier#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.8.3/CHANGELOG.md#383\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Angular v21.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md#382\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.8.3\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.2...3.8.3\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003e#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"scss\"\u003e\u003ccode\u003e// Input\n$value: if(sass(false): 1; else: -1);\n\u003cp\u003e// Prettier 3.8.2\n$value: if(\nsass(false): 1; else: -1,\n);\u003c/p\u003e\n\u003cp\u003e// Prettier 3.8.3\n$value: if(sass(false): 1; else: -1);\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.8.2\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.1...3.8.2\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eAngular: Support Angular v21.2 (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18722\"\u003e#18722\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19034\"\u003e#19034\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003cp\u003eExhaustive typechecking with \u003ccode\u003e@default never;\u003c/code\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n@switch (foo) {\n  @case (1) {}\n  @default never;\n}\n\u003cp\u003e\u0026lt;!-- Prettier 3.8.1 --\u0026gt;\nSyntaxError: Incomplete block \u0026quot;default never\u0026quot;. If you meant to write the @ character, you should use the \u0026quot;\u0026amp;\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/64\"\u003e#64\u003c/a\u003e;\u0026quot; HTML entity instead. (3:3)\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.8.2 --\u0026gt;\n\u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e (foo) {\n\u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (1) {}\n\u003ca href=\"https://github.com/default\"\u003e\u003ccode\u003e@​default\u003c/code\u003e\u003c/a\u003e never;\n}\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003earrow function\u003c/code\u003e and \u003ccode\u003einstanceof\u003c/code\u003e expressions.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/d7108a79ec745c04292aabf22c4c1adbd690b191\"\u003e\u003ccode\u003ed7108a7\u003c/code\u003e\u003c/a\u003e Release 3.8.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/177f90898170d363ef64fde663e4d13170688bfe\"\u003e\u003ccode\u003e177f908\u003c/code\u003e\u003c/a\u003e Prevent trailing comma in SCSS \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/18471\"\u003e#18471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/1cd40668c3d6f2f4cf9d87bbc9096d92361b2606\"\u003e\u003ccode\u003e1cd4066\u003c/code\u003e\u003c/a\u003e Release \u003ccode\u003e@​prettier/plugin-oxc\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/a8700e245038cd8cc0cf28ef06ffedbcb3fc2dfc\"\u003e\u003ccode\u003ea8700e2\u003c/code\u003e\u003c/a\u003e Update oxc-parser to v0.125.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/752157c78eca6f0a30e5d5cb513b682c5ecfa01e\"\u003e\u003ccode\u003e752157c\u003c/code\u003e\u003c/a\u003e Fix tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/053fd418e180b12fa2014260212fae831f5fc5ec\"\u003e\u003ccode\u003e053fd41\u003c/code\u003e\u003c/a\u003e Bump Prettier dependency to 3.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/904c6365ec46726fd0e21021c52ae934b7e5abc6\"\u003e\u003ccode\u003e904c636\u003c/code\u003e\u003c/a\u003e Clean changelog_unreleased\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dc1f7fcc508d116cbf1644d69a1f0eb93e40d4a4\"\u003e\u003ccode\u003edc1f7fc\u003c/code\u003e\u003c/a\u003e Update dependents count\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/b31557cf331a02acf83e7e29d1001b070189a0d9\"\u003e\u003ccode\u003eb31557c\u003c/code\u003e\u003c/a\u003e Release 3.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/96bbaeda0525bf758e464aed2f939d739a85c315\"\u003e\u003ccode\u003e96bbaed\u003c/code\u003e\u003c/a\u003e Support Angular v21.2 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/18722\"\u003e#18722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prettier/prettier/compare/3.8.1...3.8.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ts-jest` from 29.4.6 to 29.4.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kulshekhar/ts-jest/releases\"\u003ets-jest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.4.11\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev29.4.10\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev29.4.9\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev29.4.8\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev29.4.7\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md\"\u003ets-jest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/compare/v29.4.10...v29.4.11\"\u003e29.4.11\u003c/a\u003e (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epreserve Bundler on the CJS path under TypeScript \u0026gt;= 6 (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/39418187515f11b6584d35a4e3ddf50231f74936\"\u003e3941818\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/kulshekhar/ts-jest/issues/4198\"\u003e#4198\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/compare/v29.4.9...v29.4.10\"\u003e29.4.10\u003c/a\u003e (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epass \u003ccode\u003eresolutionMode\u003c/code\u003e to \u003ccode\u003ets.resolveModuleName\u003c/code\u003e for hybrid module support (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/b557a85f85c3fd34523ec3a15293afbdc9dea83c\"\u003eb557a85\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erebuild \u003ccode\u003eProgram\u003c/code\u003e when consecutive compiles need different module kinds (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/a82a2b32c4987a5249fd5284283117dd2fa3be47\"\u003ea82a2b3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/kulshekhar/ts-jest/issues/4774\"\u003e#4774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erespect tsconfig \u003ccode\u003emoduleResolution\u003c/code\u003e instead of forcing \u003ccode\u003eNode10\u003c/code\u003e (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/1bffffc667557c173ae0c1f93dd436920775dac4\"\u003e1bffffc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etransformer:\u003c/strong\u003e transpile \u003ccode\u003emjs\u003c/code\u003e files from \u003ccode\u003enode_modules\u003c/code\u003e for CJS mode (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/96d025dd912ea2bceb18b67d2d509ada7a756d9d\"\u003e96d025d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etransformer:\u003c/strong\u003e use a consistent comparator in hoist-jest sortStatements (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/8a8fd2fb8446655bba18367db9306a1089490e62\"\u003e8a8fd2f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/compare/v29.4.8...v29.4.9\"\u003e29.4.9\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003euse correct registry for npm OIDC trusted publishing (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/f8a9cc9892\"\u003ef8a9cc9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/compare/v29.4.7...v29.4.8\"\u003e29.4.8\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ewrong published assets\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/compare/v29.4.6...v29.4.7\"\u003e29.4.7\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport TypeScript v6 (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/eda517d226389317d99572887d3c1aa93c81be87\"\u003eeda517d\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/kulshekhar/ts-jest/commit/bff2d64917caa8150701829b152c4d193614d997\"\u003e\u003ccode\u003ebff2d64\u003c/code\u003e\u003c/a\u003e chore(release): 29.4.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/39418187515f11b6584d35a4e3ddf50231f74936\"\u003e\u003ccode\u003e3941818\u003c/code\u003e\u003c/a\u003e fix: preserve Bundler on the CJS path under TypeScript \u0026gt;= 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/efb3c2f84d3583db0787982a18425d99edadfe25\"\u003e\u003ccode\u003eefb3c2f\u003c/code\u003e\u003c/a\u003e build(deps): bump webpack-dev-server from 5.2.2 to 5.2.4 in /website\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/4e46fad6c1c4d5be5d6666c64bf65a3af2f1519e\"\u003e\u003ccode\u003e4e46fad\u003c/code\u003e\u003c/a\u003e ci: refactor release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/96b3ac0cc0586d5379c87308f797a9acf0e4a675\"\u003e\u003ccode\u003e96b3ac0\u003c/code\u003e\u003c/a\u003e chore(release): 29.4.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/e98ec6452548a61285d55c00c7f6b1fd9858d699\"\u003e\u003ccode\u003ee98ec64\u003c/code\u003e\u003c/a\u003e build(deps): update github/codeql-action digest to 458d36d\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/21ac58f60f93164640433250fb4ca8b671aa8587\"\u003e\u003ccode\u003e21ac58f\u003c/code\u003e\u003c/a\u003e build(deps): update jest packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/0fdc96d293c6ce047bf61831b721218623882e78\"\u003e\u003ccode\u003e0fdc96d\u003c/code\u003e\u003c/a\u003e build(deps): update dependency semver to ^7.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/4b95551190235a65eac176625c72e220af066efe\"\u003e\u003ccode\u003e4b95551\u003c/code\u003e\u003c/a\u003e build(deps): update dependency jest-environment-jsdom to ^30.4.1 (\u003ca href=\"https://redirect.github.com/kulshekhar/ts-jest/issues/5311\"\u003e#5311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/7b884476f7891e2b9a8637e2f6bb2e09b7efcfbd\"\u003e\u003ccode\u003e7b88447\u003c/code\u003e\u003c/a\u003e build(deps): update eslint packages to ^8.59.3 (\u003ca href=\"https://redirect.github.com/kulshekhar/ts-jest/issues/5310\"\u003e#5310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/kulshekhar/ts-jest/compare/v29.4.6...v29.4.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for ts-jest since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typescript` from 5.9.3 to 6.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/TypeScript/releases\"\u003etypescript's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTypeScript 6.0.3\u003c/h2\u003e\n\u003cp\u003eFor release notes, check out the \u003ca href=\"https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/\"\u003erelease announcement blog post\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.0%22\"\u003efixed issues query for TypeScript 6.0.0 (Beta)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.1%22\"\u003efixed issues query for TypeScript 6.0.1 (RC)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.2%22\"\u003efixed issues query for TypeScript 6.0.2 (Stable)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.3%22\"\u003efixed issues query for TypeScript 6.0.3 (Stable)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDownloads are available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/typescript\"\u003enpm\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTypeScript 6.0\u003c/h2\u003e\n\u003cp\u003eFor release notes, check out the \u003ca href=\"https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/\"\u003erelease announcement blog post\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.0%22\"\u003efixed issues query for TypeScript 6.0.0 (Beta)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.1%22\"\u003efixed issues query for TypeScript 6.0.1 (RC)\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.2%22\"\u003efixed issues query for TypeScript 6.0.2 (Stable)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDownloads are available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/typescript\"\u003enpm\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eTypeScript 6.0 Beta\u003c/h2\u003e\n\u003cp\u003eFor release notes, check out the \u003ca href=\"https://devblogs.microsoft.com/typescript/announcing-typescript-6-0-beta/\"\u003erelease announcement\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\u0026amp;q=milestone%3A%22TypeScript+6.0.0%22+is%3Aclosed+\"\u003efixed issues query for Typescript 6.0.0 (Beta)\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDownloads are available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/typescript\"\u003enpm\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/050880ce59e30b356b686bd3144efe24f875ebc8\"\u003e\u003ccode\u003e050880c\u003c/code\u003e\u003c/a\u003e Bump version to 6.0.3 and LKG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/eeae9dd0f17aa494658e4ec079dc002e02dd625e\"\u003e\u003ccode\u003eeeae9dd\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63401\"\u003e#63401\u003c/a\u003e (Also check package name validity in...) into release-6.0 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/ad1c695fada682764bb510dd680e8f175ae54094\"\u003e\u003ccode\u003ead1c695\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63368\"\u003e#63368\u003c/a\u003e (Harden ATA package name filtering) into release-6.0 (\u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63372\"\u003e#63372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/0725fb4664a1d5ec94040b6d94db77dc1cc354e4\"\u003e\u003ccode\u003e0725fb4\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63310\"\u003e#63310\u003c/a\u003e (Mark class property initializers as...) into release-6.0 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/607a22a90d1a5a1b507ce01bb8cd7ec020f954e7\"\u003e\u003ccode\u003e607a22a\u003c/code\u003e\u003c/a\u003e Bump version to 6.0.2 and LKG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/9e72ab71b575e26795d0d9eac3d2d9957beed17c\"\u003e\u003ccode\u003e9e72ab7\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63239\"\u003e#63239\u003c/a\u003e (Fix missing lib files in reused pro...) into release-6.0 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/35ff23d4b0cc715691323ebe54f523c16fe6e3a5\"\u003e\u003ccode\u003e35ff23d\u003c/code\u003e\u003c/a\u003e 🤖 Pick PR \u003ca href=\"https://redirect.github.com/microsoft/TypeScript/issues/63163\"\u003e#63163\u003c/a\u003e (Port anyFunctionType subtype fix an...) into release-6.0 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/e175b69138038953d4e85bf6529afe88d56d8fbe\"\u003e\u003ccode\u003ee175b69\u003c/code\u003e\u003c/a\u003e Bump version to 6.0.1-rc and LKG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/af4caac0e91e838c46b3fdc1c9afacad68800f89\"\u003e\u003ccode\u003eaf4caac\u003c/code\u003e\u003c/a\u003e Update LKG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/TypeScript/commit/8efd7e8544d8b35c9b33bca44a3124aa2613bf09\"\u003e\u003ccode\u003e8efd7e8\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/main' into release-6.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/TypeScript/compare/v5.9.3...v6.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\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/actions-marketplace-validations/contractify_label-and-assign/pull/42","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/actions-marketplace-validations%2Fcontractify_label-and-assign/issues/42","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/42/packages"}},{"old_version":"30.3.0","new_version":"30.4.2","update_type":"minor","path":"the testing group","pr_created_at":"2026-06-01T00:53:07.000Z","version_change":"30.3.0 → 30.4.2","issue":{"uuid":"4559587253","node_id":"PR_kwDOQuIUVs7hLw_7","number":178,"state":"open","title":"chore(deps-dev): bump jest from 30.3.0 to 30.4.2 in the testing group","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T00:53:07.000Z","updated_at":"2026-06-01T00:53:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"}],"path":"the testing group","ecosystem":"npm"},"body":"Bumps the testing group with 1 update: [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest).\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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jest\u0026package-manager=npm_and_yarn\u0026previous-version=30.3.0\u0026new-version=30.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \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/lapease32/walking-rpg-app/pull/178","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/lapease32%2Fwalking-rpg-app/issues/178","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/178/packages"}},{"old_version":"30.2.0","new_version":"30.4.2","update_type":"minor","path":null,"pr_created_at":"2026-06-01T00:13:41.000Z","version_change":"30.2.0 → 30.4.2","issue":{"uuid":"4559469166","node_id":"PR_kwDOLdyd487hLZQl","number":113,"state":"open","title":"chore(deps-dev): bump the dev-dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-01T00:13:41.000Z","updated_at":"2026-06-01T00:13:43.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"dev-dependencies","update_count":12,"packages":[{"name":"@matteoh2o1999/github-actions-jest-reporter","old_version":"4.0.0","new_version":"4.1.0","repository_url":"https://github.com/MatteoH2O1999/github-actions-jest-reporter"},{"name":"@stylistic/eslint-plugin","old_version":"5.7.1","new_version":"5.10.0","repository_url":"https://github.com/eslint-stylistic/eslint-stylistic"},{"name":"@types/node","old_version":"25.2.1","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/parser","old_version":"8.54.0","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"axios","old_version":"1.13.4","new_version":"1.16.1","repository_url":"https://github.com/axios/axios"},{"name":"eslint","old_version":"9.39.2","new_version":"10.4.1","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-jest","old_version":"29.12.2","new_version":"29.15.2","repository_url":"https://github.com/jest-community/eslint-plugin-jest"},{"name":"jest","old_version":"30.2.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"js-yaml","old_version":"4.1.1","new_version":"4.2.0","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"ts-jest","old_version":"29.4.6","new_version":"29.4.11","repository_url":"https://github.com/kulshekhar/ts-jest"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@matteoh2o1999/github-actions-jest-reporter](https://github.com/MatteoH2O1999/github-actions-jest-reporter) | `4.0.0` | `4.1.0` |\n| [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin) | `5.7.1` | `5.10.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.2.1` | `25.9.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.54.0` | `8.60.0` |\n| [axios](https://github.com/axios/axios) | `1.13.4` | `1.16.1` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.2` | `10.4.1` |\n| [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) | `29.12.2` | `29.15.2` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.2.0` | `30.4.2` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `4.1.1` | `4.2.0` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [ts-jest](https://github.com/kulshekhar/ts-jest) | `29.4.6` | `29.4.11` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n\n\nUpdates `@matteoh2o1999/github-actions-jest-reporter` from 4.0.0 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/releases\"\u003e@​matteoh2o1999/github-actions-jest-reporter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps-dev): bump eslint from 9.33.0 to 9.34.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/409\"\u003eMatteoH2O1999/github-actions-jest-reporter#409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e from 8.40.0 to 8.41.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/410\"\u003eMatteoH2O1999/github-actions-jest-reporter#410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 5 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/418\"\u003eMatteoH2O1999/github-actions-jest-reporter#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): bump actions/setup-node from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/415\"\u003eMatteoH2O1999/github-actions-jest-reporter#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 5 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/421\"\u003eMatteoH2O1999/github-actions-jest-reporter#421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e from 8.44.0 to 8.44.1 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/422\"\u003eMatteoH2O1999/github-actions-jest-reporter#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/426\"\u003eMatteoH2O1999/github-actions-jest-reporter#426\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): bump jest-util from 30.0.5 to 30.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/424\"\u003eMatteoH2O1999/github-actions-jest-reporter#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 24.6.1 to 24.6.2 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/427\"\u003eMatteoH2O1999/github-actions-jest-reporter#427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/431\"\u003eMatteoH2O1999/github-actions-jest-reporter#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): bump github/codeql-action from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/430\"\u003eMatteoH2O1999/github-actions-jest-reporter#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): bump actions/setup-node from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/432\"\u003eMatteoH2O1999/github-actions-jest-reporter#432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/433\"\u003eMatteoH2O1999/github-actions-jest-reporter#433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/435\"\u003eMatteoH2O1999/github-actions-jest-reporter#435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/438\"\u003eMatteoH2O1999/github-actions-jest-reporter#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): bump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/443\"\u003eMatteoH2O1999/github-actions-jest-reporter#443\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 5 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/442\"\u003eMatteoH2O1999/github-actions-jest-reporter#442\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/445\"\u003eMatteoH2O1999/github-actions-jest-reporter#445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/448\"\u003eMatteoH2O1999/github-actions-jest-reporter#448\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): bump \u003ccode\u003e@​actions/core\u003c/code\u003e from 1.11.1 to 2.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/452\"\u003eMatteoH2O1999/github-actions-jest-reporter#452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/450\"\u003eMatteoH2O1999/github-actions-jest-reporter#450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): bump jest from 30.0.5 to 30.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/423\"\u003eMatteoH2O1999/github-actions-jest-reporter#423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/453\"\u003eMatteoH2O1999/github-actions-jest-reporter#453\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e from 8.49.0 to 8.50.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/454\"\u003eMatteoH2O1999/github-actions-jest-reporter#454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 25.0.2 to 25.0.3 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/455\"\u003eMatteoH2O1999/github-actions-jest-reporter#455\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump eslint-plugin-jest from 29.5.0 to 29.6.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/456\"\u003eMatteoH2O1999/github-actions-jest-reporter#456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/457\"\u003eMatteoH2O1999/github-actions-jest-reporter#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump eslint-plugin-jest from 29.10.1 to 29.11.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/458\"\u003eMatteoH2O1999/github-actions-jest-reporter#458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/460\"\u003eMatteoH2O1999/github-actions-jest-reporter#460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump eslint-plugin-jest from 29.11.2 to 29.12.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/461\"\u003eMatteoH2O1999/github-actions-jest-reporter#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump globals from 16.5.0 to 17.0.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/462\"\u003eMatteoH2O1999/github-actions-jest-reporter#462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump eslint-plugin-jest from 29.12.0 to 29.12.1 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/463\"\u003eMatteoH2O1999/github-actions-jest-reporter#463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e from 8.51.0 to 8.52.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/464\"\u003eMatteoH2O1999/github-actions-jest-reporter#464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): bump \u003ccode\u003e@​actions/core\u003c/code\u003e from 2.0.1 to 2.0.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/465\"\u003eMatteoH2O1999/github-actions-jest-reporter#465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 4 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/467\"\u003eMatteoH2O1999/github-actions-jest-reporter#467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 25.0.7 to 25.0.8 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/468\"\u003eMatteoH2O1999/github-actions-jest-reporter#468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/470\"\u003eMatteoH2O1999/github-actions-jest-reporter#470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e from 8.53.0 to 8.53.1 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/471\"\u003eMatteoH2O1999/github-actions-jest-reporter#471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/472\"\u003eMatteoH2O1999/github-actions-jest-reporter#472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/473\"\u003eMatteoH2O1999/github-actions-jest-reporter#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e from 8.53.1 to 8.54.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/474\"\u003eMatteoH2O1999/github-actions-jest-reporter#474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump globals from 17.1.0 to 17.2.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/475\"\u003eMatteoH2O1999/github-actions-jest-reporter#475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): bump \u003ccode\u003e@​actions/core\u003c/code\u003e from 2.0.2 to 2.0.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/476\"\u003eMatteoH2O1999/github-actions-jest-reporter#476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 25.0.10 to 25.1.0 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/477\"\u003eMatteoH2O1999/github-actions-jest-reporter#477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the dev-dependencies group with 3 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/479\"\u003eMatteoH2O1999/github-actions-jest-reporter#479\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump eslint-plugin-jest from 29.12.1 to 29.12.2 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/480\"\u003eMatteoH2O1999/github-actions-jest-reporter#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 25.2.0 to 25.2.1 in the dev-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/MatteoH2O1999/github-actions-jest-reporter/pull/481\"\u003eMatteoH2O1999/github-actions-jest-reporter#481\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/MatteoH2O1999/github-actions-jest-reporter/commit/f77dfb122902fa07df3bc9fc76c70a2ecfeb7fab\"\u003e\u003ccode\u003ef77dfb1\u003c/code\u003e\u003c/a\u003e Bump package version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/commit/0c1d5aba48127da905d2a7a0ad95e4bdd5df60ad\"\u003e\u003ccode\u003e0c1d5ab\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e in the dev-dependencies group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/commit/96c247813cef63929b292c1b4e64d61ae30992d2\"\u003e\u003ccode\u003e96c2478\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump eslint-plugin-jest in the dev-dependencies group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/commit/681d57e5b3e46ca5ee6fc186533064fe2c0fa601\"\u003e\u003ccode\u003e681d57e\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the dev-dependencies group with 3 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/commit/9562c1725b0e8437d9f69fe16f122900e952200b\"\u003e\u003ccode\u003e9562c17\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e in the dev-dependencies group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/commit/228c032a8198aaaca9037c84238f46c7bb9b8a53\"\u003e\u003ccode\u003e228c032\u003c/code\u003e\u003c/a\u003e fix(deps): bump \u003ccode\u003e@​actions/core\u003c/code\u003e from 2.0.2 to 2.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/commit/1cbff368d8210c5b32e1e3cebbb8d1403afb854c\"\u003e\u003ccode\u003e1cbff36\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump globals in the dev-dependencies group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/commit/a1b9dc01a8e643fb5f3916d767405349808b5b3a\"\u003e\u003ccode\u003ea1b9dc0\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/commit/5d85fe158f7143433ca5f40a7cd5c257653d8a78\"\u003e\u003ccode\u003e5d85fe1\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the dev-dependencies group with 2 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/commit/524384614584d55abdcc3c12982b3c1bf4fc61a8\"\u003e\u003ccode\u003e5243846\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the dev-dependencies group with 2 updates\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/MatteoH2O1999/github-actions-jest-reporter/compare/v4.0.0...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@stylistic/eslint-plugin` from 5.7.1 to 5.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/releases\"\u003e@​stylistic/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.10.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/compare/v5.9.0...v5.10.0\"\u003e5.10.0\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elist-style:\u003c/strong\u003e allow 'off' in overrides (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1144\"\u003e#1144\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/c43bd4b14ebb4222b3f4e151967aac5e82bd8290\"\u003ec43bd4b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epadding-line-between-statements:\u003c/strong\u003e introduce \u003ccode\u003elineMode\u003c/code\u003e for selector matcher (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1143\"\u003e#1143\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/1ebd6d8e59bad0e5330e560df724f29455b92adb\"\u003e1ebd6d8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Related\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e bump actions/download-artifact from 7 to 8 (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1153\"\u003e#1153\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/78ca032c765110952b63a86ca7177a28597371c9\"\u003e78ca032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e bump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1154\"\u003e#1154\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/01f7b17856549b681589a97480f6014ab39f21f3\"\u003e01f7b17\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eno export all for \u003ccode\u003e@​typescript-eslint/utils\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1150\"\u003e#1150\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/258f9d8f6a171fcdbdc994768fb08938fafc4470\"\u003e258f9d8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.9.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/compare/v5.8.0...v5.9.0\"\u003e5.9.0\u003c/a\u003e (2026-02-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-trailing-spaces:\u003c/strong\u003e support more file types (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1138\"\u003e#1138\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/501e8383bd9b27ff3e8d5e66c43e4ac7877fc862\"\u003e501e838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epadding-line-between-statements:\u003c/strong\u003e support selector-based statement matchers (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1134\"\u003e#1134\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/8f5cc9ee69b58de1dc00a9a487a1461de2d3494b\"\u003e8f5cc9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport ESLint 10 (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1066\"\u003e#1066\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/5d99706e7c156af617a7ed935bd9bbe87630738a\"\u003e5d99706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate deps (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1141\"\u003e#1141\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/f29fcff09f86ac7d9feff8a9f954bbeed32e91db\"\u003ef29fcff\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecomma-dangle:\u003c/strong\u003e check tsx file correctly (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1127\"\u003e#1127\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/271da423f8d47e264e5a9e1ded444eaa7b208c43\"\u003e271da42\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecomma-dangle:\u003c/strong\u003e prevent crash when linting non-js files (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1140\"\u003e#1140\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/4a96eae4e31998904bc3c2b5c0719920a7984f98\"\u003e4a96eae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eindent:\u003c/strong\u003e ignore when source code is not ESTree (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1139\"\u003e#1139\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/9e7f42264b9462e21c269568e506977d5abac8ed\"\u003e9e7f422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-extra-parens:\u003c/strong\u003e don't report jsdoc type assertion by default (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1100\"\u003e#1100\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/cfb62964a3daf488903ee33c88b23bade7009cac\"\u003ecfb6296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eobject-curly-spacing:\u003c/strong\u003e correctly handle object patterns with type annotations (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1129\"\u003e#1129\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/5aaaec61ed9f4f7cc4fb431e5628f5d67e48be3c\"\u003e5aaaec6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elines-around-comment:\u003c/strong\u003e improve extensibility of allow boundary checks (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1136\"\u003e#1136\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/18b961eacd7a37dc772a3669e236e60773965d9d\"\u003e18b961e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-extra-parens:\u003c/strong\u003e simplify fixer (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1133\"\u003e#1133\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/3504e1fa3901f68d7d028465a1c0f779077db7eb\"\u003e3504e1f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eon-var-declaration-per-line:\u003c/strong\u003e simplify fixer (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1132\"\u003e#1132\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/c827fde7e77e2a66b0873c41d10bb8e02cb2bf66\"\u003ec827fde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.8.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/compare/v5.7.1...v5.8.0\"\u003e5.8.0\u003c/a\u003e (2026-02-09)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/blob/v5.10.0/CHANGELOG.md\"\u003e@​stylistic/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/compare/v5.9.0...v5.10.0\"\u003e5.10.0\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elist-style:\u003c/strong\u003e allow 'off' in overrides (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1144\"\u003e#1144\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/c43bd4b14ebb4222b3f4e151967aac5e82bd8290\"\u003ec43bd4b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epadding-line-between-statements:\u003c/strong\u003e introduce \u003ccode\u003elineMode\u003c/code\u003e for selector matcher (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1143\"\u003e#1143\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/1ebd6d8e59bad0e5330e560df724f29455b92adb\"\u003e1ebd6d8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Related\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e bump actions/download-artifact from 7 to 8 (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1153\"\u003e#1153\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/78ca032c765110952b63a86ca7177a28597371c9\"\u003e78ca032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e bump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1154\"\u003e#1154\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/01f7b17856549b681589a97480f6014ab39f21f3\"\u003e01f7b17\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eno export all for \u003ccode\u003e@​typescript-eslint/utils\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1150\"\u003e#1150\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/258f9d8f6a171fcdbdc994768fb08938fafc4470\"\u003e258f9d8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/compare/v5.8.0...v5.9.0\"\u003e5.9.0\u003c/a\u003e (2026-02-19)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-trailing-spaces:\u003c/strong\u003e support more file types (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1138\"\u003e#1138\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/501e8383bd9b27ff3e8d5e66c43e4ac7877fc862\"\u003e501e838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epadding-line-between-statements:\u003c/strong\u003e support selector-based statement matchers (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1134\"\u003e#1134\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/8f5cc9ee69b58de1dc00a9a487a1461de2d3494b\"\u003e8f5cc9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport ESLint 10 (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1066\"\u003e#1066\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/5d99706e7c156af617a7ed935bd9bbe87630738a\"\u003e5d99706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate deps (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1141\"\u003e#1141\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/f29fcff09f86ac7d9feff8a9f954bbeed32e91db\"\u003ef29fcff\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecomma-dangle:\u003c/strong\u003e check tsx file correctly (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1127\"\u003e#1127\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/271da423f8d47e264e5a9e1ded444eaa7b208c43\"\u003e271da42\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecomma-dangle:\u003c/strong\u003e prevent crash when linting non-js files (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1140\"\u003e#1140\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/4a96eae4e31998904bc3c2b5c0719920a7984f98\"\u003e4a96eae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eindent:\u003c/strong\u003e ignore when source code is not ESTree (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1139\"\u003e#1139\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/9e7f42264b9462e21c269568e506977d5abac8ed\"\u003e9e7f422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-extra-parens:\u003c/strong\u003e don't report jsdoc type assertion by default (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1100\"\u003e#1100\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/cfb62964a3daf488903ee33c88b23bade7009cac\"\u003ecfb6296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eobject-curly-spacing:\u003c/strong\u003e correctly handle object patterns with type annotations (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1129\"\u003e#1129\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/5aaaec61ed9f4f7cc4fb431e5628f5d67e48be3c\"\u003e5aaaec6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elines-around-comment:\u003c/strong\u003e improve extensibility of allow boundary checks (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1136\"\u003e#1136\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/18b961eacd7a37dc772a3669e236e60773965d9d\"\u003e18b961e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-extra-parens:\u003c/strong\u003e simplify fixer (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1133\"\u003e#1133\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/3504e1fa3901f68d7d028465a1c0f779077db7eb\"\u003e3504e1f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eon-var-declaration-per-line:\u003c/strong\u003e simplify fixer (\u003ca href=\"https://redirect.github.com/eslint-stylistic/eslint-stylistic/issues/1132\"\u003e#1132\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/c827fde7e77e2a66b0873c41d10bb8e02cb2bf66\"\u003ec827fde\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/compare/v5.7.1...v5.8.0\"\u003e5.8.0\u003c/a\u003e (2026-02-09)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/efbb1bc0e5aaedc4695c44a03f46f4fcbbe58712\"\u003e\u003ccode\u003eefbb1bc\u003c/code\u003e\u003c/a\u003e chore: release v5.10.0 (main) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1151\"\u003e#1151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/1ebd6d8e59bad0e5330e560df724f29455b92adb\"\u003e\u003ccode\u003e1ebd6d8\u003c/code\u003e\u003c/a\u003e feat(padding-line-between-statements): introduce \u003ccode\u003elineMode\u003c/code\u003e for selector matc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/c43bd4b14ebb4222b3f4e151967aac5e82bd8290\"\u003e\u003ccode\u003ec43bd4b\u003c/code\u003e\u003c/a\u003e feat(list-style): allow 'off' in overrides (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1144\"\u003e#1144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/95884fc06e342243ea65e0038bac07d94d5708dd\"\u003e\u003ccode\u003e95884fc\u003c/code\u003e\u003c/a\u003e chore: replace \u003ccode\u003eprettier\u003c/code\u003e with \u003ccode\u003eoxfmt\u003c/code\u003e (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1147\"\u003e#1147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/96ce1c7e165ee2a0322afdd7dde9a594ab6dbd70\"\u003e\u003ccode\u003e96ce1c7\u003c/code\u003e\u003c/a\u003e chore: release v5.9.0 (main) (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1131\"\u003e#1131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/5d99706e7c156af617a7ed935bd9bbe87630738a\"\u003e\u003ccode\u003e5d99706\u003c/code\u003e\u003c/a\u003e feat: support ESLint 10 (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1066\"\u003e#1066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/cfb62964a3daf488903ee33c88b23bade7009cac\"\u003e\u003ccode\u003ecfb6296\u003c/code\u003e\u003c/a\u003e fix(no-extra-parens): don't report jsdoc type assertion by default (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1100\"\u003e#1100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/501e8383bd9b27ff3e8d5e66c43e4ac7877fc862\"\u003e\u003ccode\u003e501e838\u003c/code\u003e\u003c/a\u003e feat(no-trailing-spaces): support more file types (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1138\"\u003e#1138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/8f5cc9ee69b58de1dc00a9a487a1461de2d3494b\"\u003e\u003ccode\u003e8f5cc9e\u003c/code\u003e\u003c/a\u003e feat(padding-line-between-statements): support selector-based statement match...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commit/9e7f42264b9462e21c269568e506977d5abac8ed\"\u003e\u003ccode\u003e9e7f422\u003c/code\u003e\u003c/a\u003e fix(indent): ignore when source code is not ESTree (\u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin/issues/1139\"\u003e#1139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint-stylistic/eslint-stylistic/commits/v5.10.0/packages/eslint-plugin\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.2.1 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/parser` from 8.54.0 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.0 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.58.2 (2026-04-13)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/52457932e5507b5ca01e720a541f3f8d01e09b9d\"\u003e\u003ccode\u003e5245793\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ea9ae4f8817873480e3501145059f63e39e8d8a1\"\u003e\u003ccode\u003eea9ae4f\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/90c2803a4c250e0343598d41e973f95e743bf4ce\"\u003e\u003ccode\u003e90c2803\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/be6b49a02d68db9bdc8985e7e9e1598700fda2fa\"\u003e\u003ccode\u003ebe6b49a\u003c/code\u003e\u003c/a\u003e fix: remove tsbuildinfo cache file from published packages (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12187\"\u003e#12187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/5311ed312eadf4e238324f2726ae0b1f3f2206e6\"\u003e\u003ccode\u003e5311ed3\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `axios` from 1.13.4 to 1.16.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/axios/axios/releases\"\u003eaxios's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.16.1 — May 13, 2026\u003c/h2\u003e\n\u003cp\u003eThis release ships a defence-in-depth fix for prototype pollution in \u003ccode\u003eformDataToJSON\u003c/code\u003e, hardens proxy and CI workflows, restores Webpack 4 compatibility for the fetch adapter, and includes several small bug fixes and maintenance improvements.\u003c/p\u003e\n\u003ch2\u003e🔒 Security Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePrototype Pollution Defence-in-Depth:\u003c/strong\u003e Hardened \u003ccode\u003eformDataToJSON\u003c/code\u003e against already-polluted \u003ccode\u003eObject.prototype\u003c/code\u003e by walking own properties only, so attacker-controlled keys inherited from a poisoned prototype cannot propagate through deserialization. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7413\"\u003e#7413\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProxy Cleartext Leak:\u003c/strong\u003e Fixed an issue where HTTPS request data could be transmitted in cleartext to an HTTP proxy under certain configurations. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10858\"\u003e#10858\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCI Cache Removal:\u003c/strong\u003e Removed all GitHub Actions caches as a defence-in-depth measure against cache poisoning vectors in the build pipeline. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10882\"\u003e#10882\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eData URI Parsing:\u003c/strong\u003e Updated the \u003ccode\u003efromDataURI\u003c/code\u003e regex to match RFC 2397 more strictly, fixing edge cases in \u003ccode\u003edata:\u003c/code\u003e URL handling. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10829\"\u003e#10829\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUnicode Headers:\u003c/strong\u003e Preserved Unicode header values when running through request interceptors, so non-ASCII header content is no longer corrupted before dispatch. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10850\"\u003e#10850\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXHR Upload Progress:\u003c/strong\u003e Guarded against malformed \u003ccode\u003eProgressEvent\u003c/code\u003e payloads emitted by some environments during XHR upload, preventing crashes when \u003ccode\u003eloaded\u003c/code\u003e / \u003ccode\u003etotal\u003c/code\u003e are missing or invalid. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10868\"\u003e#10868\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebpack 4 Fetch Adapter:\u003c/strong\u003e Fixed an \u0026quot;unexpected token\u0026quot; error caused by syntax in the fetch adapter that Webpack 4 could not parse, restoring compatibility for legacy bundler users. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10864\"\u003e#10864\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eType Definitions:\u003c/strong\u003e Made \u003ccode\u003eparseReviver\u003c/code\u003e \u003ccode\u003econtext.source\u003c/code\u003e optional in the type definitions to align with the ES2023 specification. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10837\"\u003e#10837\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eURL Object Support Reverted:\u003c/strong\u003e Reverted the change that allowed passing a \u003ccode\u003eURL\u003c/code\u003e object as \u003ccode\u003econfig.url\u003c/code\u003e (originally \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10866\"\u003e#10866\u003c/a\u003e\u003c/strong\u003e) due to regressions; this support will be reintroduced in a later release once the underlying issues are addressed. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10874\"\u003e#10874\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔧 Maintenance \u0026amp; Chores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCycle Detection Refactor:\u003c/strong\u003e Replaced the array-based cycle tracker in \u003ccode\u003etoJSONObject\u003c/code\u003e with a \u003ccode\u003eWeakSet\u003c/code\u003e, improving performance and memory behaviour on large nested structures. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10832\"\u003e#10832\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecomposeSignals Cleanup:\u003c/strong\u003e Refactored \u003ccode\u003ecomposeSignals\u003c/code\u003e to use a clearer early-return structure, simplifying the cancellation/abort composition path. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10844\"\u003e#10844\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAI Readiness \u0026amp; Repo Docs:\u003c/strong\u003e Added \u003ccode\u003eAGENTS.md\u003c/code\u003e and related contributor-guide updates for both human and AI agents, plus post-release documentation improvements. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10835\"\u003e#10835\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10841\"\u003e#10841\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDocs Improvements:\u003c/strong\u003e Clarified the GET request example, fixed the interceptor \u003ccode\u003eeject\u003c/code\u003e example to reference the correct instance, and corrected the Buzzoid sponsor description in the README. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10836\"\u003e#10836\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10853\"\u003e#10853\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10856\"\u003e#10856\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSponsorship Tooling:\u003c/strong\u003e Fixed empty sponsor arrays in the sponsor processing script, added the ability to inject additional sponsors, updated the sponsorship link, and added a Twicsy advertisement entry. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10843\"\u003e#10843\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10859\"\u003e#10859\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10869\"\u003e#10869\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDependencies:\u003c/strong\u003e Bumped \u003ccode\u003e@commitlint/cli\u003c/code\u003e from 20.5.0 to 20.5.2. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10846\"\u003e#10846\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🌟 New Contributors\u003c/h2\u003e\n\u003cp\u003eWe are thrilled to welcome our new contributors. Thank you for helping improve axios:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/hpinmetaverse\"\u003e\u003ccode\u003e@​hpinmetaverse\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10836\"\u003e#10836\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tommyhgunz14\"\u003e\u003ccode\u003e@​tommyhgunz14\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7413\"\u003e#7413\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/abhu85\"\u003e\u003ccode\u003e@​abhu85\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10829\"\u003e#10829\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/divyanshuraj1095\"\u003e\u003ccode\u003e@​divyanshuraj1095\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10853\"\u003e#10853\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/sagodi97\"\u003e\u003ccode\u003e@​sagodi97\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10856\"\u003e#10856\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/rkdfx\"\u003e\u003ccode\u003e@​rkdfx\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10868\"\u003e#10868\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/Liuwei1125\"\u003e\u003ccode\u003e@​Liuwei1125\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10866\"\u003e#10866\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/axios/axios/compare/v1.16.0...v1.16.1\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.16.0 — May 2, 2026\u003c/h2\u003e\n\u003cp\u003eThis release adds support for the QUERY HTTP method and a new \u003ccode\u003eECONNREFUSED\u003c/code\u003e error constant, lands a substantial wave of HTTP, fetch, and XHR adapter bug fixes around redirects, aborts, headers, and timeouts, and welcomes 23 new contributors.\u003c/p\u003e\n\u003ch2\u003e⚠️ Notable Changes\u003c/h2\u003e\n\u003cp\u003eA handful of fixes in this release are either security-adjacent or change observable behaviour. Please review before upgrading:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/axios/axios/blob/v1.x/CHANGELOG.md\"\u003eaxios's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.16.1 — May 13, 2026\u003c/h2\u003e\n\u003cp\u003eThis release ships a defence-in-depth fix for prototype pollution in \u003ccode\u003eformDataToJSON\u003c/code\u003e, hardens proxy and CI workflows, restores Webpack 4 compatibility for the fetch adapter, and includes several small bug fixes and maintenance improvements.\u003c/p\u003e\n\u003ch2\u003e🔒 Security Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePrototype Pollution Defence-in-Depth:\u003c/strong\u003e Hardened \u003ccode\u003eformDataToJSON\u003c/code\u003e against already-polluted \u003ccode\u003eObject.prototype\u003c/code\u003e by walking own properties only, so attacker-controlled keys inherited from a poisoned prototype cannot propagate through deserialization. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7413\"\u003e#7413\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eProxy Cleartext Leak:\u003c/strong\u003e Fixed an issue where HTTPS request data could be transmitted in cleartext to an HTTP proxy under certain configurations. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10858\"\u003e#10858\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCI Cache Removal:\u003c/strong\u003e Removed all GitHub Actions caches as a defence-in-depth measure against cache poisoning vectors in the build pipeline. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10882\"\u003e#10882\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eData URI Parsing:\u003c/strong\u003e Updated the \u003ccode\u003efromDataURI\u003c/code\u003e regex to match RFC 2397 more strictly, fixing edge cases in \u003ccode\u003edata:\u003c/code\u003e URL handling. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10829\"\u003e#10829\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUnicode Headers:\u003c/strong\u003e Preserved Unicode header values when running through request interceptors, so non-ASCII header content is no longer corrupted before dispatch. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10850\"\u003e#10850\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXHR Upload Progress:\u003c/strong\u003e Guarded against malformed \u003ccode\u003eProgressEvent\u003c/code\u003e payloads emitted by some environments during XHR upload, preventing crashes when \u003ccode\u003eloaded\u003c/code\u003e / \u003ccode\u003etotal\u003c/code\u003e are missing or invalid. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10868\"\u003e#10868\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWebpack 4 Fetch Adapter:\u003c/strong\u003e Fixed an \u0026quot;unexpected token\u0026quot; error caused by syntax in the fetch adapter that Webpack 4 could not parse, restoring compatibility for legacy bundler users. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10864\"\u003e#10864\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eType Definitions:\u003c/strong\u003e Made \u003ccode\u003eparseReviver\u003c/code\u003e \u003ccode\u003econtext.source\u003c/code\u003e optional in the type definitions to align with the ES2023 specification. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10837\"\u003e#10837\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eURL Object Support Reverted:\u003c/strong\u003e Reverted the change that allowed passing a \u003ccode\u003eURL\u003c/code\u003e object as \u003ccode\u003econfig.url\u003c/code\u003e (originally \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10866\"\u003e#10866\u003c/a\u003e\u003c/strong\u003e) due to regressions; this support will be reintroduced in a later release once the underlying issues are addressed. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10874\"\u003e#10874\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔧 Maintenance \u0026amp; Chores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCycle Detection Refactor:\u003c/strong\u003e Replaced the array-based cycle tracker in \u003ccode\u003etoJSONObject\u003c/code\u003e with a \u003ccode\u003eWeakSet\u003c/code\u003e, improving performance and memory behaviour on large nested structures. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10832\"\u003e#10832\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecomposeSignals Cleanup:\u003c/strong\u003e Refactored \u003ccode\u003ecomposeSignals\u003c/code\u003e to use a clearer early-return structure, simplifying the cancellation/abort composition path. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10844\"\u003e#10844\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAI Readiness \u0026amp; Repo Docs:\u003c/strong\u003e Added \u003ccode\u003eAGENTS.md\u003c/code\u003e and related contributor-guide updates for both human and AI agents, plus post-release documentation improvements. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10835\"\u003e#10835\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10841\"\u003e#10841\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDocs Improvements:\u003c/strong\u003e Clarified the GET request example, fixed the interceptor \u003ccode\u003eeject\u003c/code\u003e example to reference the correct instance, and corrected the Buzzoid sponsor description in the README. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10836\"\u003e#10836\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10853\"\u003e#10853\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10856\"\u003e#10856\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSponsorship Tooling:\u003c/strong\u003e Fixed empty sponsor arrays in the sponsor processing script, added the ability to inject additional sponsors, updated the sponsorship link, and added a Twicsy advertisement entry. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10843\"\u003e#10843\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10859\"\u003e#10859\u003c/a\u003e\u003c/strong\u003e, \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10869\"\u003e#10869\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDependencies:\u003c/strong\u003e Bumped \u003ccode\u003e@commitlint/cli\u003c/code\u003e from 20.5.0 to 20.5.2. (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10846\"\u003e#10846\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🌟 New Contributors\u003c/h2\u003e\n\u003cp\u003eWe are thrilled to welcome our new contributors. Thank you for helping improve axios:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/hpinmetaverse\"\u003e\u003ccode\u003e@​hpinmetaverse\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10836\"\u003e#10836\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tommyhgunz14\"\u003e\u003ccode\u003e@​tommyhgunz14\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/7413\"\u003e#7413\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/abhu85\"\u003e\u003ccode\u003e@​abhu85\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10829\"\u003e#10829\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/divyanshuraj1095\"\u003e\u003ccode\u003e@​divyanshuraj1095\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10853\"\u003e#10853\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/sagodi97\"\u003e\u003ccode\u003e@​sagodi97\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10856\"\u003e#10856\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/rkdfx\"\u003e\u003ccode\u003e@​rkdfx\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10868\"\u003e#10868\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/Liuwei1125\"\u003e\u003ccode\u003e@​Liuwei1125\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e (\u003cstrong\u003e\u003ca href=\"https://redirect.github.com/axios/axios/issues/10866\"\u003e#10866\u003c/a\u003e\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/axios/axios/compare/v1.16.0...v1.16.1\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.16.0 — May 2, 2026\u003c/h2\u003e\n\u003cp\u003eThis release adds support for the QUERY HTTP method and a new \u003ccode\u003eECONNREFUSED\u003c/code\u003e error constant, lands a substantial wave of HTTP, fetch, and XHR adapter bug fixes around redirects, aborts, headers, and timeouts, and welcomes 23 new contributors.\u003c/p\u003e\n\u003ch2\u003e⚠️ Notable Changes\u003c/h2\u003e\n\u003cp\u003eA handful of fixes in this release are either security-adjacent or change observable behaviour. Please review before upgrading:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/1337d6b537afb2d3f501074c8ac4ef4308221197\"\u003e\u003ccode\u003e1337d6b\u003c/code\u003e\u003c/a\u003e chore(release): prepare release 1.16.1 (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10877\"\u003e#10877\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/858a790cec06054547d0d3f941916d6fb2a4d18e\"\u003e\u003ccode\u003e858a790\u003c/code\u003e\u003c/a\u003e fix: remove all caches (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10882\"\u003e#10882\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/34adfd90efc9c145488399e1cf7fa96de67080fa\"\u003e\u003ccode\u003e34adfd9\u003c/code\u003e\u003c/a\u003e revert: \u0026quot;fix: support URL object as config.url input (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10866\"\u003e#10866\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10874\"\u003e#10874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/847d89b43654405d9a231e0b669832c2092b621f\"\u003e\u003ccode\u003e847d89b\u003c/code\u003e\u003c/a\u003e fix: support URL object as config.url input (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10866\"\u003e#10866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/40948863677bb793bfff0293cce7e7b4f8a1b212\"\u003e\u003ccode\u003e4094886\u003c/code\u003e\u003c/a\u003e fix(progress): guard malformed XHR upload events (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10868\"\u003e#10868\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/44f0c5bf73c45df6009365141faa394d73596bd7\"\u003e\u003ccode\u003e44f0c5b\u003c/code\u003e\u003c/a\u003e chore: change sponsorship link and add Twicsy advertisement (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10869\"\u003e#10869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/64e1095efedc64c9fecf5176bd9cf2e5e93140d6\"\u003e\u003ccode\u003e64e1095\u003c/code\u003e\u003c/a\u003e chore: update PR and issue template to use h2 (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10865\"\u003e#10865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/3e6b4e1f311b43aa1dc77d78150a601d9fe4b280\"\u003e\u003ccode\u003e3e6b4e1\u003c/code\u003e\u003c/a\u003e fix: error unexpected token in fetch JS compatibility issue with Webpack 4 (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/c4453bab70f53575175903aee60810c821f72129\"\u003e\u003ccode\u003ec4453ba\u003c/code\u003e\u003c/a\u003e fix: add the ability to add additional sponsors to the process sponsors scrip...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/axios/axios/commit/caa00a90b524bb67ed033474abcf4d8645ced793\"\u003e\u003ccode\u003ecaa00a9\u003c/code\u003e\u003c/a\u003e fix: https data in cleartext to proxy (\u003ca href=\"https://redirect.github.com/axios/axios/issues/10858\"\u003e#10858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/axios/axios/compare/v1.13.4...v1.16.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 9.39.2 to 10.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec\"\u003e\u003ccode\u003ee557467\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003e@eslint/plugin-kit\u003c/code\u003e version to 0.7.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20930\"\u003e#20930\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd\"\u003e\u003ccode\u003ed4ce898\u003c/code\u003e\u003c/a\u003e fix: propagate failures from delegated commands (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20917\"\u003e#20917\u003c/a\u003e) (Minh Vu)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf\"\u003e\u003ccode\u003ef4f3507\u003c/code\u003e\u003c/a\u003e fix: prefer-arrow-callback invalid autofix with newline after \u003ccode\u003easync\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20916\"\u003e#20916\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c5bc78b37e08b9054a11f0cc2d81808bb24acb85\"\u003e\u003ccode\u003ec5bc78b\u003c/code\u003e\u003c/a\u003e fix: false positive for reference in \u003ccode\u003efinally\u003c/code\u003e block (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20655\"\u003e#20655\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/27538c01f5df4e9306f6f4ba867b2dd6307fae59\"\u003e\u003ccode\u003e27538c0\u003c/code\u003e\u003c/a\u003e fix: add missing CodePath and CodePathSegment types (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20853\"\u003e#20853\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30\"\u003e\u003ccode\u003e61b0add\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rule from related rules of \u003ccode\u003emax-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20921\"\u003e#20921\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/305d5b91aeac24d36fde42f75625a8f183d4ce43\"\u003e\u003ccode\u003e305d5b9\u003c/code\u003e\u003c/a\u003e docs: remove deprecated rules from related rules section (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20911\"\u003e#20911\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c\"\u003e\u003ccode\u003e49b0202\u003c/code\u003e\u003c/a\u003e docs: fix \u003ccode\u003edisplay: none\u003c/code\u003e of ad (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20901\"\u003e#20901\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9067f9492ec998afc5b4f057a477ecf6ebd45e44\"\u003e\u003ccode\u003e9067f94\u003c/code\u003e\u003c/a\u003e docs: switch build to Node.js 24 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20893\"\u003e#20893\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c91b0417e3420c76807ce1fa2aea76e2de87ab86\"\u003e\u003ccode\u003ec91b041\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e349265cb37f3ebc837e178e48a725bb782bd870\"\u003e\u003ccode\u003ee349265\u003c/code\u003e\u003c/a\u003e docs: clarify semver strings in rule deprecation objects (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20885\"\u003e#20885\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584\"\u003e\u003ccode\u003eb0e466b\u003c/code\u003e\u003c/a\u003e test: add \u003ccode\u003edata\u003c/code\u003e property to invalid tests cases for rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20924\"\u003e#20924\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46\"\u003e\u003ccode\u003ef78838b\u003c/code\u003e\u003c/a\u003e test: add CodePath type coverage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20904\"\u003e#20904\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9\"\u003e\u003ccode\u003e1daa4bd\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e test data to latest commit (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20922\"\u003e#20922\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c\"\u003e\u003ccode\u003e002942c\u003c/code\u003e\u003c/a\u003e ci: declare contents:read on update-readme workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20919\"\u003e#20919\u003c/a\u003e) (Arpit Jain)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b\"\u003e\u003ccode\u003e64bca24\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20912\"\u003e#20912\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56\"\u003e\u003ccode\u003e6d7c832\u003c/code\u003e\u003c/a\u003e chore: ignore fflate updates in renovate (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20908\"\u003e#20908\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://gith...\n\n_Description has been truncated_","html_url":"https://github.com/actions-marketplace-validations/MatteoH2O1999_setup-rust/pull/113","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/actions-marketplace-validations%2FMatteoH2O1999_setup-rust/issues/113","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/113/packages"}},{"old_version":"30.4.0","new_version":"30.4.2","update_type":"patch","path":null,"pr_created_at":"2026-05-31T22:16:22.000Z","version_change":"30.4.0 → 30.4.2","issue":{"uuid":"4559189316","node_id":"PR_kwDOSnDPk87hKjXT","number":11,"state":"open","title":"Bump the dev-dependencies group with 7 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-31T22:16:22.000Z","updated_at":"2026-05-31T22:16:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dev-dependencies","update_count":7,"packages":[{"name":"@types/node","old_version":"25.6.2","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.59.2","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.59.2","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"eslint-plugin-prettier","old_version":"5.5.5","new_version":"5.5.6","repository_url":"https://github.com/prettier/eslint-plugin-prettier"},{"name":"jest","old_version":"30.4.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-circus","old_version":"30.4.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"ts-jest","old_version":"29.4.9","new_version":"29.4.11","repository_url":"https://github.com/kulshekhar/ts-jest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.2` | `25.9.1` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.59.2` | `8.60.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.59.2` | `8.60.0` |\n| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | `5.5.5` | `5.5.6` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.4.0` | `30.4.2` |\n| [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) | `30.4.0` | `30.4.2` |\n| [ts-jest](https://github.com/kulshekhar/ts-jest) | `29.4.9` | `29.4.11` |\n\nUpdates `@types/node` from 25.6.2 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.59.2 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\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/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4302433ae6bf93d4ddc35264ad1b951254758566\"\u003e\u003ccode\u003e4302433\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-floating-promises] stack overflow when using recursiv...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/10b79f1ba8e98610a3af85152a1b3b406f91e633\"\u003e\u003ccode\u003e10b79f1\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint to v10.4.0 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12339\"\u003e#12339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2a6765d9628dc776f8127c96f088bb807c0bcab2\"\u003e\u003ccode\u003e2a6765d\u003c/code\u003e\u003c/a\u003e chore: clenaup \u003ccode\u003egetAwaitedType\u003c/code\u003e from \u003ccode\u003etypescript.d.ts\u003c/code\u003e (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12302\"\u003e#12302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e26dc8003ababf078aad4df17765ee4cea30644c\"\u003e\u003ccode\u003ee26dc80\u003c/code\u003e\u003c/a\u003e docs: update stale links to latest (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12313\"\u003e#12313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/eslint-plugin\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/parser` from 8.59.2 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\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/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58\"\u003e\u003ccode\u003ef891c29\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.60.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-prettier` from 5.5.5 to 5.5.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/releases\"\u003eeslint-plugin-prettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/pull/791\"\u003e#791\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: bump all (dev)Dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md\"\u003eeslint-plugin-prettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/pull/791\"\u003e#791\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: bump all (dev)Dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/4f33ea5a503c6cdbda93424ebd13188a46a1a890\"\u003e\u003ccode\u003e4f33ea5\u003c/code\u003e\u003c/a\u003e chore: release eslint-plugin-prettier (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/792\"\u003e#792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/4745b54882a9011704764070a28aaaf0504efc92\"\u003e\u003ccode\u003e4745b54\u003c/code\u003e\u003c/a\u003e ci: declare workflow-level contents: read on 2 workflows (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e chore: bump all (dev)Dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/791\"\u003e#791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/e867680b2c1cf3748322c8c802690e7cfb78e233\"\u003e\u003ccode\u003ee867680\u003c/code\u003e\u003c/a\u003e chore(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/766\"\u003e#766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/e8e2f7f1dcad747f1d43168ee09956b512956593\"\u003e\u003ccode\u003ee8e2f7f\u003c/code\u003e\u003c/a\u003e chore: testing eslint v10 (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/779\"\u003e#779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/ca076d95aaf69aaf9c95abcc1692f8269197f248\"\u003e\u003ccode\u003eca076d9\u003c/code\u003e\u003c/a\u003e chore: update dev dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/42e636951f8d53d169b1f8c2b7e7dfd792711113\"\u003e\u003ccode\u003e42e6369\u003c/code\u003e\u003c/a\u003e build(deps): Bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/778\"\u003e#778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/53ff2143c03609e75b60e0e33d56c8089f0b364f\"\u003e\u003ccode\u003e53ff214\u003c/code\u003e\u003c/a\u003e Remove empty NPM_TOKEN from release.yml\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/compare/v5.5.5...v5.5.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.4.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\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/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\u003c/blockquote\u003e\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\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 `jest-circus` from 30.4.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-circus'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\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/jestjs/jest/blob/main/CHANGELOG.md\"\u003ejest-circus'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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.2/packages/jest-circus\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ts-jest` from 29.4.9 to 29.4.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kulshekhar/ts-jest/releases\"\u003ets-jest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.4.11\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev29.4.10\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md\"\u003ets-jest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/compare/v29.4.10...v29.4.11\"\u003e29.4.11\u003c/a\u003e (2026-05-21)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epreserve Bundler on the CJS path under TypeScript \u0026gt;= 6 (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/39418187515f11b6584d35a4e3ddf50231f74936\"\u003e3941818\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/kulshekhar/ts-jest/issues/4198\"\u003e#4198\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/compare/v29.4.9...v29.4.10\"\u003e29.4.10\u003c/a\u003e (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epass \u003ccode\u003eresolutionMode\u003c/code\u003e to \u003ccode\u003ets.resolveModuleName\u003c/code\u003e for hybrid module support (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/b557a85f85c3fd34523ec3a15293afbdc9dea83c\"\u003eb557a85\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erebuild \u003ccode\u003eProgram\u003c/code\u003e when consecutive compiles need different module kinds (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/a82a2b32c4987a5249fd5284283117dd2fa3be47\"\u003ea82a2b3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/kulshekhar/ts-jest/issues/4774\"\u003e#4774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erespect tsconfig \u003ccode\u003emoduleResolution\u003c/code\u003e instead of forcing \u003ccode\u003eNode10\u003c/code\u003e (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/1bffffc667557c173ae0c1f93dd436920775dac4\"\u003e1bffffc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etransformer:\u003c/strong\u003e transpile \u003ccode\u003emjs\u003c/code\u003e files from \u003ccode\u003enode_modules\u003c/code\u003e for CJS mode (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/96d025dd912ea2bceb18b67d2d509ada7a756d9d\"\u003e96d025d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etransformer:\u003c/strong\u003e use a consistent comparator in hoist-jest sortStatements (\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/8a8fd2fb8446655bba18367db9306a1089490e62\"\u003e8a8fd2f\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/kulshekhar/ts-jest/commit/bff2d64917caa8150701829b152c4d193614d997\"\u003e\u003ccode\u003ebff2d64\u003c/code\u003e\u003c/a\u003e chore(release): 29.4.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/39418187515f11b6584d35a4e3ddf50231f74936\"\u003e\u003ccode\u003e3941818\u003c/code\u003e\u003c/a\u003e fix: preserve Bundler on the CJS path under TypeScript \u0026gt;= 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/efb3c2f84d3583db0787982a18425d99edadfe25\"\u003e\u003ccode\u003eefb3c2f\u003c/code\u003e\u003c/a\u003e build(deps): bump webpack-dev-server from 5.2.2 to 5.2.4 in /website\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/4e46fad6c1c4d5be5d6666c64bf65a3af2f1519e\"\u003e\u003ccode\u003e4e46fad\u003c/code\u003e\u003c/a\u003e ci: refactor release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/96b3ac0cc0586d5379c87308f797a9acf0e4a675\"\u003e\u003ccode\u003e96b3ac0\u003c/code\u003e\u003c/a\u003e chore(release): 29.4.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/e98ec6452548a61285d55c00c7f6b1fd9858d699\"\u003e\u003ccode\u003ee98ec64\u003c/code\u003e\u003c/a\u003e build(deps): update github/codeql-action digest to 458d36d\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/21ac58f60f93164640433250fb4ca8b671aa8587\"\u003e\u003ccode\u003e21ac58f\u003c/code\u003e\u003c/a\u003e build(deps): update jest packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/0fdc96d293c6ce047bf61831b721218623882e78\"\u003e\u003ccode\u003e0fdc96d\u003c/code\u003e\u003c/a\u003e build(deps): update dependency semver to ^7.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/4b95551190235a65eac176625c72e220af066efe\"\u003e\u003ccode\u003e4b95551\u003c/code\u003e\u003c/a\u003e build(deps): update dependency jest-environment-jsdom to ^30.4.1 (\u003ca href=\"https://redirect.github.com/kulshekhar/ts-jest/issues/5311\"\u003e#5311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kulshekhar/ts-jest/commit/7b884476f7891e2b9a8637e2f6bb2e09b7efcfbd\"\u003e\u003ccode\u003e7b88447\u003c/code\u003e\u003c/a\u003e build(deps): update eslint packages to ^8.59.3 (\u003ca href=\"https://redirect.github.com/kulshekhar/ts-jest/issues/5310\"\u003e#5310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/kulshekhar/ts-jest/compare/v29.4.9...v29.4.11\"\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/Premiermoney/outdependabot/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Premiermoney%2Foutdependabot/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"}},{"old_version":"29.7.0","new_version":"30.4.2","update_type":"major","path":"/app/lambdas/fees in the dev-dependencies group","pr_created_at":"2026-05-31T14:49:29.000Z","version_change":"29.7.0 → 30.4.2","issue":{"uuid":"4557920514","node_id":"PR_kwDOSdyuQM7hGu2c","number":17,"state":"open","title":"build(deps-dev): bump jest from 29.7.0 to 30.4.2 in /app/lambdas/fees in the dev-dependencies group","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-31T14:49:29.000Z","updated_at":"2026-05-31T14:49:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"jest","old_version":"29.7.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"}],"path":"/app/lambdas/fees in the dev-dependencies group","ecosystem":"npm"},"body":"Bumps the dev-dependencies group in /app/lambdas/fees with 1 update: [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest).\n\nUpdates `jest` from 29.7.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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/96c53d30660e51bf76ed2cd1ecc2334c399ac31c\"\u003e\u003ccode\u003e96c53d3\u003c/code\u003e\u003c/a\u003e feat(jest-config): add \u003ccode\u003edefineConfig\u003c/code\u003e and \u003ccode\u003emergeConfig\u003c/code\u003e functions (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15844\"\u003e#15844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/855864e3f9751366455246790be2bf912d4d0dac\"\u003e\u003ccode\u003e855864e\u003c/code\u003e\u003c/a\u003e v30.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/da9b532f04632367b0df15a842280501f225b732\"\u003e\u003ccode\u003eda9b532\u003c/code\u003e\u003c/a\u003e v30.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ebfa31cc9787303e8698a1a029a162a18e8974aa\"\u003e\u003ccode\u003eebfa31c\u003c/code\u003e\u003c/a\u003e v30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/d347c0f3f87f976a1dbd9761d503e45f5ced2a7e\"\u003e\u003ccode\u003ed347c0f\u003c/code\u003e\u003c/a\u003e v30.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jest\u0026package-manager=npm_and_yarn\u0026previous-version=29.7.0\u0026new-version=30.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \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/thekloudwiz-org/akyeba.thekloudwiz.com/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/thekloudwiz-org%2Fakyeba.thekloudwiz.com/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"}},{"old_version":"29.7.0","new_version":"30.4.2","update_type":"major","path":null,"pr_created_at":"2026-05-31T00:17:19.000Z","version_change":"29.7.0 → 30.4.2","issue":{"uuid":"4556102330","node_id":"PR_kwDOSsnBQs7hBY0e","number":2,"state":"open","title":"Bump jest from 29.7.0 to 30.4.2","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-31T00:17:19.000Z","updated_at":"2026-05-31T00:17:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"jest","old_version":"29.7.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) from 29.7.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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/96c53d30660e51bf76ed2cd1ecc2334c399ac31c\"\u003e\u003ccode\u003e96c53d3\u003c/code\u003e\u003c/a\u003e feat(jest-config): add \u003ccode\u003edefineConfig\u003c/code\u003e and \u003ccode\u003emergeConfig\u003c/code\u003e functions (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15844\"\u003e#15844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/855864e3f9751366455246790be2bf912d4d0dac\"\u003e\u003ccode\u003e855864e\u003c/code\u003e\u003c/a\u003e v30.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/da9b532f04632367b0df15a842280501f225b732\"\u003e\u003ccode\u003eda9b532\u003c/code\u003e\u003c/a\u003e v30.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ebfa31cc9787303e8698a1a029a162a18e8974aa\"\u003e\u003ccode\u003eebfa31c\u003c/code\u003e\u003c/a\u003e v30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/d347c0f3f87f976a1dbd9761d503e45f5ced2a7e\"\u003e\u003ccode\u003ed347c0f\u003c/code\u003e\u003c/a\u003e v30.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jest\u0026package-manager=npm_and_yarn\u0026previous-version=29.7.0\u0026new-version=30.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/kevinw607/EP2-DevOps/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinw607%2FEP2-DevOps/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"}},{"old_version":"30.3.0","new_version":"30.4.2","update_type":"minor","path":null,"pr_created_at":"2026-05-30T17:22:42.000Z","version_change":"30.3.0 → 30.4.2","issue":{"uuid":"4555126908","node_id":"PR_kwDOSsaSU87g-e17","number":9,"state":"open","title":"npm(deps-dev): bump the development-dependencies group with 10 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-30T17:22:42.000Z","updated_at":"2026-05-30T17:29:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"npm(deps-dev): bump","group_name":"development-dependencies","update_count":10,"packages":[{"name":"@axe-core/react","old_version":"4.11.1","new_version":"4.11.3","repository_url":"https://github.com/dequelabs/axe-core-npm"},{"name":"@playwright/test","old_version":"1.58.2","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"@tailwindcss/postcss","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@types/react","old_version":"19.2.14","new_version":"19.2.15","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"eslint-config-next","old_version":"16.1.6","new_version":"16.2.6","repository_url":"https://github.com/vercel/next.js"},{"name":"eslint-plugin-prettier","old_version":"5.5.5","new_version":"5.5.6","repository_url":"https://github.com/prettier/eslint-plugin-prettier"},{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-jsdom","old_version":"30.3.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"tailwindcss","old_version":"4.2.1","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 10 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@axe-core/react](https://github.com/dequelabs/axe-core-npm) | `4.11.1` | `4.11.3` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.58.2` | `1.60.0` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.1` | `4.3.0` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.15` |\n| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.1.6` | `16.2.6` |\n| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | `5.5.5` | `5.5.6` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |\n| [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) | `30.3.0` | `30.4.1` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.1` | `4.3.0` |\n\nUpdates `@axe-core/react` from 4.11.1 to 4.11.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dequelabs/axe-core-npm/releases\"\u003e@​axe-core/react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.11.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: add create-release workflow by \u003ca href=\"https://github.com/Garbee\"\u003e\u003ccode\u003e@​Garbee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/pull/1326\"\u003edequelabs/axe-core-npm#1326\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: merge master into develop by \u003ca href=\"https://github.com/attest-team-ci\"\u003e\u003ccode\u003e@​attest-team-ci\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/pull/1324\"\u003edequelabs/axe-core-npm#1324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Update axe-core to v4.11.4 by \u003ca href=\"https://github.com/attest-team-ci\"\u003e\u003ccode\u003e@​attest-team-ci\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/pull/1330\"\u003edequelabs/axe-core-npm#1330\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: RC v4.11.3 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/pull/1332\"\u003edequelabs/axe-core-npm#1332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: release v4.11.3 by \u003ca href=\"https://github.com/axe-core\"\u003e\u003ccode\u003e@​axe-core\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/pull/1335\"\u003edequelabs/axe-core-npm#1335\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/axe-core\"\u003e\u003ccode\u003e@​axe-core\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/pull/1335\"\u003edequelabs/axe-core-npm#1335\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/dequelabs/axe-core-npm/compare/v4.11.2...v4.11.3\"\u003ehttps://github.com/dequelabs/axe-core-npm/compare/v4.11.2...v4.11.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease 4.11.2\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate axe-core to v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1306\"\u003e#1306\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/71c41796f4cdf2aebcb5e49d1bf6896f4ad72a2a\"\u003e71c4179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewdio:\u003c/strong\u003e support v9 wdio switchFrame and switchWindow (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1302\"\u003e#1302\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/4689273aead05133e161fe1d419a60224763ed7c\"\u003e4689273\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1164\"\u003e#1164\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dequelabs/axe-core-npm/blob/develop/CHANGELOG.md\"\u003e@​axe-core/react's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file.\nSee \u003ca href=\"https://conventionalcommits.org\"\u003eConventional Commits\u003c/a\u003e for commit guidelines.\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/compare/v4.11.1...v4.11.2\"\u003e4.11.2\u003c/a\u003e (2026-04-14)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate axe-core to v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1306\"\u003e#1306\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/71c41796f4cdf2aebcb5e49d1bf6896f4ad72a2a\"\u003e71c4179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewdio:\u003c/strong\u003e support v9 wdio switchFrame and switchWindow (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1302\"\u003e#1302\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/4689273aead05133e161fe1d419a60224763ed7c\"\u003e4689273\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1164\"\u003e#1164\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/dequelabs/axe-core-npm/commit/25fbfd2a7b4d38fcdca487d393192e811592f1ec\"\u003e\u003ccode\u003e25fbfd2\u003c/code\u003e\u003c/a\u003e chore: release v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1335\"\u003e#1335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/dad3572195f68304561b28fc12980d24d069e0d3\"\u003e\u003ccode\u003edad3572\u003c/code\u003e\u003c/a\u003e chore: RC v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1332\"\u003e#1332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/582a7fc2e16e7f5a5aa3d0cd28b31882b4504996\"\u003e\u003ccode\u003e582a7fc\u003c/code\u003e\u003c/a\u003e chore: RC v4.11.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/eed87f56b9808b3def657741c9c5023d7338583c\"\u003e\u003ccode\u003eeed87f5\u003c/code\u003e\u003c/a\u003e fix: Update axe-core to v4.11.4 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1330\"\u003e#1330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/57c54378dc0d829ea90562c1f192757df03839d3\"\u003e\u003ccode\u003e57c5437\u003c/code\u003e\u003c/a\u003e chore: merge master into develop (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1324\"\u003e#1324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/da56b5d6a0690a680e21b7f698a3ad9ed7497a10\"\u003e\u003ccode\u003eda56b5d\u003c/code\u003e\u003c/a\u003e chore: add create-release workflow (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1326\"\u003e#1326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/310de0a8b094d9575502a92ce898b7811e4f3a00\"\u003e\u003ccode\u003e310de0a\u003c/code\u003e\u003c/a\u003e chore: Release 4.11.2 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1323\"\u003e#1323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/39d99670b124852b51390221f1b4c43ea7ec1495\"\u003e\u003ccode\u003e39d9967\u003c/code\u003e\u003c/a\u003e chore: RC v4.11.2 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1317\"\u003e#1317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/7eb0bf2ce0c11bd12acb98111d72af7641ecdc33\"\u003e\u003ccode\u003e7eb0bf2\u003c/code\u003e\u003c/a\u003e chore: RC v4.11.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-npm/commit/71c41796f4cdf2aebcb5e49d1bf6896f4ad72a2a\"\u003e\u003ccode\u003e71c4179\u003c/code\u003e\u003c/a\u003e fix: Update axe-core to v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-npm/issues/1306\"\u003e#1306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dequelabs/axe-core-npm/compare/v4.11.1...v4.11.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@playwright/test` from 1.58.2 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e@​playwright/test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛑 test.abort()\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-test#test-abort\"\u003etest.abort()\u003c/a\u003e aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003etest('does not publish to the shared page', async ({ page }) =\u0026gt; {\r\n  await page.route('**/publish', route =\u0026gt; {\r\n    test.abort('Tests must not publish to the shared page. Use the `clone` option.');\r\n    return route.abort();\r\n  });\r\n  // ...\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eNew APIs\u003c/h2\u003e\n\u003ch3\u003eBrowser, Context and Page\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/87bb9ddbd78f329df18c2b24847bc9409240cd07\"\u003e\u003ccode\u003e87bb9dd\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40747\"\u003e#40747\u003c/a\u003e): fix(yauzl): vendor yauzl with destroy-lifecycle fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9a9c51cb7d1b39fab51ca288e59f8ca38fd19910\"\u003e\u003ccode\u003e9a9c51c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40733\"\u003e#40733\u003c/a\u003e): chore(electron): revert \u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40184\"\u003e#40184\u003c/a\u003e (move Electron API to a s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/4b3b628663031bcaaeca907e337892263524634d\"\u003e\u003ccode\u003e4b3b628\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40736\"\u003e#40736\u003c/a\u003e): Revert \u0026quot;feat(electron): add timeout option to electronAp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f869f96bbe6607cc3b88b4ca96fd82f17b301b50\"\u003e\u003ccode\u003ef869f96\u003c/code\u003e\u003c/a\u003e chore: bump version to v1.60.0 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40714\"\u003e#40714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/7eb6918afadfb0dd5c7e94ca9ffbddd84d8fbb39\"\u003e\u003ccode\u003e7eb6918\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40710\"\u003e#40710\u003c/a\u003e): docs: release notes v1.60\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/118d2aa6076d82840decca15d96b48611b08e392\"\u003e\u003ccode\u003e118d2aa\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40693\"\u003e#40693\u003c/a\u003e): chore(python): formdata path type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/54012f5dcc586da2e5d6cccd75f13ca367b94579\"\u003e\u003ccode\u003e54012f5\u003c/code\u003e\u003c/a\u003e chore(deps): bump ip-address and express-rate-limit (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40680\"\u003e#40680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9fa531da5677a3807d6e1dccd22c5137339a44f7\"\u003e\u003ccode\u003e9fa531d\u003c/code\u003e\u003c/a\u003e fix(screencast): unblock frame ack when an async client disconnects (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40674\"\u003e#40674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/3649db560ff943e724185784d34f7db131a11961\"\u003e\u003ccode\u003e3649db5\u003c/code\u003e\u003c/a\u003e chore(mcp): bump default extension protocol to v2 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40678\"\u003e#40678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/bb6c00957f47ba04caad7fca75d426309a2d32d4\"\u003e\u003ccode\u003ebb6c009\u003c/code\u003e\u003c/a\u003e chore(extension): mark 0.2.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40679\"\u003e#40679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.58.2...v1.60.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/postcss` from 4.2.1 to 4.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003e@​tailwindcss/postcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalizations for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: ensure files are not emptied out when killing the upgrade process while it's running (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: use \u003ccode\u003econfig.content\u003c/code\u003e when migrating from Tailwind CSS v3 to Tailwind CSS v4 (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: never migrate files that are ignored by git (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e@​tailwindcss/postcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.3.0] - 2026-05-08\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.4] - 2026-04-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.3] - 2026-04-20\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalization for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/588bd7371f4cae96426e1387819b7fd1d99765f9\"\u003e\u003ccode\u003e588bd73\u003c/code\u003e\u003c/a\u003e 4.3.0 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/20023\"\u003e#20023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/12eb5ae7b6026ff64c04f889b2221418d772da72\"\u003e\u003ccode\u003e12eb5ae\u003c/code\u003e\u003c/a\u003e Cleanup noisy test output (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/4255671c5f792c42808ecd6b2dec27c16e3c559e\"\u003e\u003ccode\u003e4255671\u003c/code\u003e\u003c/a\u003e Improve snapshot tests (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/20013\"\u003e#20013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/52f94c74bb491e9c3641ce322a0ef90fb3c45de6\"\u003e\u003ccode\u003e52f94c7\u003c/code\u003e\u003c/a\u003e Improve codebase quality (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19999\"\u003e#19999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d194d4c3e656313421f1cfa1954db8f58eec0fcd\"\u003e\u003ccode\u003ed194d4c\u003c/code\u003e\u003c/a\u003e docs: fix various typos in comments and documentation (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19878\"\u003e#19878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/bfb5732b0b948d89c6803cb537bca168ec8e0a46\"\u003e\u003ccode\u003ebfb5732\u003c/code\u003e\u003c/a\u003e Fall back to the plugin \u003ccode\u003ebase\u003c/code\u003e when PostCSS has no \u003ccode\u003efrom\u003c/code\u003e option (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/3a890c35727fe0630c59b72dbec799d02e3c4800\"\u003e\u003ccode\u003e3a890c3\u003c/code\u003e\u003c/a\u003e Bump dependencies (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19957\"\u003e#19957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/69ad7cc5ec091125842aba783c5bfce536e9c234\"\u003e\u003ccode\u003e69ad7cc\u003c/code\u003e\u003c/a\u003e 4.2.4 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19948\"\u003e#19948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/685c19e266a6b75842747acab6fe7076e82df62d\"\u003e\u003ccode\u003e685c19e\u003c/code\u003e\u003c/a\u003e Fix issue around resolving paths in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/2e3fa490a535a8341fd2853d75098f0d4dbcc825\"\u003e\u003ccode\u003e2e3fa49\u003c/code\u003e\u003c/a\u003e 4.2.3 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19944\"\u003e#19944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/@tailwindcss-postcss\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​tailwindcss/postcss\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/react` from 19.2.14 to 19.2.15\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-config-next` from 16.1.6 to 16.2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/next.js/releases\"\u003eeslint-config-next's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev16.2.6\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release contains security fixes and backported bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eSecurity Fixes\u003c/h3\u003e\n\u003cp\u003eThe following advisories have been addressed:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eHigh:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj\"\u003eGHSA-8h8q-6873-q5fj: Denial of Service with Server Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f\"\u003eGHSA-267c-6grr-h53f: Middleware / Proxy bypass in App Router applications via segment-prefetch routes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-26hh-7cqf-hhc6\"\u003eGHSA-26hh-7cqf-hhc6: Middleware / Proxy bypass in App Router applications via segment-prefetch routes - \u003cstrong\u003eIncomplete Fix Follow-Up\u003c/strong\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx\"\u003eGHSA-mg66-mrh9-m8jx: Denial of Service via connection exhaustion in applications using Cache Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv\"\u003eGHSA-492v-c6pp-mqqv: Middleware / Proxy bypass through dynamic route parameter injection\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r\"\u003eGHSA-c4j6-fc7j-m34r: Server-side request forgery in applications using WebSocket upgrades\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-36qx-fr4f-26g5\"\u003eGHSA-36qx-fr4f-26g5: Middleware / Proxy bypass in Pages Router applications using i18n\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eModerate:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-ffhc-5mcf-pf4q\"\u003eGHSA-ffhc-5mcf-pf4q: Cross-site scripting in App Router applications using CSP nonces\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-gx5p-jg67-6x7h\"\u003eGHSA-gx5p-jg67-6x7h: Cross-site scripting in beforeInteractive scripts with untrusted input\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-h64f-5h5j-jqjh\"\u003eGHSA-h64f-5h5j-jqjh: Denial of Service in the Image Optimization API\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-wfc6-r584-vfw7\"\u003eGHSA-wfc6-r584-vfw7: Cache poisoning in React Server Component responses\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eLow:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-vfv6-92ff-j949\"\u003eGHSA-vfv6-92ff-j949: Cache poisoning via collisions in React Server Component cache-busting\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-3g8h-86w9-wvmq\"\u003eGHSA-3g8h-86w9-wvmq: Middleware / Proxy redirects can be cache-poisoned\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: preserve HTTP access fallbacks during prerender recovery (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92231\"\u003e#92231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix fallback route params case in app-page handler (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91737\"\u003e#91737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix invalid HTML response for route-level RSC requests in deployment adapter (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91541\"\u003e#91541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePatch setHeader for direct route handlers (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93101\"\u003e#93101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude deployment id in \u003ccode\u003ecacheHandlers\u003c/code\u003e keys (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93453\"\u003e#93453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix double-encoding of URL pathname parts in client param parsing (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93491\"\u003e#93491\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev16.2.5\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release contains security fixes and backported bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eSecurity Fixes\u003c/h3\u003e\n\u003cp\u003eThe following advisories have been addressed:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eHigh:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj\"\u003eGHSA-8h8q-6873-q5fj: Denial of Service with Server Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f\"\u003eGHSA-267c-6grr-h53f: Middleware / Proxy bypass in App Router applications via segment-prefetch routes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx\"\u003eGHSA-mg66-mrh9-m8jx: Denial of Service via connection exhaustion in applications using Cache Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv\"\u003eGHSA-492v-c6pp-mqqv: Middleware / Proxy bypass through dynamic route parameter injection\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r\"\u003eGHSA-c4j6-fc7j-m34r: Server-side request forgery in applications using WebSocket upgrades\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ee6e79b1792a4d401ddf2480f40a83549fe8e722\"\u003e\u003ccode\u003eee6e79b\u003c/code\u003e\u003c/a\u003e v16.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/766148f9cd48c0e218acafcd0f15defc14871bf4\"\u003e\u003ccode\u003e766148f\u003c/code\u003e\u003c/a\u003e v16.2.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/2275bd8598c88e8652d1271e74bcf972f72f4f38\"\u003e\u003ccode\u003e2275bd8\u003c/code\u003e\u003c/a\u003e v16.2.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/d5f649b2f4affdad1009cb178c1e3b37f4f1ad3f\"\u003e\u003ccode\u003ed5f649b\u003c/code\u003e\u003c/a\u003e v16.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/52faae3d94641584e13691238df5be158d0f00fb\"\u003e\u003ccode\u003e52faae3\u003c/code\u003e\u003c/a\u003e v16.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ed7d2cef246dcb3e2955c018fd8b2027e0ff8eed\"\u003e\u003ccode\u003eed7d2ce\u003c/code\u003e\u003c/a\u003e v16.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/c5c94dffbf084e66b172a9c6ff23d80c24973764\"\u003e\u003ccode\u003ec5c94df\u003c/code\u003e\u003c/a\u003e v16.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/3683192a6bea9011222e9b236f8000b5266f3fe6\"\u003e\u003ccode\u003e3683192\u003c/code\u003e\u003c/a\u003e v16.2.0-canary.104\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/668981482a3f9de97c4c1371e940e0f84972c080\"\u003e\u003ccode\u003e6689814\u003c/code\u003e\u003c/a\u003e v16.2.0-canary.103\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ad66dbc89b356867c308110dc5365a696c763991\"\u003e\u003ccode\u003ead66dbc\u003c/code\u003e\u003c/a\u003e v16.2.0-canary.102\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/next.js/commits/v16.2.6/packages/eslint-config-next\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for eslint-config-next since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-prettier` from 5.5.5 to 5.5.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/releases\"\u003eeslint-plugin-prettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/pull/791\"\u003e#791\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: bump all (dev)Dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md\"\u003eeslint-plugin-prettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/pull/791\"\u003e#791\u003c/a\u003e \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/JounQin\"\u003e\u003ccode\u003e@​JounQin\u003c/code\u003e\u003c/a\u003e! - chore: bump all (dev)Dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/4f33ea5a503c6cdbda93424ebd13188a46a1a890\"\u003e\u003ccode\u003e4f33ea5\u003c/code\u003e\u003c/a\u003e chore: release eslint-plugin-prettier (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/792\"\u003e#792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/4745b54882a9011704764070a28aaaf0504efc92\"\u003e\u003ccode\u003e4745b54\u003c/code\u003e\u003c/a\u003e ci: declare workflow-level contents: read on 2 workflows (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/b5c96a30d3e292a379d6e8ac030c29fd7acbc90b\"\u003e\u003ccode\u003eb5c96a3\u003c/code\u003e\u003c/a\u003e chore: bump all (dev)Dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/791\"\u003e#791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/e867680b2c1cf3748322c8c802690e7cfb78e233\"\u003e\u003ccode\u003ee867680\u003c/code\u003e\u003c/a\u003e chore(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/766\"\u003e#766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/e8e2f7f1dcad747f1d43168ee09956b512956593\"\u003e\u003ccode\u003ee8e2f7f\u003c/code\u003e\u003c/a\u003e chore: testing eslint v10 (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/779\"\u003e#779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/ca076d95aaf69aaf9c95abcc1692f8269197f248\"\u003e\u003ccode\u003eca076d9\u003c/code\u003e\u003c/a\u003e chore: update dev dependencies (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/42e636951f8d53d169b1f8c2b7e7dfd792711113\"\u003e\u003ccode\u003e42e6369\u003c/code\u003e\u003c/a\u003e build(deps): Bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/prettier/eslint-plugin-prettier/issues/778\"\u003e#778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/commit/53ff2143c03609e75b60e0e33d56c8089f0b364f\"\u003e\u003ccode\u003e53ff214\u003c/code\u003e\u003c/a\u003e Remove empty NPM_TOKEN from release.yml\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prettier/eslint-plugin-prettier/compare/v5.5.5...v5.5.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `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 `jest-environment-jsdom` from 30.3.0 to 30.4.1\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-environment-jsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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\u003ch2\u003eFixes\u003c/h2\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\u003c/ul\u003e\n\u003c!-- 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-environment-jsdom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003eworkerGracefulExitTimeo...\n\n_Description has been truncated_","html_url":"https://github.com/FreeForCharity/FFC-EX-hclwellness.org/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeForCharity%2FFFC-EX-hclwellness.org/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":"30.2.0","new_version":"30.4.2","update_type":"minor","path":null,"pr_created_at":"2026-05-29T19:17:32.000Z","version_change":"30.2.0 → 30.4.2","issue":{"uuid":"4551014017","node_id":"PR_kwDOREaNsM7gxmvY","number":8,"state":"open","title":"deps(dev)(deps-dev): bump the development-dependencies group with 6 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-29T19:17:32.000Z","updated_at":"2026-05-29T19:18:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(dev)(deps-dev): bump","group_name":"development-dependencies","update_count":6,"packages":[{"name":"@jest/globals","old_version":"30.2.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"@playwright/test","old_version":"1.58.1","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"eslint-config-next","old_version":"16.1.6","new_version":"16.2.6","repository_url":"https://github.com/vercel/next.js"},{"name":"jest","old_version":"30.2.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-jsdom","old_version":"30.2.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 6 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `30.2.0` | `30.4.1` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.58.1` | `1.60.0` |\n| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.1.6` | `16.2.6` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.2.0` | `30.4.2` |\n| [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) | `30.2.0` | `30.4.1` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n\nUpdates `@jest/globals` from 30.2.0 to 30.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003e@​jest/globals's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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\u003ch2\u003eFixes\u003c/h2\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\u003c/ul\u003e\n\u003c!-- 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\"\u003e@​jest/globals's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ccode\u003e[jest-reporters, jest-runner, jest-runtime, jest-transform]\u003c/code\u003e Fix coverage report not showing correct code coverage when using \u003ccode\u003eprojects\u003c/code\u003e config option (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16140\"\u003e#16140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Resolve \u003ccode\u003eexpect\u003c/code\u003e and \u003ccode\u003e@jest/expect\u003c/code\u003e from the internal module registry so test-file imports share the same \u003ccode\u003eJestAssertionError\u003c/code\u003e as the global \u003ccode\u003eexpect\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16130\"\u003e#16130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Improve CJS-from-ESM interop: \u003ccode\u003e__esModule\u003c/code\u003e/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Load \u003ccode\u003e.js\u003c/code\u003e files with ESM syntax but no \u003ccode\u003e\u0026quot;type\u0026quot;:\u0026quot;module\u0026quot;\u003c/code\u003e marker as native ESM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Extend the \u003ccode\u003e.js\u003c/code\u003e-with-ESM-syntax fallback to \u003ccode\u003erequire()\u003c/code\u003e on Node v24.9+ - falls back to \u003ccode\u003erequire(esm)\u003c/code\u003e when the CJS parser rejects ESM syntax (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16078\"\u003e#16078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix deadlocks and double-evaluation in concurrent ESM and wasm imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\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/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/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.1/packages/jest-globals\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@playwright/test` from 1.58.1 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e@​playwright/test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛑 test.abort()\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-test#test-abort\"\u003etest.abort()\u003c/a\u003e aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003etest('does not publish to the shared page', async ({ page }) =\u0026gt; {\r\n  await page.route('**/publish', route =\u0026gt; {\r\n    test.abort('Tests must not publish to the shared page. Use the `clone` option.');\r\n    return route.abort();\r\n  });\r\n  // ...\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eNew APIs\u003c/h2\u003e\n\u003ch3\u003eBrowser, Context and Page\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/87bb9ddbd78f329df18c2b24847bc9409240cd07\"\u003e\u003ccode\u003e87bb9dd\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40747\"\u003e#40747\u003c/a\u003e): fix(yauzl): vendor yauzl with destroy-lifecycle fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9a9c51cb7d1b39fab51ca288e59f8ca38fd19910\"\u003e\u003ccode\u003e9a9c51c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40733\"\u003e#40733\u003c/a\u003e): chore(electron): revert \u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40184\"\u003e#40184\u003c/a\u003e (move Electron API to a s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/4b3b628663031bcaaeca907e337892263524634d\"\u003e\u003ccode\u003e4b3b628\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40736\"\u003e#40736\u003c/a\u003e): Revert \u0026quot;feat(electron): add timeout option to electronAp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f869f96bbe6607cc3b88b4ca96fd82f17b301b50\"\u003e\u003ccode\u003ef869f96\u003c/code\u003e\u003c/a\u003e chore: bump version to v1.60.0 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40714\"\u003e#40714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/7eb6918afadfb0dd5c7e94ca9ffbddd84d8fbb39\"\u003e\u003ccode\u003e7eb6918\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40710\"\u003e#40710\u003c/a\u003e): docs: release notes v1.60\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/118d2aa6076d82840decca15d96b48611b08e392\"\u003e\u003ccode\u003e118d2aa\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40693\"\u003e#40693\u003c/a\u003e): chore(python): formdata path type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/54012f5dcc586da2e5d6cccd75f13ca367b94579\"\u003e\u003ccode\u003e54012f5\u003c/code\u003e\u003c/a\u003e chore(deps): bump ip-address and express-rate-limit (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40680\"\u003e#40680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9fa531da5677a3807d6e1dccd22c5137339a44f7\"\u003e\u003ccode\u003e9fa531d\u003c/code\u003e\u003c/a\u003e fix(screencast): unblock frame ack when an async client disconnects (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40674\"\u003e#40674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/3649db560ff943e724185784d34f7db131a11961\"\u003e\u003ccode\u003e3649db5\u003c/code\u003e\u003c/a\u003e chore(mcp): bump default extension protocol to v2 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40678\"\u003e#40678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/bb6c00957f47ba04caad7fca75d426309a2d32d4\"\u003e\u003ccode\u003ebb6c009\u003c/code\u003e\u003c/a\u003e chore(extension): mark 0.2.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40679\"\u003e#40679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.58.1...v1.60.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-config-next` from 16.1.6 to 16.2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/next.js/releases\"\u003eeslint-config-next's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev16.2.6\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release contains security fixes and backported bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eSecurity Fixes\u003c/h3\u003e\n\u003cp\u003eThe following advisories have been addressed:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eHigh:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj\"\u003eGHSA-8h8q-6873-q5fj: Denial of Service with Server Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f\"\u003eGHSA-267c-6grr-h53f: Middleware / Proxy bypass in App Router applications via segment-prefetch routes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-26hh-7cqf-hhc6\"\u003eGHSA-26hh-7cqf-hhc6: Middleware / Proxy bypass in App Router applications via segment-prefetch routes - \u003cstrong\u003eIncomplete Fix Follow-Up\u003c/strong\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx\"\u003eGHSA-mg66-mrh9-m8jx: Denial of Service via connection exhaustion in applications using Cache Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv\"\u003eGHSA-492v-c6pp-mqqv: Middleware / Proxy bypass through dynamic route parameter injection\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r\"\u003eGHSA-c4j6-fc7j-m34r: Server-side request forgery in applications using WebSocket upgrades\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-36qx-fr4f-26g5\"\u003eGHSA-36qx-fr4f-26g5: Middleware / Proxy bypass in Pages Router applications using i18n\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eModerate:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-ffhc-5mcf-pf4q\"\u003eGHSA-ffhc-5mcf-pf4q: Cross-site scripting in App Router applications using CSP nonces\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-gx5p-jg67-6x7h\"\u003eGHSA-gx5p-jg67-6x7h: Cross-site scripting in beforeInteractive scripts with untrusted input\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-h64f-5h5j-jqjh\"\u003eGHSA-h64f-5h5j-jqjh: Denial of Service in the Image Optimization API\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-wfc6-r584-vfw7\"\u003eGHSA-wfc6-r584-vfw7: Cache poisoning in React Server Component responses\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eLow:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-vfv6-92ff-j949\"\u003eGHSA-vfv6-92ff-j949: Cache poisoning via collisions in React Server Component cache-busting\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-3g8h-86w9-wvmq\"\u003eGHSA-3g8h-86w9-wvmq: Middleware / Proxy redirects can be cache-poisoned\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: preserve HTTP access fallbacks during prerender recovery (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92231\"\u003e#92231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix fallback route params case in app-page handler (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91737\"\u003e#91737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix invalid HTML response for route-level RSC requests in deployment adapter (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91541\"\u003e#91541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePatch setHeader for direct route handlers (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93101\"\u003e#93101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude deployment id in \u003ccode\u003ecacheHandlers\u003c/code\u003e keys (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93453\"\u003e#93453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix double-encoding of URL pathname parts in client param parsing (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93491\"\u003e#93491\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev16.2.5\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release contains security fixes and backported bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eSecurity Fixes\u003c/h3\u003e\n\u003cp\u003eThe following advisories have been addressed:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eHigh:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-8h8q-6873-q5fj\"\u003eGHSA-8h8q-6873-q5fj: Denial of Service with Server Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-267c-6grr-h53f\"\u003eGHSA-267c-6grr-h53f: Middleware / Proxy bypass in App Router applications via segment-prefetch routes\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-mg66-mrh9-m8jx\"\u003eGHSA-mg66-mrh9-m8jx: Denial of Service via connection exhaustion in applications using Cache Components\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-492v-c6pp-mqqv\"\u003eGHSA-492v-c6pp-mqqv: Middleware / Proxy bypass through dynamic route parameter injection\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-c4j6-fc7j-m34r\"\u003eGHSA-c4j6-fc7j-m34r: Server-side request forgery in applications using WebSocket upgrades\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ee6e79b1792a4d401ddf2480f40a83549fe8e722\"\u003e\u003ccode\u003eee6e79b\u003c/code\u003e\u003c/a\u003e v16.2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/766148f9cd48c0e218acafcd0f15defc14871bf4\"\u003e\u003ccode\u003e766148f\u003c/code\u003e\u003c/a\u003e v16.2.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/2275bd8598c88e8652d1271e74bcf972f72f4f38\"\u003e\u003ccode\u003e2275bd8\u003c/code\u003e\u003c/a\u003e v16.2.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/d5f649b2f4affdad1009cb178c1e3b37f4f1ad3f\"\u003e\u003ccode\u003ed5f649b\u003c/code\u003e\u003c/a\u003e v16.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/52faae3d94641584e13691238df5be158d0f00fb\"\u003e\u003ccode\u003e52faae3\u003c/code\u003e\u003c/a\u003e v16.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ed7d2cef246dcb3e2955c018fd8b2027e0ff8eed\"\u003e\u003ccode\u003eed7d2ce\u003c/code\u003e\u003c/a\u003e v16.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/c5c94dffbf084e66b172a9c6ff23d80c24973764\"\u003e\u003ccode\u003ec5c94df\u003c/code\u003e\u003c/a\u003e v16.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/3683192a6bea9011222e9b236f8000b5266f3fe6\"\u003e\u003ccode\u003e3683192\u003c/code\u003e\u003c/a\u003e v16.2.0-canary.104\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/668981482a3f9de97c4c1371e940e0f84972c080\"\u003e\u003ccode\u003e6689814\u003c/code\u003e\u003c/a\u003e v16.2.0-canary.103\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ad66dbc89b356867c308110dc5365a696c763991\"\u003e\u003ccode\u003ead66dbc\u003c/code\u003e\u003c/a\u003e v16.2.0-canary.102\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/next.js/commits/v16.2.6/packages/eslint-config-next\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for eslint-config-next since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.2.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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/96c53d30660e51bf76ed2cd1ecc2334c399ac31c\"\u003e\u003ccode\u003e96c53d3\u003c/code\u003e\u003c/a\u003e feat(jest-config): add \u003ccode\u003edefineConfig\u003c/code\u003e and \u003ccode\u003emergeConfig\u003c/code\u003e functions (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15844\"\u003e#15844\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 `jest-environment-jsdom` from 30.2.0 to 30.4.1\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-environment-jsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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\u003ch2\u003eFixes\u003c/h2\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\u003c/ul\u003e\n\u003c!-- 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-environment-jsdom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ccode\u003e[jest-reporters, jest-runner, jest-runtime, jest-transform]\u003c/code\u003e Fix coverage report not showing correct code coverage when using \u003ccode\u003eprojects\u003c/code\u003e config option (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16140\"\u003e#16140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Resolve \u003ccode\u003eexpect\u003c/code\u003e and \u003ccode\u003e@jest/expect\u003c/code\u003e from the internal module registry so test-file imports share the same \u003ccode\u003eJestAssertionError\u003c/code\u003e as the global \u003ccode\u003eexpect\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16130\"\u003e#16130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Improve CJS-from-ESM interop: \u003ccode\u003e__esModule\u003c/code\u003e/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Load \u003ccode\u003e.js\u003c/code\u003e files with ESM syntax but no \u003ccode\u003e\u0026quot;type\u0026quot;:\u0026quot;module\u0026quot;\u003c/code\u003e marker as native ESM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Extend the \u003ccode\u003e.js\u003c/code\u003e-with-ESM-syntax fallback to \u003ccode\u003erequire()\u003c/code\u003e on Node v24.9+ - falls back to \u003ccode\u003erequire(esm)\u003c/code\u003e when the CJS parser rejects ESM syntax (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16078\"\u003e#16078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix deadlocks and double-evaluation in concurrent ESM and wasm imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\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/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/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/b5b0220a824d29a443d2af4a56ce227f94478052\"\u003e\u003ccode\u003eb5b0220\u003c/code\u003e\u003c/a\u003e Remove unused dependencies from jest-environment-jsdom (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom/issues/15928\"\u003e#15928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.1/packages/jest-environment-jsdom\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.8.1 to 3.8.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.8.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003eprettier/prettier#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.8.3/CHANGELOG.md#383\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Angular v21.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md#382\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.8.3\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.2...3.8.3\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003e#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"scss\"\u003e\u003ccode\u003e// Input\n$value: if(sass(false): 1; else: -1);\n\u003cp\u003e// Prettier 3.8.2\n$value: if(\nsass(false): 1; else: -1,\n);\u003c/p\u003e\n\u003cp\u003e// Prettier 3.8.3\n$value: if(sass(false): 1; else: -1);\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.8.2\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.1...3.8.2\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eAngular: Support Angular v21.2 (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18722\"\u003e#18722\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19034\"\u003e#19034\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003cp\u003eExhaustive typechecking with \u003ccode\u003e@default never;\u003c/code\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n@switch (foo) {\n  @case (1) {}\n  @default never;\n}\n\u003cp\u003e\u0026lt;!-- Prettier 3.8.1 --\u0026gt;\nSyntaxError: Incomplete block \u0026quot;default never\u0026quot;. If you meant to write the @ character, you should use the \u0026quot;\u0026amp;\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/64\"\u003e#64\u003c/a\u003e;\u0026quot; HTML entity instead. (3:3)\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.8.2 --\u0026gt;\n\u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e (foo) {\n\u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (1) {}\n\u003ca href=\"https://github.com/default\"\u003e\u003ccode\u003e@​default\u003c/code\u003e\u003c/a\u003e never;\n}\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003earrow function\u003c/code\u003e and \u003ccode\u003einstanceof\u003c/code\u003e expressions.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/d7108a79ec745c04292aabf22c4c1adbd690b191\"\u003e\u003ccode\u003ed7108a7\u003c/code\u003e\u003c/a\u003e Release 3.8.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/177f90898170d363ef64fde663e4d13170688bfe\"\u003e\u003ccode\u003e177f908\u003c/code\u003e\u003c/a\u003e Prevent trailing comma in SCSS \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/18471\"\u003e#18471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/1cd40668c3d6f2f4cf9d87bbc9096d92361b2606\"\u003e\u003ccode\u003e1cd4066\u003c/code\u003e\u003c/a\u003e Release \u003ccode\u003e@​prettier/plugin-oxc\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/a8700e245038cd8cc0cf28ef06ffedbcb3fc2dfc\"\u003e\u003ccode\u003ea8700e2\u003c/code\u003e\u003c/a\u003e Update oxc-parser to v0.125.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/752157c78eca6f0a30e5d5cb513b682c5ecfa01e\"\u003e\u003ccode\u003e752157c\u003c/code\u003e\u003c/a\u003e Fix tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/053fd418e180b12fa2014260212fae831f5fc5ec\"\u003e\u003ccode\u003e053fd41\u003c/code\u003e\u003c/a\u003e Bump Prettier dependency to 3.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/904c6365ec46726fd0e21021c52ae934b7e5abc6\"\u003e\u003ccode\u003e904c636\u003c/code\u003e\u003c/a\u003e Clean changelog_unreleased\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dc1f7fcc508d116cbf1644d69a1f0eb93e40d4a4\"\u003e\u003ccode\u003edc1f7fc\u003c/code\u003e\u003c/a\u003e Update dependents count\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/b31557cf331a02acf83e7e29d1001b070189a0d9\"\u003e\u003ccode\u003eb31557c\u003c/code\u003e\u003c/a\u003e Release 3.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/96bbaeda0525bf758e464aed2f939d739a85c315\"\u003e\u003ccode\u003e96bbaed\u003c/code\u003e\u003c/a\u003e Support Angular v21.2 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/18722\"\u003e#18722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prettier/prettier/compare/3.8.1...3.8.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \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/markahope-aag/aviary-roi-calculators/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/markahope-aag%2Faviary-roi-calculators/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"}},{"old_version":"30.3.0","new_version":"30.4.2","update_type":"minor","path":null,"pr_created_at":"2026-05-28T22:07:13.000Z","version_change":"30.3.0 → 30.4.2","issue":{"uuid":"4544149033","node_id":"PR_kwDOSF8iG87gbGzt","number":49,"state":"open","title":"Bump jest from 30.3.0 to 30.4.2","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-28T22:07:13.000Z","updated_at":"2026-05-28T22:07:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jest](https://github.com/jestjs/jest/tree/HEAD/packages/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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jest\u0026package-manager=npm_and_yarn\u0026previous-version=30.3.0\u0026new-version=30.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/20206205Tech/code-payment-service/pull/49","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/20206205Tech%2Fcode-payment-service/issues/49","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/49/packages"}},{"old_version":"29.7.0","new_version":"30.4.2","update_type":"major","path":"/server","pr_created_at":"2026-05-28T19:31:52.000Z","version_change":"29.7.0 → 30.4.2","issue":{"uuid":"4543216615","node_id":"PR_kwDOQvUwiM7gYBxq","number":19,"state":"closed","title":"chore(deps-dev): bump jest and @types/jest in /server","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-05-28T21:43:14.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-28T19:31:52.000Z","updated_at":"2026-05-28T21:43:17.000Z","time_to_close":7882,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"jest","repository_url":"https://github.com/jestjs/jest","old_version":"29.7.0","new_version":"30.4.2"},{"name":"@types/jest","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped","old_version":"29.5.14","new_version":"30.0.0"}],"path":"/server","ecosystem":"npm"},"body":"Bumps [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) and [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest). These dependencies needed to be updated together.\nUpdates `jest` from 29.7.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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/96c53d30660e51bf76ed2cd1ecc2334c399ac31c\"\u003e\u003ccode\u003e96c53d3\u003c/code\u003e\u003c/a\u003e feat(jest-config): add \u003ccode\u003edefineConfig\u003c/code\u003e and \u003ccode\u003emergeConfig\u003c/code\u003e functions (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15844\"\u003e#15844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/855864e3f9751366455246790be2bf912d4d0dac\"\u003e\u003ccode\u003e855864e\u003c/code\u003e\u003c/a\u003e v30.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/da9b532f04632367b0df15a842280501f225b732\"\u003e\u003ccode\u003eda9b532\u003c/code\u003e\u003c/a\u003e v30.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ebfa31cc9787303e8698a1a029a162a18e8974aa\"\u003e\u003ccode\u003eebfa31c\u003c/code\u003e\u003c/a\u003e v30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/d347c0f3f87f976a1dbd9761d503e45f5ced2a7e\"\u003e\u003ccode\u003ed347c0f\u003c/code\u003e\u003c/a\u003e v30.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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 `@types/jest` from 29.5.14 to 30.0.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest\"\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/maringelix/dx03/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/maringelix%2Fdx03/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"}},{"old_version":"29.7.0","new_version":"30.4.2","update_type":"major","path":null,"pr_created_at":"2026-05-28T02:20:47.000Z","version_change":"29.7.0 → 30.4.2","issue":{"uuid":"4537182173","node_id":"PR_kwDOSUesEM7gESZJ","number":102,"state":"open","title":"chore(deps): bump jest and @types/jest","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-28T02:20:47.000Z","updated_at":"2026-05-28T02:20:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"jest","repository_url":"https://github.com/jestjs/jest","old_version":"29.7.0","new_version":"30.4.2"},{"name":"@types/jest","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped","old_version":"29.5.14","new_version":"30.0.0"}],"path":null,"ecosystem":"npm"},"body":"Bumps [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) and [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest). These dependencies needed to be updated together.\nUpdates `jest` from 29.7.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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/96c53d30660e51bf76ed2cd1ecc2334c399ac31c\"\u003e\u003ccode\u003e96c53d3\u003c/code\u003e\u003c/a\u003e feat(jest-config): add \u003ccode\u003edefineConfig\u003c/code\u003e and \u003ccode\u003emergeConfig\u003c/code\u003e functions (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15844\"\u003e#15844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/855864e3f9751366455246790be2bf912d4d0dac\"\u003e\u003ccode\u003e855864e\u003c/code\u003e\u003c/a\u003e v30.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/da9b532f04632367b0df15a842280501f225b732\"\u003e\u003ccode\u003eda9b532\u003c/code\u003e\u003c/a\u003e v30.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ebfa31cc9787303e8698a1a029a162a18e8974aa\"\u003e\u003ccode\u003eebfa31c\u003c/code\u003e\u003c/a\u003e v30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/d347c0f3f87f976a1dbd9761d503e45f5ced2a7e\"\u003e\u003ccode\u003ed347c0f\u003c/code\u003e\u003c/a\u003e v30.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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 `@types/jest` from 29.5.14 to 30.0.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Teles23/toqe/pull/102","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Teles23%2Ftoqe/issues/102","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/102/packages"}},{"old_version":"30.2.0","new_version":"30.4.2","update_type":"minor","path":null,"pr_created_at":"2026-05-28T01:27:17.000Z","version_change":"30.2.0 → 30.4.2","issue":{"uuid":"4536952530","node_id":"PR_kwDOSp2jes7gDjOd","number":2,"state":"closed","title":"chore(deps-dev): bump the development-dependencies group with 21 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-28T01:27:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-28T01:27:17.000Z","updated_at":"2026-05-28T01:27:50.000Z","time_to_close":23,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"development-dependencies","update_count":21,"packages":[{"name":"@eslint/eslintrc","old_version":"3.3.3","new_version":"3.3.5","repository_url":"https://github.com/eslint/eslintrc"},{"name":"@faker-js/faker","old_version":"10.2.0","new_version":"10.4.0","repository_url":"https://github.com/faker-js/faker"},{"name":"@playwright/test","old_version":"1.57.0","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"@tailwindcss/postcss","old_version":"4.1.18","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@tanstack/react-query-devtools","old_version":"5.91.2","new_version":"5.100.14","repository_url":"https://github.com/TanStack/query"},{"name":"@types/node","old_version":"25.0.9","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.53.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.53.1","new_version":"8.60.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"autoprefixer","old_version":"10.4.23","new_version":"10.5.0","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"baseline-browser-mapping","old_version":"2.10.0","new_version":"2.10.32","repository_url":"https://github.com/web-platform-dx/baseline-browser-mapping"},{"name":"dotenv","old_version":"17.2.3","new_version":"17.4.2","repository_url":"https://github.com/motdotla/dotenv"},{"name":"eslint-config-next","old_version":"16.1.4","new_version":"16.2.6","repository_url":"https://github.com/vercel/next.js"},{"name":"eslint-plugin-unused-imports","old_version":"4.3.0","new_version":"4.4.1","repository_url":"https://github.com/sweepline/eslint-plugin-unused-imports"},{"name":"jest","old_version":"30.2.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-jsdom","old_version":"30.2.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"playwright","old_version":"1.57.0","new_version":"1.60.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"postcss","old_version":"8.5.6","new_version":"8.5.15","repository_url":"https://github.com/postcss/postcss"},{"name":"prettier","old_version":"3.8.0","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"tailwindcss","old_version":"4.1.18","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"ts-jest","old_version":"29.4.6","new_version":"29.4.11","repository_url":"https://github.com/kulshekhar/ts-jest"},{"name":"typedoc","old_version":"0.28.16","new_version":"0.28.19","repository_url":"https://github.com/TypeStrong/TypeDoc"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 21 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@eslint/eslintrc](https://github.com/eslint/eslintrc) | `3.3.3` | `3.3.5` |\n| [@faker-js/faker](https://github.com/faker-js/faker) | `10.2.0` | `10.4.0` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.57.0` | `1.60.0` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.1.18` | `4.3.0` |\n| [@tanstack/react-query-devtools](https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools) | `5.91.2` | `5.100.14` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.0.9` | `25.9.1` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.53.1` | `8.60.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.53.1` | `8.60.0` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.23` | `10.5.0` |\n| [baseline-browser-mapping](https://github.com/web-platform-dx/baseline-browser-mapping) | `2.10.0` | `2.10.32` |\n| [dotenv](https://github.com/motdotla/dotenv) | `17.2.3` | `17.4.2` |\n| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.1.4` | `16.2.6` |\n| [eslint-plugin-unused-imports](https://github.com/sweepline/eslint-plugin-unused-imports) | `4.3.0` | `4.4.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.2.0` | `30.4.2` |\n| [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) | `30.2.0` | `30.4.1` |\n| [playwright](https://github.com/microsoft/playwright) | `1.57.0` | `1.60.0` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.6` | `8.5.15` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.0` | `3.8.3` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.1.18` | `4.3.0` |\n| [ts-jest](https://github.com/kulshekhar/ts-jest) | `29.4.6` | `29.4.11` |\n| [typedoc](https://github.com/TypeStrong/TypeDoc) | `0.28.16` | `0.28.19` |\n\nUpdates `@eslint/eslintrc` from 3.3.3 to 3.3.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslintrc/releases\"\u003e@​eslint/eslintrc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eeslintrc: v3.3.5\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/eslintrc/compare/eslintrc-v3.3.4...eslintrc-v3.3.5\"\u003e3.3.5\u003c/a\u003e (2026-03-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate dependency minimatch to ^3.1.5 (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/227\"\u003e#227\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/eslintrc/commit/3dc2381e3e063f41e6b135650d05cdfe4045804e\"\u003e3dc2381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eeslintrc: v3.3.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/eslintrc/compare/eslintrc-v3.3.3...eslintrc-v3.3.4\"\u003e3.3.4\u003c/a\u003e (2026-02-22)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate \u003ccode\u003eajv\u003c/code\u003e to \u003ccode\u003e6.14.0\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/221\"\u003e#221\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/eslintrc/commit/9139140aece172fa4c11a466c493609be31cfa54\"\u003e9139140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003eminimatch\u003c/code\u003e to \u003ccode\u003e3.1.3\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/224\"\u003e#224\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/eslintrc/commit/30339d036361c13362d5a38191bb2388ad56bb6f\"\u003e30339d0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslintrc/blob/main/CHANGELOG.md\"\u003e@​eslint/eslintrc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/eslintrc/compare/eslintrc-v3.3.4...eslintrc-v3.3.5\"\u003e3.3.5\u003c/a\u003e (2026-03-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate dependency minimatch to ^3.1.5 (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/227\"\u003e#227\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/eslintrc/commit/3dc2381e3e063f41e6b135650d05cdfe4045804e\"\u003e3dc2381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/eslintrc/compare/eslintrc-v3.3.3...eslintrc-v3.3.4\"\u003e3.3.4\u003c/a\u003e (2026-02-22)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate \u003ccode\u003eajv\u003c/code\u003e to \u003ccode\u003e6.14.0\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/221\"\u003e#221\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/eslintrc/commit/9139140aece172fa4c11a466c493609be31cfa54\"\u003e9139140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate \u003ccode\u003eminimatch\u003c/code\u003e to \u003ccode\u003e3.1.3\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/224\"\u003e#224\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/eslintrc/commit/30339d036361c13362d5a38191bb2388ad56bb6f\"\u003e30339d0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/5135df1a5388ebb2e340a631c69f0d3ce9f2432f\"\u003e\u003ccode\u003e5135df1\u003c/code\u003e\u003c/a\u003e chore: release 3.3.5 🚀 (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/228\"\u003e#228\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/c109d69371e8544823637b708a16735e9136536c\"\u003e\u003ccode\u003ec109d69\u003c/code\u003e\u003c/a\u003e docs: Update README sponsors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/3dc2381e3e063f41e6b135650d05cdfe4045804e\"\u003e\u003ccode\u003e3dc2381\u003c/code\u003e\u003c/a\u003e fix: update dependency minimatch to ^3.1.5 (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/227\"\u003e#227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/81385b67f04cac42ab068dc78e3ee1ce6668ef5c\"\u003e\u003ccode\u003e81385b6\u003c/code\u003e\u003c/a\u003e ci: pin Node.js 25.6.1 (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/226\"\u003e#226\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/4c45e24751db5eb5da5507e2d9daee7d14d53b55\"\u003e\u003ccode\u003e4c45e24\u003c/code\u003e\u003c/a\u003e chore: release 3.3.4 🚀 (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/223\"\u003e#223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/30339d036361c13362d5a38191bb2388ad56bb6f\"\u003e\u003ccode\u003e30339d0\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003eminimatch\u003c/code\u003e to \u003ccode\u003e3.1.3\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/224\"\u003e#224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/9139140aece172fa4c11a466c493609be31cfa54\"\u003e\u003ccode\u003e9139140\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003eajv\u003c/code\u003e to \u003ccode\u003e6.14.0\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://redirect.github.com/eslint/eslintrc/issues/221\"\u003e#221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/245ada592eef13bb457f30ecd8b5cb9cfb4da0a9\"\u003e\u003ccode\u003e245ada5\u003c/code\u003e\u003c/a\u003e docs: Update README sponsors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/78b1a0ecec3f88d780b31418da61f57232cf83dc\"\u003e\u003ccode\u003e78b1a0e\u003c/code\u003e\u003c/a\u003e docs: Update README sponsors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslintrc/commit/df32fff115e0666077787def434a200f2aa5f8f7\"\u003e\u003ccode\u003edf32fff\u003c/code\u003e\u003c/a\u003e docs: Update README sponsors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslintrc/compare/eslintrc-v3.3.3...eslintrc-v3.3.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@faker-js/faker` from 10.2.0 to 10.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/faker-js/faker/releases\"\u003e@​faker-js/faker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(locale): add Norwegian (nb_NO) country definition by \u003ca href=\"https://github.com/TomSchrier\"\u003e\u003ccode\u003e@​TomSchrier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3714\"\u003efaker-js/faker#3714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(docs): share refreshable code logic by \u003ca href=\"https://github.com/ST-DDT\"\u003e\u003ccode\u003e@​ST-DDT\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3739\"\u003efaker-js/faker#3739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(locale): add Japanese cat breed definitions by \u003ca href=\"https://github.com/atzzCokeK\"\u003e\u003ccode\u003e@​atzzCokeK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3716\"\u003efaker-js/faker#3716\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(food): add plant-based dish variety by \u003ca href=\"https://github.com/stuckvgn\"\u003e\u003ccode\u003e@​stuckvgn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3745\"\u003efaker-js/faker#3745\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(locales): correct typos and capitalization in es_MX street names by \u003ca href=\"https://github.com/quserforgitp\"\u003e\u003ccode\u003e@​quserforgitp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3737\"\u003efaker-js/faker#3737\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(locale): add Japanese bear definitions by \u003ca href=\"https://github.com/atzzCokeK\"\u003e\u003ccode\u003e@​atzzCokeK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3720\"\u003efaker-js/faker#3720\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: fi locale phone numbers by \u003ca href=\"https://github.com/andeke07\"\u003e\u003ccode\u003e@​andeke07\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3747\"\u003efaker-js/faker#3747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(hacker): use helpers.fake() instead of helpers.mustache() in phrase() by \u003ca href=\"https://github.com/atzzCokeK\"\u003e\u003ccode\u003e@​atzzCokeK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3736\"\u003efaker-js/faker#3736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update all non-major dependencies by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3752\"\u003efaker-js/faker#3752\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update dependency \u003ccode\u003e@​vitest/eslint-plugin\u003c/code\u003e to v1.6.9 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3749\"\u003efaker-js/faker#3749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update eslint by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3751\"\u003efaker-js/faker#3751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(locale): add Japanese cattle breed definitions by \u003ca href=\"https://github.com/atzzCokeK\"\u003e\u003ccode\u003e@​atzzCokeK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3717\"\u003efaker-js/faker#3717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(locale): add Japanese bird definitions by \u003ca href=\"https://github.com/atzzCokeK\"\u003e\u003ccode\u003e@​atzzCokeK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3719\"\u003efaker-js/faker#3719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(locale): add Japanese fish definitions by \u003ca href=\"https://github.com/atzzCokeK\"\u003e\u003ccode\u003e@​atzzCokeK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3721\"\u003efaker-js/faker#3721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): lock file maintenance by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3738\"\u003efaker-js/faker#3738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update devdependencies by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3750\"\u003efaker-js/faker#3750\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update all non-major dependencies by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3754\"\u003efaker-js/faker#3754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(locale): filter and cleanup PersonEntryDefintions data by \u003ca href=\"https://github.com/ST-DDT\"\u003e\u003ccode\u003e@​ST-DDT\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3266\"\u003efaker-js/faker#3266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(locale): add Japanese horse breed definitions by \u003ca href=\"https://github.com/atzzCokeK\"\u003e\u003ccode\u003e@​atzzCokeK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3718\"\u003efaker-js/faker#3718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: migrate vitepress from v1 to v2.0.0-alpha.17 by \u003ca href=\"https://github.com/Shinigami92\"\u003e\u003ccode\u003e@​Shinigami92\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3757\"\u003efaker-js/faker#3757\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update devdependencies by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3755\"\u003efaker-js/faker#3755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): lock file maintenance by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3756\"\u003efaker-js/faker#3756\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update mcr.microsoft.com/devcontainers/typescript-node:24 docker digest to 3ff0e3f by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3762\"\u003efaker-js/faker#3762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update eslint by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3763\"\u003efaker-js/faker#3763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update devdependencies by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3764\"\u003efaker-js/faker#3764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update vitest by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3765\"\u003efaker-js/faker#3765\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update pnpm/action-setup action to v5 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3766\"\u003efaker-js/faker#3766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): update all non-major dependencies by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3767\"\u003efaker-js/faker#3767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): lock file maintenance by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3758\"\u003efaker-js/faker#3758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(release): 10.4.0 by \u003ca href=\"https://github.com/fakerjs-bot\"\u003e\u003ccode\u003e@​fakerjs-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3768\"\u003efaker-js/faker#3768\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/stuckvgn\"\u003e\u003ccode\u003e@​stuckvgn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3745\"\u003efaker-js/faker#3745\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quserforgitp\"\u003e\u003ccode\u003e@​quserforgitp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3737\"\u003efaker-js/faker#3737\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andeke07\"\u003e\u003ccode\u003e@​andeke07\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3747\"\u003efaker-js/faker#3747\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/faker-js/faker/compare/v10.3.0...v10.4.0\"\u003ehttps://github.com/faker-js/faker/compare/v10.3.0...v10.4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev10.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): lock file maintenance by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3689\"\u003efaker-js/faker#3689\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(location): state name to 'Trøndelag' for nb_NO by \u003ca href=\"https://github.com/Nilhenrik\"\u003e\u003ccode\u003e@​Nilhenrik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3691\"\u003efaker-js/faker#3691\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(locale): remove empty string from Hebrew lorem words by \u003ca href=\"https://github.com/erezcor\"\u003e\u003ccode\u003e@​erezcor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3698\"\u003efaker-js/faker#3698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: add custom matcher \u0026quot;toStartWith\u0026quot; by \u003ca href=\"https://github.com/xDivisionByZerox\"\u003e\u003ccode\u003e@​xDivisionByZerox\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3700\"\u003efaker-js/faker#3700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(person): \u003ccode\u003esexType\u003c/code\u003e can return \u003ccode\u003e'generic'\u003c/code\u003e by \u003ca href=\"https://github.com/ST-DDT\"\u003e\u003ccode\u003e@​ST-DDT\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3259\"\u003efaker-js/faker#3259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(locale): normalize system locale data by \u003ca href=\"https://github.com/xDivisionByZerox\"\u003e\u003ccode\u003e@​xDivisionByZerox\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3702\"\u003efaker-js/faker#3702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(locale): add Japanese suffix definitions for person module by \u003ca href=\"https://github.com/atzzCokeK\"\u003e\u003ccode\u003e@​atzzCokeK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3704\"\u003efaker-js/faker#3704\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(locale): add Japanese job definitions for person module by \u003ca href=\"https://github.com/atzzCokeK\"\u003e\u003ccode\u003e@​atzzCokeK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-js/faker/pull/3705\"\u003efaker-js/faker#3705\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/faker-js/faker/blob/next/CHANGELOG.md\"\u003e@​faker-js/faker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/faker-js/faker/compare/v10.3.0...v10.4.0\"\u003e10.4.0\u003c/a\u003e (2026-03-23)\u003c/h2\u003e\n\u003ch3\u003eNew Locales\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese bear definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3720\"\u003e#3720\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/2a4b15cff44cec578b23b579d9bd8603887024ac\"\u003e2a4b15c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese bird definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3719\"\u003e#3719\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/dc31ff8f79c9811ed23ebea845ece4abd375aeaa\"\u003edc31ff8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese cat breed definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3716\"\u003e#3716\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/54af8a8ca051631350a727a2dc596e212b91061a\"\u003e54af8a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese cattle breed definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3717\"\u003e#3717\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/c2c7342d8d0bd93871659fa9150ce6f80364cf93\"\u003ec2c7342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese fish definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3721\"\u003e#3721\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/15fc36187225cff20037658dd9f9b6e076641ca9\"\u003e15fc361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese horse breed definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3718\"\u003e#3718\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/e02536ee5283e29961965dc3e4e56c74dc65c16f\"\u003ee02536e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Norwegian (nb_NO) country definition (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3714\"\u003e#3714\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/614b4e9eb7f86334619822d654063abc7026ee48\"\u003e614b4e9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efi locale phone numbers (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3747\"\u003e#3747\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/7afa8b5628e51a8eba5e56d63d0ffc0ff2cea11f\"\u003e7afa8b5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efood:\u003c/strong\u003e add plant-based dish variety (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3745\"\u003e#3745\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/41edf49c9eb32db4a70a57a3e0ab687b9ec4b6a5\"\u003e41edf49\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged Locales\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e filter and cleanup PersonEntryDefintions data (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3266\"\u003e#3266\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/67defc8b0b3d4006f2151889d4401a3f2aa00580\"\u003e67defc8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elocales:\u003c/strong\u003e correct typos and capitalization in es_MX street names (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3737\"\u003e#3737\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/2b32c28b438307904a12e1271fbc4f2e614091b6\"\u003e2b32c28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/faker-js/faker/compare/v10.2.0...v10.3.0\"\u003e10.3.0\u003c/a\u003e (2026-02-06)\u003c/h2\u003e\n\u003ch3\u003eNew Locales\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese  dog definition (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3715\"\u003e#3715\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/76c9df131a55f63da55101cc7cccff2f7928187c\"\u003e76c9df1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese color definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3707\"\u003e#3707\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/bbbb215ef6441ec7a3ebdd660fd2690074f69c67\"\u003ebbbb215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese food module (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3706\"\u003e#3706\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/71d55c09f15ab437444c57d0eebff4477f75b131\"\u003e71d55c0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese internet definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3708\"\u003e#3708\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/184a709825979c6d8d7c3ea240ac2485bed96296\"\u003e184a709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese job definitions for person module (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3705\"\u003e#3705\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/e7f3ccd2e5b0ba84455edb680dfcfa5d86ecdbaf\"\u003ee7f3ccd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Japanese suffix definitions for person module (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3704\"\u003e#3704\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/45ad7d81682f65ab7fe37eea0633d7f0262cde87\"\u003e45ad7d8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Norwegian (nb_NO) continent definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3712\"\u003e#3712\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/c0f0f232adad715791cde3622939b463d925c165\"\u003ec0f0f23\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Norwegian (nb_NO) direction definition (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3713\"\u003e#3713\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/43b18fa0c540fdc2a3a61517377da63653802d25\"\u003e43b18fa\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Norwegian (nb_NO) sex definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3710\"\u003e#3710\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/76063f26574b48f7ea8fd918f18744f3276669ad\"\u003e76063f2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elocale:\u003c/strong\u003e add Norwegian (nb_NO) vehicle definition (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3732\"\u003e#3732\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/d1c32b0326298534f40986328296232af209eb19\"\u003ed1c32b0\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elocales:\u003c/strong\u003e add Norwegian (nb_NO) zodiac sign definitions (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3711\"\u003e#3711\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/e306542867a4839fbe7eb8015c73db2f24bc6ceb\"\u003ee306542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eperson:\u003c/strong\u003e \u003ccode\u003esexType\u003c/code\u003e can return \u003ccode\u003e'generic'\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3259\"\u003e#3259\u003c/a\u003e) (\u003ca href=\"https://github.com/faker-js/faker/commit/0e099a1033ae89de2f9810558c3c0257d78a50fe\"\u003e0e099a1\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/faker-js/faker/commit/b8abfc6415fe5be3a207b1b3dd4266905b924f84\"\u003e\u003ccode\u003eb8abfc6\u003c/code\u003e\u003c/a\u003e chore(release): 10.4.0 (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3768\"\u003e#3768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-js/faker/commit/7108155ee3eb0da742e7ef26bb3795b5b9331d9e\"\u003e\u003ccode\u003e7108155\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3758\"\u003e#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-js/faker/commit/5e6cf2b74dee98556df6f95a45e1603a80db731d\"\u003e\u003ccode\u003e5e6cf2b\u003c/code\u003e\u003c/a\u003e chore(deps): update all non-major dependencies (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3767\"\u003e#3767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-js/faker/commit/91c944b7e8918af8f91c03e14f036063804b3e16\"\u003e\u003ccode\u003e91c944b\u003c/code\u003e\u003c/a\u003e chore(deps): update pnpm/action-setup action to v5 (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3766\"\u003e#3766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-js/faker/commit/cb18595f83328f01a121928ab33135829e10c2f1\"\u003e\u003ccode\u003ecb18595\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3765\"\u003e#3765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-js/faker/commit/af25d6b0dbbf85c91dfc5f56f163fef3514035d1\"\u003e\u003ccode\u003eaf25d6b\u003c/code\u003e\u003c/a\u003e chore(deps): update devdependencies (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3764\"\u003e#3764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-js/faker/commit/2e72c27e2aff7b45f469b446203afaa47089f4f9\"\u003e\u003ccode\u003e2e72c27\u003c/code\u003e\u003c/a\u003e chore(deps): update eslint (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3763\"\u003e#3763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-js/faker/commit/9a18091c23ca7236e9481dccaab60d80b1495f5f\"\u003e\u003ccode\u003e9a18091\u003c/code\u003e\u003c/a\u003e chore(deps): update mcr.microsoft.com/devcontainers/typescript-node:24 docker...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-js/faker/commit/aa7b6c017411d49df8afe2b6c4921978b7281b08\"\u003e\u003ccode\u003eaa7b6c0\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3756\"\u003e#3756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-js/faker/commit/89ba3459444ae5be0fe9c5f349ced863c4f95f7b\"\u003e\u003ccode\u003e89ba345\u003c/code\u003e\u003c/a\u003e chore(deps): update devdependencies (\u003ca href=\"https://redirect.github.com/faker-js/faker/issues/3755\"\u003e#3755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/faker-js/faker/compare/v10.2.0...v10.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@playwright/test` from 1.57.0 to 1.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e@​playwright/test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.60.0\u003c/h2\u003e\n\u003ch2\u003e🌐 HAR recording on Tracing\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-start-har\"\u003etracing.startHar()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-tracing#tracing-stop-har\"\u003etracing.stopHar()\u003c/a\u003e expose HAR recording as a first-class tracing API, with the same \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003emode\u003c/code\u003e and \u003ccode\u003eurlFilter\u003c/code\u003e options as \u003ccode\u003erecordHar\u003c/code\u003e. The returned \u003ca href=\"https://playwright.dev/docs/api/class-disposable\"\u003eDisposable\u003c/a\u003e makes it easy to scope a recording with \u003ccode\u003eawait using\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait using har = await context.tracing.startHar('trace.har');\r\nconst page = await context.newPage();\r\nawait page.goto('https://playwright.dev');\r\n// HAR is finalized when `har` goes out of scope.\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e🪝 Drop API\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-drop\"\u003elocator.drop()\u003c/a\u003e simulates an external drag-and-drop of files or clipboard-like data onto an element. Playwright dispatches \u003ccode\u003edragenter\u003c/code\u003e, \u003ccode\u003edragover\u003c/code\u003e, and \u003ccode\u003edrop\u003c/code\u003e with a synthetic [DataTransfer] in the page context — works cross-browser and is great for testing upload zones:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.locator('#dropzone').drop({\r\n  files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') },\r\n});\r\n\u003cp\u003eawait page.locator('#dropzone').drop({\ndata: {\n'text/plain': 'hello world',\n'text/uri-list': '\u003ca href=\"https://example.com\"\u003ehttps://example.com\u003c/a\u003e',\n},\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003e🎯 Aria snapshots\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-match-aria-snapshot\"\u003eexpect(page).toMatchAriaSnapshot()\u003c/a\u003e now works on a \u003ca href=\"https://playwright.dev/docs/api/class-page\"\u003ePage\u003c/a\u003e, in addition to a \u003ca href=\"https://playwright.dev/docs/api/class-locator\"\u003eLocator\u003c/a\u003e — equivalent to asserting against \u003ccode\u003epage.locator('body')\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eboxes\u003c/code\u003e option on \u003ca href=\"https://playwright.dev/docs/api/class-locator#locator-aria-snapshot\"\u003elocator.ariaSnapshot()\u003c/a\u003e / \u003ca href=\"https://playwright.dev/docs/api/class-page#page-aria-snapshot\"\u003epage.ariaSnapshot()\u003c/a\u003e appends each element's bounding box as \u003ccode\u003e[box=x,y,width,height]\u003c/code\u003e, useful for AI consumption.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛑 test.abort()\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-test#test-abort\"\u003etest.abort()\u003c/a\u003e aborts the currently running test from a fixture, hook, or route handler with an optional message. Use it when you have detected an unrecoverable misuse and want to fail the test right away:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003etest('does not publish to the shared page', async ({ page }) =\u0026gt; {\r\n  await page.route('**/publish', route =\u0026gt; {\r\n    test.abort('Tests must not publish to the shared page. Use the `clone` option.');\r\n    return route.abort();\r\n  });\r\n  // ...\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eNew APIs\u003c/h2\u003e\n\u003ch3\u003eBrowser, Context and Page\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/87bb9ddbd78f329df18c2b24847bc9409240cd07\"\u003e\u003ccode\u003e87bb9dd\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40747\"\u003e#40747\u003c/a\u003e): fix(yauzl): vendor yauzl with destroy-lifecycle fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9a9c51cb7d1b39fab51ca288e59f8ca38fd19910\"\u003e\u003ccode\u003e9a9c51c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40733\"\u003e#40733\u003c/a\u003e): chore(electron): revert \u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40184\"\u003e#40184\u003c/a\u003e (move Electron API to a s...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/4b3b628663031bcaaeca907e337892263524634d\"\u003e\u003ccode\u003e4b3b628\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40736\"\u003e#40736\u003c/a\u003e): Revert \u0026quot;feat(electron): add timeout option to electronAp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f869f96bbe6607cc3b88b4ca96fd82f17b301b50\"\u003e\u003ccode\u003ef869f96\u003c/code\u003e\u003c/a\u003e chore: bump version to v1.60.0 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40714\"\u003e#40714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/7eb6918afadfb0dd5c7e94ca9ffbddd84d8fbb39\"\u003e\u003ccode\u003e7eb6918\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40710\"\u003e#40710\u003c/a\u003e): docs: release notes v1.60\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/118d2aa6076d82840decca15d96b48611b08e392\"\u003e\u003ccode\u003e118d2aa\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40693\"\u003e#40693\u003c/a\u003e): chore(python): formdata path type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/54012f5dcc586da2e5d6cccd75f13ca367b94579\"\u003e\u003ccode\u003e54012f5\u003c/code\u003e\u003c/a\u003e chore(deps): bump ip-address and express-rate-limit (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40680\"\u003e#40680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9fa531da5677a3807d6e1dccd22c5137339a44f7\"\u003e\u003ccode\u003e9fa531d\u003c/code\u003e\u003c/a\u003e fix(screencast): unblock frame ack when an async client disconnects (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40674\"\u003e#40674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/3649db560ff943e724185784d34f7db131a11961\"\u003e\u003ccode\u003e3649db5\u003c/code\u003e\u003c/a\u003e chore(mcp): bump default extension protocol to v2 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40678\"\u003e#40678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/bb6c00957f47ba04caad7fca75d426309a2d32d4\"\u003e\u003ccode\u003ebb6c009\u003c/code\u003e\u003c/a\u003e chore(extension): mark 0.2.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40679\"\u003e#40679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.57.0...v1.60.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/postcss` from 4.1.18 to 4.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003e@​tailwindcss/postcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalizations for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: ensure files are not emptied out when killing the upgrade process while it's running (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: use \u003ccode\u003econfig.content\u003c/code\u003e when migrating from Tailwind CSS v3 to Tailwind CSS v4 (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: never migrate files that are ignored by git (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e@​tailwindcss/postcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.3.0] - 2026-05-08\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@container-size\u003c/code\u003e utility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18901\"\u003e#18901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-{auto,thin,none}\u003c/code\u003e utilities for \u003ccode\u003escrollbar-width\u003c/code\u003e, and \u003ccode\u003escrollbar-thumb-*\u003c/code\u003e / \u003ccode\u003escrollbar-track-*\u003c/code\u003e color utilities for \u003ccode\u003escrollbar-color\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19981\"\u003e#19981\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20019\"\u003e#20019\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escrollbar-gutter-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ezoom-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20020\"\u003e#20020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etab-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20022\"\u003e#20022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with stacked variants (e.g. \u003ccode\u003e@variant hover:focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow using \u003ccode\u003e@variant\u003c/code\u003e with compound variants (e.g. \u003ccode\u003e@variant hover, focus { … }\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19996\"\u003e#19996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003e--default(…)\u003c/code\u003e in \u003ccode\u003e--value(…)\u003c/code\u003e and \u003ccode\u003e--modifier(…)\u003c/code\u003e for functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19989\"\u003e#19989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ccode\u003e@plugin\u003c/code\u003e resolves package JavaScript entries instead of browser CSS entries when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19949\"\u003e#19949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix relative \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e paths resolving from the wrong directory when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19965\"\u003e#19965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure CSS files containing \u003ccode\u003e@variant\u003c/code\u003e are processed by \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19966\"\u003e#19966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve imports relative to \u003ccode\u003ebase\u003c/code\u003e when \u003ccode\u003eresult.opts.from\u003c/code\u003e is not provided when using \u003ccode\u003e@tailwindcss/postcss\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve significant \u003ccode\u003e_\u003c/code\u003e whitespace in arbitrary values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. \u003ccode\u003ew-[calc(100%---spacing(60))]\u003c/code\u003e → \u003ccode\u003ew-[calc(100%-(--spacing(60)))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19986\"\u003e#19986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. \u003ccode\u003e-mt-[20in]\u003c/code\u003e → \u003ccode\u003emt-[-20in]\u003c/code\u003e, not \u003ccode\u003emt-[-1920px]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19988\"\u003e#19988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: migrate arbitrary \u003ccode\u003e:has()\u003c/code\u003e variants from \u003ccode\u003e[\u0026amp;:has(…)]\u003c/code\u003e to \u003ccode\u003ehas-[…]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19991\"\u003e#19991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: don’t migrate inline \u003ccode\u003estyle\u003c/code\u003e attributes (e.g. \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e → \u003ccode\u003estyle=\u0026quot;flex-grow: 1\u0026quot;\u003c/code\u003e, not \u003ccode\u003estyle=\u0026quot;grow: 1\u0026quot;\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19918\"\u003e#19918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiple \u003ccode\u003e@utility\u003c/code\u003e definitions with the same name but different value types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19777\"\u003e#19777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport missing \u003ccode\u003ePluginWithConfig\u003c/code\u003e type from \u003ccode\u003etailwindcss/plugin\u003c/code\u003e to fix errors when inferring plugin config types (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19707\"\u003e#19707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e legacy utilities without values do not generate CSS (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20003\"\u003e#20003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e--value(…)\u003c/code\u003e is required in functional \u003ccode\u003e@utility\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20005\"\u003e#20005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. \u003ccode\u003e-left-[(var(--a)+var(--b))]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/20011\"\u003e#20011\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.4] - 2026-04-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.3] - 2026-04-20\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCanonicalization: improve canonicalization for \u003ccode\u003etracking-*\u003c/code\u003e utilities by preferring non-negative utilities (e.g. \u003ccode\u003e-tracking-tighter\u003c/code\u003e → \u003ccode\u003etracking-wider\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash due to invalid characters in candidate (exceeding valid unicode code point range) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19829\"\u003e#19829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure query params in imports are considered unique resources when using \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19723\"\u003e#19723\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse arbitrary values into shorthand utilities (e.g. \u003ccode\u003epx-[1.2rem] py-[1.2rem]\u003c/code\u003e → \u003ccode\u003ep-[1.2rem]\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19837\"\u003e#19837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eborder-{t,b}-*\u003c/code\u003e into \u003ccode\u003eborder-y-*\u003c/code\u003e, \u003ccode\u003eborder-{l,r}-*\u003c/code\u003e into \u003ccode\u003eborder-x-*\u003c/code\u003e, and \u003ccode\u003eborder-{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003eborder-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-m{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-my-*\u003c/code\u003e, \u003ccode\u003escroll-m{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-mx-*\u003c/code\u003e, and \u003ccode\u003escroll-m{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-m-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003escroll-p{t,b}-*\u003c/code\u003e into \u003ccode\u003escroll-py-*\u003c/code\u003e, \u003ccode\u003escroll-p{l,r}-*\u003c/code\u003e into \u003ccode\u003escroll-px-*\u003c/code\u003e, and \u003ccode\u003escroll-p{t,r,b,l}-*\u003c/code\u003e into \u003ccode\u003escroll-p-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverflow-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverflow-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalization: collapse \u003ccode\u003eoverscroll-{x,y}-*\u003c/code\u003e into \u003ccode\u003eoverscroll-*\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19842\"\u003e#19842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRead from \u003ccode\u003e--placeholder-color\u003c/code\u003e instead of \u003ccode\u003e--background-color\u003c/code\u003e for \u003ccode\u003eplaceholder-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19843\"\u003e#19843\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/588bd7371f4cae96426e1387819b7fd1d99765f9\"\u003e\u003ccode\u003e588bd73\u003c/code\u003e\u003c/a\u003e 4.3.0 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/20023\"\u003e#20023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/12eb5ae7b6026ff64c04f889b2221418d772da72\"\u003e\u003ccode\u003e12eb5ae\u003c/code\u003e\u003c/a\u003e Cleanup noisy test output (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/20015\"\u003e#20015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/4255671c5f792c42808ecd6b2dec27c16e3c559e\"\u003e\u003ccode\u003e4255671\u003c/code\u003e\u003c/a\u003e Improve snapshot tests (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/20013\"\u003e#20013\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/52f94c74bb491e9c3641ce322a0ef90fb3c45de6\"\u003e\u003ccode\u003e52f94c7\u003c/code\u003e\u003c/a\u003e Improve codebase quality (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19999\"\u003e#19999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d194d4c3e656313421f1cfa1954db8f58eec0fcd\"\u003e\u003ccode\u003ed194d4c\u003c/code\u003e\u003c/a\u003e docs: fix various typos in comments and documentation (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19878\"\u003e#19878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/bfb5732b0b948d89c6803cb537bca168ec8e0a46\"\u003e\u003ccode\u003ebfb5732\u003c/code\u003e\u003c/a\u003e Fall back to the plugin \u003ccode\u003ebase\u003c/code\u003e when PostCSS has no \u003ccode\u003efrom\u003c/code\u003e option (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19980\"\u003e#19980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/3a890c35727fe0630c59b72dbec799d02e3c4800\"\u003e\u003ccode\u003e3a890c3\u003c/code\u003e\u003c/a\u003e Bump dependencies (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19957\"\u003e#19957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/69ad7cc5ec091125842aba783c5bfce536e9c234\"\u003e\u003ccode\u003e69ad7cc\u003c/code\u003e\u003c/a\u003e 4.2.4 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19948\"\u003e#19948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/685c19e266a6b75842747acab6fe7076e82df62d\"\u003e\u003ccode\u003e685c19e\u003c/code\u003e\u003c/a\u003e Fix issue around resolving paths in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/2e3fa490a535a8341fd2853d75098f0d4dbcc825\"\u003e\u003ccode\u003e2e3fa49\u003c/code\u003e\u003c/a\u003e 4.2.3 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19944\"\u003e#19944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/@tailwindcss-postcss\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​tailwindcss/postcss\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tanstack/react-query-devtools` from 5.91.2 to 5.100.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/releases\"\u003e@​tanstack/react-query-devtools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/ed20b6d7541c908033acfcad92b0cd112930d1c3\"\u003e\u003ccode\u003eed20b6d\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/blob/main/packages/react-query-devtools/CHANGELOG.md\"\u003e@​tanstack/react-query-devtools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.100.14\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/ed20b6d7541c908033acfcad92b0cd112930d1c3\"\u003e\u003ccode\u003eed20b6d\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.13\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.13\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.12\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.11\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.11\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.10\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/4d130b992d2ac396d75f921bfc530dd3a9d50577\"\u003e\u003ccode\u003e4d130b9\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.10\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.10\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/3d21cacdec3028b700c4c2e3e0ff8dbe7a235e8c\"\u003e\u003ccode\u003e3d21cac\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.8\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/ba6e7beebd50143408f01fcf5d9aee2ec1486f60\"\u003e\u003ccode\u003eba6e7be\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10767\"\u003e#10767\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/05cf2bc0a4eae64959dc8a40152e2878190c971b\"\u003e\u003ccode\u003e05cf2bc\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10758\"\u003e#10758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/5ff4f6936bb66a64267eb4413430f956eecf7248\"\u003e\u003ccode\u003e5ff4f69\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10755\"\u003e#10755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/3e85350749751eef055fffb65f6838dfafa74891\"\u003e\u003ccode\u003e3e85350\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10706\"\u003e#10706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/9d2692cec4d538c2f96489027ba546f11638dfb1\"\u003e\u003ccode\u003e9d2692c\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10695\"\u003e#10695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/74fa05eb1b16f40ea7068afd0e5e082687d22338\"\u003e\u003ccode\u003e74fa05e\u003c/code\u003e\u003c/a\u003e chore(tsconfig.json): narrow 'include' pattern to prevent TS6053 race conditi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/8c3d523d0ab0b3f8fad28fbaae6807e7aca7eb54\"\u003e\u003ccode\u003e8c3d523\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10630\"\u003e#10630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/03eba38ae9f9367022316d802d827a8460edcab7\"\u003e\u003ccode\u003e03eba38\u003c/code\u003e\u003c/a\u003e test(react-query-devtools): add tests for missing 'QueryClient', context prov...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/9800c8f1a3f7907956410c23426a26d981e7d694\"\u003e\u003ccode\u003e9800c8f\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10623\"\u003e#10623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/3ae42619e5713b2fd6916760e84f7c9ddaa7a317\"\u003e\u003ccode\u003e3ae4261\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10620\"\u003e#10620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TanStack/query/commits/@tanstack/react-query-devtools@5.100.14/packages/react-query-devtools\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.0.9 to 25.9.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.53.1 to 8.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.60.0\u003c/h2\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e added updates of RuleTester from upstream (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291\"\u003e#12291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eplayground TS version selector is not working (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326\"\u003e#12326\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.60.0 (2026-05-25)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-deprecated] object destructuring values should be treated as declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12292\"\u003e#12292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-type-assertion] handle crash on recursive template literal types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12150\"\u003e#12150\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDima Barabash\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript...\n\n_Description has been truncated_","html_url":"https://github.com/Andresp1073/SIRA/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andresp1073%2FSIRA/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"}},{"old_version":"29.7.0","new_version":"30.4.2","update_type":"major","path":"the all group across 1 directory","pr_created_at":"2026-05-27T23:02:15.000Z","version_change":"29.7.0 → 30.4.2","issue":{"uuid":"4536339820","node_id":"PR_kwDOR_ybT87gBjbY","number":41,"state":"open","title":"Bump jest from 29.7.0 to 30.4.2 in the all group across 1 directory","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-27T23:02:15.000Z","updated_at":"2026-05-27T23:08:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"jest","old_version":"29.7.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"}],"path":"the all group across 1 directory","ecosystem":"npm"},"body":"Bumps the all group with 1 update in the / directory: [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest).\n\nUpdates `jest` from 29.7.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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/96c53d30660e51bf76ed2cd1ecc2334c399ac31c\"\u003e\u003ccode\u003e96c53d3\u003c/code\u003e\u003c/a\u003e feat(jest-config): add \u003ccode\u003edefineConfig\u003c/code\u003e and \u003ccode\u003emergeConfig\u003c/code\u003e functions (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15844\"\u003e#15844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/855864e3f9751366455246790be2bf912d4d0dac\"\u003e\u003ccode\u003e855864e\u003c/code\u003e\u003c/a\u003e v30.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/da9b532f04632367b0df15a842280501f225b732\"\u003e\u003ccode\u003eda9b532\u003c/code\u003e\u003c/a\u003e v30.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ebfa31cc9787303e8698a1a029a162a18e8974aa\"\u003e\u003ccode\u003eebfa31c\u003c/code\u003e\u003c/a\u003e v30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/d347c0f3f87f976a1dbd9761d503e45f5ced2a7e\"\u003e\u003ccode\u003ed347c0f\u003c/code\u003e\u003c/a\u003e v30.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jest\u0026package-manager=npm_and_yarn\u0026previous-version=29.7.0\u0026new-version=30.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \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/MainbaseT/css/pull/41","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MainbaseT%2Fcss/issues/41","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/41/packages"}},{"old_version":"29.7.0","new_version":"30.4.2","update_type":"major","path":null,"pr_created_at":"2026-05-27T21:57:26.000Z","version_change":"29.7.0 → 30.4.2","issue":{"uuid":"4536016143","node_id":"PR_kwDOSpuSgc7gAfch","number":27,"state":"open","title":"chore(deps): bump the dependencies group with 78 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-27T21:57:26.000Z","updated_at":"2026-05-28T04:21:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":78,"packages":[{"name":"@openzeppelin/contracts","old_version":"5.4.0","new_version":"5.6.1","repository_url":"https://github.com/OpenZeppelin/openzeppelin-contracts"},{"name":"dotenv","old_version":"17.3.1","new_version":"17.4.2","repository_url":"https://github.com/motdotla/dotenv"},{"name":"@nomicfoundation/hardhat-ethers","old_version":"4.0.5","new_version":"4.0.12","repository_url":"https://github.com/NomicFoundation/hardhat"},{"name":"@nomicfoundation/hardhat-toolbox","old_version":"6.1.2","new_version":"7.0.0","repository_url":"https://github.com/NomicFoundation/hardhat"},{"name":"hardhat","old_version":"3.1.10","new_version":"3.6.0","repository_url":"https://github.com/NomicFoundation/hardhat"},{"name":"@anthropic-ai/sdk","old_version":"0.67.1","new_version":"0.99.0","repository_url":"https://github.com/anthropics/anthropic-sdk-typescript"},{"name":"@react-oauth/google","old_version":"0.13.4","new_version":"0.13.5","repository_url":"https://github.com/MomenSherif/react-oauth"},{"name":"@simplewebauthn/server","old_version":"13.2.2","new_version":"13.3.1","repository_url":"https://github.com/MasterKale/SimpleWebAuthn"},{"name":"axios","old_version":"1.13.6","new_version":"1.13.4","repository_url":"https://github.com/axios/axios"},{"name":"bullmq","old_version":"5.67.3","new_version":"5.77.6","repository_url":"https://github.com/taskforcesh/bullmq"},{"name":"chromadb","old_version":"3.3.1","new_version":"3.4.3"},{"name":"express-rate-limit","old_version":"7.5.1","new_version":"8.5.2","repository_url":"https://github.com/express-rate-limit/express-rate-limit"},{"name":"express-validator","old_version":"7.3.1","new_version":"7.3.2","repository_url":"https://github.com/express-validator/express-validator"},{"name":"gcp-metadata","old_version":"5.3.0","new_version":"8.1.2","repository_url":"https://github.com/googleapis/google-cloud-node-core"},{"name":"glob","old_version":"10.5.0","new_version":"13.0.2","repository_url":"https://github.com/isaacs/node-glob"},{"name":"google-auth-library","old_version":"10.5.0","new_version":"10.6.2","repository_url":"https://github.com/googleapis/google-cloud-node-core"},{"name":"helmet","old_version":"8.1.0","new_version":"8.2.0","repository_url":"https://github.com/helmetjs/helmet"},{"name":"ioredis","old_version":"5.9.2","new_version":"5.11.0","repository_url":"https://github.com/luin/ioredis"},{"name":"mongoose","old_version":"8.23.0","new_version":"9.6.3","repository_url":"https://github.com/Automattic/mongoose"},{"name":"multer","old_version":"2.0.2","new_version":"2.1.1","repository_url":"https://github.com/expressjs/multer"},{"name":"nanoid","old_version":"5.1.6","new_version":"5.1.11","repository_url":"https://github.com/ai/nanoid"},{"name":"natural","old_version":"8.1.0","new_version":"8.1.1","repository_url":"https://github.com/NaturalNode/natural"},{"name":"node-cron","old_version":"3.0.3","new_version":"4.2.1","repository_url":"https://github.com/merencia/node-cron"},{"name":"nodemailer","old_version":"6.10.1","new_version":"8.0.9","repository_url":"https://github.com/nodemailer/nodemailer"},{"name":"openai","old_version":"6.21.0","new_version":"6.39.0","repository_url":"https://github.com/openai/openai-node"},{"name":"otplib","old_version":"13.2.1","new_version":"13.4.0","repository_url":"https://github.com/yeojz/otplib"},{"name":"pino","old_version":"9.14.0","new_version":"10.3.1","repository_url":"https://github.com/pinojs/pino"},{"name":"pino-pretty","old_version":"11.3.0","new_version":"13.1.3","repository_url":"https://github.com/pinojs/pino-pretty"},{"name":"stripe","old_version":"14.25.0","new_version":"22.2.0","repository_url":"https://github.com/stripe/stripe-node"},{"name":"swagger-jsdoc","old_version":"6.2.8","new_version":"6.3.0","repository_url":"https://github.com/Surnet/swagger-jsdoc"},{"name":"uuid","old_version":"9.0.1","new_version":"14.0.0","repository_url":"https://github.com/uuidjs/uuid"},{"name":"validator","old_version":"13.15.26","new_version":"13.15.35","repository_url":"https://github.com/validatorjs/validator.js"},{"name":"@babel/traverse","old_version":"7.29.0","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@prisma/client","old_version":"5.10.0","new_version":"7.8.0","repository_url":"https://github.com/prisma/prisma"},{"name":"jest","old_version":"29.7.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"nodemon","old_version":"3.1.11","new_version":"3.1.14","repository_url":"https://github.com/remy/nodemon"},{"name":"prisma","old_version":"5.10.0","new_version":"7.8.0","repository_url":"https://github.com/prisma/prisma"},{"name":"@simplewebauthn/browser","old_version":"13.2.2","new_version":"13.3.0","repository_url":"https://github.com/MasterKale/SimpleWebAuthn"},{"name":"@stripe/react-stripe-js","old_version":"5.6.0","new_version":"6.4.0","repository_url":"https://github.com/stripe/react-stripe-js"},{"name":"@stripe/stripe-js","old_version":"8.7.0","new_version":"9.7.0","repository_url":"https://github.com/stripe/stripe-js"},{"name":"@tanstack/react-query","old_version":"5.90.21","new_version":"5.100.14","repository_url":"https://github.com/TanStack/query"},{"name":"@walletconnect/ethereum-provider","old_version":"2.21.10","new_version":"2.23.9","repository_url":"https://github.com/WalletConnect/walletconnect-monorepo"},{"name":"browserslist","old_version":"4.28.1","new_version":"4.28.2","repository_url":"https://github.com/browserslist/browserslist"},{"name":"framer-motion","old_version":"12.34.0","new_version":"12.40.0","repository_url":"https://github.com/motiondivision/motion"},{"name":"lucide-react","old_version":"0.544.0","new_version":"1.16.0","repository_url":"https://github.com/lucide-icons/lucide"},{"name":"react","old_version":"18.3.1","new_version":"19.2.6","repository_url":"https://github.com/facebook/react"},{"name":"@types/react","old_version":"18.3.28","new_version":"19.2.15","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-dom","old_version":"18.3.1","new_version":"19.2.6","repository_url":"https://github.com/facebook/react"},{"name":"@types/react-dom","old_version":"18.3.7","new_version":"19.2.3","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-icons","old_version":"5.5.0","new_version":"5.6.0","repository_url":"https://github.com/react-icons/react-icons"},{"name":"react-router-dom","old_version":"6.30.3","new_version":"7.15.1","repository_url":"https://github.com/remix-run/react-router"},{"name":"react-syntax-highlighter","old_version":"16.1.0","new_version":"16.1.1","repository_url":"https://github.com/react-syntax-highlighter/react-syntax-highlighter"},{"name":"recharts","old_version":"3.7.0","new_version":"3.8.1","repository_url":"https://github.com/recharts/recharts"},{"name":"serve","old_version":"14.2.5","new_version":"14.2.6","repository_url":"https://github.com/vercel/serve"},{"name":"three","old_version":"0.180.0","new_version":"0.184.0","repository_url":"https://github.com/mrdoob/three.js"},{"name":"viem","old_version":"2.46.3","new_version":"2.45.3","repository_url":"https://github.com/wevm/viem"},{"name":"wagmi","old_version":"3.4.3","new_version":"3.6.16","repository_url":"https://github.com/wevm/wagmi"},{"name":"zustand","old_version":"5.0.11","new_version":"5.0.13","repository_url":"https://github.com/pmndrs/zustand"},{"name":"@vitejs/plugin-react","old_version":"4.7.0","new_version":"6.0.2","repository_url":"https://github.com/vitejs/vite-plugin-react"},{"name":"autoprefixer","old_version":"10.4.24","new_version":"10.5.0","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"eslint","old_version":"8.57.1","new_version":"10.4.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-react-hooks","old_version":"4.6.2","new_version":"7.1.1","repository_url":"https://github.com/facebook/react"},{"name":"eslint-plugin-react-refresh","old_version":"0.4.26","new_version":"0.5.2","repository_url":"https://github.com/ArnaudBarre/eslint-plugin-react-refresh"},{"name":"jsdom","old_version":"27.4.0","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"postcss","old_version":"8.5.6","new_version":"8.5.15","repository_url":"https://github.com/postcss/postcss"},{"name":"tailwindcss","old_version":"3.4.19","new_version":"4.3.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"vite","old_version":"5.4.21","new_version":"8.0.14","repository_url":"https://github.com/vitejs/vite"},{"name":"vite-plugin-node-polyfills","old_version":"0.24.0","new_version":"0.28.0","repository_url":"https://github.com/davidmyersdev/vite-plugin-node-polyfills"},{"name":"vite-plugin-pwa","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/vite-pwa/vite-plugin-pwa"},{"name":"vitest","old_version":"3.2.4","new_version":"4.1.7","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"webpack","old_version":"5.105.1","new_version":"5.107.2","repository_url":"https://github.com/webpack/webpack"},{"name":"webpack-cli","old_version":"5.1.4","new_version":"7.0.3","repository_url":"https://github.com/webpack/webpack-cli"},{"name":"babel-loader","old_version":"9.2.1","new_version":"10.1.1","repository_url":"https://github.com/babel/babel-loader"},{"name":"@babel/core","old_version":"7.29.0","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/preset-env","old_version":"7.29.0","new_version":"7.29.7","repository_url":"https://github.com/babel/babel"},{"name":"@modelcontextprotocol/sdk","old_version":"1.26.0","new_version":"1.29.0","repository_url":"https://github.com/modelcontextprotocol/typescript-sdk"},{"name":"@types/node","old_version":"24.10.1","new_version":"22.19.11","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.3","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 78 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@openzeppelin/contracts](https://github.com/OpenZeppelin/openzeppelin-contracts) | `5.4.0` | `5.6.1` |\n| [dotenv](https://github.com/motdotla/dotenv) | `17.3.1` | `17.4.2` |\n| [@nomicfoundation/hardhat-ethers](https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-ethers) | `4.0.5` | `4.0.12` |\n| [@nomicfoundation/hardhat-toolbox](https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-toolbox) | `6.1.2` | `7.0.0` |\n| [hardhat](https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat) | `3.1.10` | `3.6.0` |\n| [@anthropic-ai/sdk](https://github.com/anthropics/anthropic-sdk-typescript) | `0.67.1` | `0.99.0` |\n| [@react-oauth/google](https://github.com/MomenSherif/react-oauth) | `0.13.4` | `0.13.5` |\n| [@simplewebauthn/server](https://github.com/MasterKale/SimpleWebAuthn/tree/HEAD/packages/server) | `13.2.2` | `13.3.1` |\n| [axios](https://github.com/axios/axios) | `1.13.6` | `1.13.4` |\n| [bullmq](https://github.com/taskforcesh/bullmq) | `5.67.3` | `5.77.6` |\n| chromadb | `3.3.1` | `3.4.3` |\n| [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit) | `7.5.1` | `8.5.2` |\n| [express-validator](https://github.com/express-validator/express-validator) | `7.3.1` | `7.3.2` |\n| [gcp-metadata](https://github.com/googleapis/google-cloud-node-core/tree/HEAD/packages/gcp-metadata) | `5.3.0` | `8.1.2` |\n| [glob](https://github.com/isaacs/node-glob) | `10.5.0` | `13.0.2` |\n| [google-auth-library](https://github.com/googleapis/google-cloud-node-core/tree/HEAD/packages/google-auth-library-nodejs) | `10.5.0` | `10.6.2` |\n| [helmet](https://github.com/helmetjs/helmet) | `8.1.0` | `8.2.0` |\n| [ioredis](https://github.com/luin/ioredis) | `5.9.2` | `5.11.0` |\n| [mongoose](https://github.com/Automattic/mongoose) | `8.23.0` | `9.6.3` |\n| [multer](https://github.com/expressjs/multer) | `2.0.2` | `2.1.1` |\n| [nanoid](https://github.com/ai/nanoid) | `5.1.6` | `5.1.11` |\n| [natural](https://github.com/NaturalNode/natural) | `8.1.0` | `8.1.1` |\n| [node-cron](https://github.com/merencia/node-cron) | `3.0.3` | `4.2.1` |\n| [nodemailer](https://github.com/nodemailer/nodemailer) | `6.10.1` | `8.0.9` |\n| [openai](https://github.com/openai/openai-node) | `6.21.0` | `6.39.0` |\n| [otplib](https://github.com/yeojz/otplib/tree/HEAD/packages/otplib) | `13.2.1` | `13.4.0` |\n| [pino](https://github.com/pinojs/pino) | `9.14.0` | `10.3.1` |\n| [pino-pretty](https://github.com/pinojs/pino-pretty) | `11.3.0` | `13.1.3` |\n| [stripe](https://github.com/stripe/stripe-node) | `14.25.0` | `22.2.0` |\n| [swagger-jsdoc](https://github.com/Surnet/swagger-jsdoc) | `6.2.8` | `6.3.0` |\n| [uuid](https://github.com/uuidjs/uuid) | `9.0.1` | `14.0.0` |\n| [validator](https://github.com/validatorjs/validator.js) | `13.15.26` | `13.15.35` |\n| [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) | `7.29.0` | `7.29.7` |\n| [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client) | `5.10.0` | `7.8.0` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.4.2` |\n| [nodemon](https://github.com/remy/nodemon) | `3.1.11` | `3.1.14` |\n| [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli) | `5.10.0` | `7.8.0` |\n| [@simplewebauthn/browser](https://github.com/MasterKale/SimpleWebAuthn/tree/HEAD/packages/browser) | `13.2.2` | `13.3.0` |\n| [@stripe/react-stripe-js](https://github.com/stripe/react-stripe-js) | `5.6.0` | `6.4.0` |\n| [@stripe/stripe-js](https://github.com/stripe/stripe-js) | `8.7.0` | `9.7.0` |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.90.21` | `5.100.14` |\n| [@walletconnect/ethereum-provider](https://github.com/WalletConnect/walletconnect-monorepo/tree/HEAD/providers/ethereum-provider) | `2.21.10` | `2.23.9` |\n| [browserslist](https://github.com/browserslist/browserslist) | `4.28.1` | `4.28.2` |\n| [framer-motion](https://github.com/motiondivision/motion) | `12.34.0` | `12.40.0` |\n| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.544.0` | `1.16.0` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `18.3.1` | `19.2.6` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `18.3.28` | `19.2.15` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `18.3.1` | `19.2.6` |\n| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `18.3.7` | `19.2.3` |\n| [react-icons](https://github.com/react-icons/react-icons) | `5.5.0` | `5.6.0` |\n| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `6.30.3` | `7.15.1` |\n| [react-syntax-highlighter](https://github.com/react-syntax-highlighter/react-syntax-highlighter) | `16.1.0` | `16.1.1` |\n| [recharts](https://github.com/recharts/recharts) | `3.7.0` | `3.8.1` |\n| [serve](https://github.com/vercel/serve) | `14.2.5` | `14.2.6` |\n| [three](https://github.com/mrdoob/three.js) | `0.180.0` | `0.184.0` |\n| [viem](https://github.com/wevm/viem) | `2.46.3` | `2.45.3` |\n| [wagmi](https://github.com/wevm/wagmi/tree/HEAD/packages/react) | `3.4.3` | `3.6.16` |\n| [zustand](https://github.com/pmndrs/zustand) | `5.0.11` | `5.0.13` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `4.7.0` | `6.0.2` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.24` | `10.5.0` |\n| [eslint](https://github.com/eslint/eslint) | `8.57.1` | `10.4.0` |\n| [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) | `4.6.2` | `7.1.1` |\n| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.4.26` | `0.5.2` |\n| [jsdom](https://github.com/jsdom/jsdom) | `27.4.0` | `29.1.1` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.6` | `8.5.15` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `3.4.19` | `4.3.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `5.4.21` | `8.0.14` |\n| [vite-plugin-node-polyfills](https://github.com/davidmyersdev/vite-plugin-node-polyfills) | `0.24.0` | `0.28.0` |\n| [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) | `1.2.0` | `1.3.0` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `3.2.4` | `4.1.7` |\n| [webpack](https://github.com/webpack/webpack) | `5.105.1` | `5.107.2` |\n| [webpack-cli](https://github.com/webpack/webpack-cli) | `5.1.4` | `7.0.3` |\n| [babel-loader](https://github.com/babel/babel-loader) | `9.2.1` | `10.1.1` |\n| [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `7.29.0` | `7.29.7` |\n| [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) | `7.29.0` | `7.29.7` |\n| [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk) | `1.26.0` | `1.29.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.10.1` | `22.19.11` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.3` |\n\nUpdates `@openzeppelin/contracts` from 5.4.0 to 5.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/releases\"\u003e@​openzeppelin/contracts's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.6.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eInteroperableAddress\u003c/code\u003e: Fix overflow in the parsing functions that caused silent misparse of large interoperable addresses. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6372\"\u003e#6372\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.6.0\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eStrings\u003c/code\u003e: The \u003ccode\u003eescapeJSON\u003c/code\u003e function now escapes all control characters in the range U+0000 to U+001F per RFC-4627. Previously only backspace, tab, newline, form feed, carriage return, double quote, and backslash were escaped. Input strings containing any other control character (e.g. null \u003ccode\u003e0x00\u003c/code\u003e) or raw bytes in U+0001–U+001F will now produce different, longer output (e.g. \u003ccode\u003e\\u0000\u003c/code\u003e for null). (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6344\"\u003e#6344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC1155\u003c/code\u003e: Performing batch transfers with exactly one id/value in the batch no-longer calls \u003ccode\u003eIERC1155Receiver.onERC1155Received\u003c/code\u003e. \u003ccode\u003eIERC1155Receiver.onERC1155BatchReceived\u003c/code\u003e is called instead (with arrays of length one). (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6170\"\u003e#6170\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC1967Proxy\u003c/code\u003e and \u003ccode\u003eTransparentUpgradeableProxy\u003c/code\u003e: Mandate initialization during construction. Deployment now reverts with \u003ccode\u003eERC1967ProxyUninitialized\u003c/code\u003e if an initialize call is not provided. Developers that rely on the previous behavior and want to disable this check can do so by overriding the internal \u003ccode\u003e_unsafeAllowUninitialized\u003c/code\u003e function to return true. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5906\"\u003e#5906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC721\u003c/code\u003e and \u003ccode\u003eERC1155\u003c/code\u003e: Prevent setting an operator for \u003ccode\u003eaddress(0)\u003c/code\u003e. In the case of \u003ccode\u003eERC721\u003c/code\u003e this type of operator allowance could lead to obfuscated mint permission. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6171\"\u003e#6171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRLP\u003c/code\u003e: The \u003ccode\u003eencode(bytes32)\u003c/code\u003e function now encodes \u003ccode\u003ebytes32\u003c/code\u003e as a fixed size item and not as a scalar in \u003ccode\u003eencode(uint256)\u003c/code\u003e. Users must replace calls to \u003ccode\u003eencode(bytes32)\u003c/code\u003e with \u003ccode\u003eencode(uint256(bytes32))\u003c/code\u003e to preserve the same behavior. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6167\"\u003e#6167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC4337Utils\u003c/code\u003e: The \u003ccode\u003eparseValidationData\u003c/code\u003e now returns a \u003ccode\u003eValidationRange\u003c/code\u003e as the last return tuple value indicating whether the \u003ccode\u003evalidationData\u003c/code\u003e is compared against a timestamp or block number. Developers must update their code to handle this new return value (e.g. \u003ccode\u003e(aggregator, validAfter, validUntil) -\u0026gt; (aggregator, validAfter, validUntil, range)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6215\"\u003e#6215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSignerWebAuthn\u003c/code\u003e: The \u003ccode\u003e_rawSignatureValidation\u003c/code\u003e function now returns \u003ccode\u003efalse\u003c/code\u003e when the signature is not a valid WebAuthn authentication assertion. P256 fallback is removed. Developers can add it back by overriding the function. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6337\"\u003e#6337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMemory\u003c/code\u003e: The \u003ccode\u003esetFreeMemoryPointer\u003c/code\u003e function is renamed to \u003ccode\u003eunsafeSetFreeMemoryPointer\u003c/code\u003e. Developers should use \u003ccode\u003eunsafeSetFreeMemoryPointer\u003c/code\u003e instead of \u003ccode\u003esetFreeMemoryPointer\u003c/code\u003e after v5.6.0. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6348\"\u003e#6348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMemory\u003c/code\u003e: Remove the \u003ccode\u003easBytes32\u003c/code\u003e and \u003ccode\u003easPointer\u003c/code\u003e function to reduce the risk of mistakes when manipulating memory pointers. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6340\"\u003e#6340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges by category\u003c/h3\u003e\n\u003ch4\u003eAccount\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAccount\u003c/code\u003e: Update default version of the ERC-4337 entrypoint to v0.9. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6135\"\u003e#6135\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAccountERC7579\u003c/code\u003e: Do not revert and perform the uninstall if the \u003ccode\u003eonUninstall\u003c/code\u003e hook of a module reverts. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6142\"\u003e#6142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC4337Utils\u003c/code\u003e: Added the \u003ccode\u003epaymasterSignature\u003c/code\u003e function to extract the signature in \u003ccode\u003epaymasterAndData\u003c/code\u003e after Entrypoint v0.9. Similarly, a variant of \u003ccode\u003epaymasterData\u003c/code\u003e that receives a flag to exclude the signature from the returned data. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6215\"\u003e#6215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC4337Utils\u003c/code\u003e: Added variants of \u003ccode\u003epackValidationData(address,uint48,uint48)\u003c/code\u003e and \u003ccode\u003epackValidationData(bool,uint48,uint48)\u003c/code\u003e that receive a \u003ccode\u003eValidationRange\u003c/code\u003e argument, could be timestamp or block number. Similarly, the \u003ccode\u003eparseValidationData\u003c/code\u003e now returns a \u003ccode\u003eValidationRange\u003c/code\u003e too. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6215\"\u003e#6215\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eTokens\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eERC1155\u003c/code\u003e: Introduce the \u003ccode\u003e_checkAuthorized\u003c/code\u003e internal virtual function to encapsulate \u003ccode\u003eisApprovedForAll\u003c/code\u003e and \u003ccode\u003emsg.sender == from\u003c/code\u003e checks. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6133\"\u003e#6133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC1155\u003c/code\u003e: Call \u003ccode\u003eIERC1155Receiver.onERC1155BatchReceived\u003c/code\u003e when performing a batch transfers with exactly one id/value in the batch. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6170\"\u003e#6170\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC4626\u003c/code\u003e: Allow overriding underlying assets transfer mechanisms through new internal virtual functions (\u003ccode\u003e_transferIn\u003c/code\u003e and \u003ccode\u003e_transferOut\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5970\"\u003e#5970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC721URIStorage\u003c/code\u003e: Add \u003ccode\u003e_suffixURI\u003c/code\u003e, an internal getter for retrieving the custom tokenURI without the base prefix. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6175\"\u003e#6175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ERC-165 detection for the \u003ccode\u003eIERC6909ContentURI\u003c/code\u003e, \u003ccode\u003eIERC6909TokenSupply\u003c/code\u003e and \u003ccode\u003eIERC6909Metadata\u003c/code\u003e interfaces in the \u003ccode\u003eERC6909ContentURI\u003c/code\u003e, \u003ccode\u003eERC6909TokenSupply\u003c/code\u003e and \u003ccode\u003eERC6909Metadata\u003c/code\u003e contracts respectively. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6246\"\u003e#6246\u003c/a\u003e) and (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6247\"\u003e#6247\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCross-chain\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eBridgeFungible\u003c/code\u003e, \u003ccode\u003eBridgeERC20\u003c/code\u003e and \u003ccode\u003eBridgeERC7802\u003c/code\u003e: Added bridge contracts to handle crosschain movements of ERC-20 (and ERC-7802) tokens. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5914\"\u003e#5914\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6328\"\u003e#6328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCrosschainLinked\u003c/code\u003e: Added a new helper contract to facilitate communication between a contract on one chain and counterparts on remote chains through ERC-7786 gateways. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5914\"\u003e#5914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC20Crosschain\u003c/code\u003e: Added an ERC-20 extension to embed an ERC-7786 based crosschain bridge directly in the token contract. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5914\"\u003e#5914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eInteroperableAddress\u003c/code\u003e: Reject inputs with both chain reference and addresses empty. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6340\"\u003e#6340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCryptography\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMessageHashUtils\u003c/code\u003e: Add helper functions to build EIP-712 domain typehash and separator with fields selectively enabled/disabled. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5908\"\u003e#5908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSignatureChecker\u003c/code\u003e: Add \u003ccode\u003eisValidERC1271SignatureNowCalldata\u003c/code\u003e, a variant of \u003ccode\u003eisValidERC1271SignatureNow\u003c/code\u003e that takes the signature from calldata. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6123\"\u003e#6123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTrieProof\u003c/code\u003e: Add library for verifying Ethereum Merkle-Patricia trie inclusion proofs. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5826\"\u003e#5826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eWebAuthn\u003c/code\u003e: Verification now returns \u003ccode\u003efalse\u003c/code\u003e instead of reverting when client data contains an out-of-bounds \u003ccode\u003echallengeIndex\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6329\"\u003e#6329\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eStructures\u003c/h4\u003e\n\u003c!-- 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/OpenZeppelin/openzeppelin-contracts/blob/master/CHANGELOG.md\"\u003e@​openzeppelin/contracts's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.1 (2026-02-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eInteroperableAddress\u003c/code\u003e: Fix overflow in the parsing functions that caused silent misparse of large interoperable addresses. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6372\"\u003e#6372\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.0 (2026-02-25)\u003c/h2\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eStrings\u003c/code\u003e: The \u003ccode\u003eescapeJSON\u003c/code\u003e function now escapes all control characters in the range U+0000 to U+001F per RFC-4627. Previously only backspace, tab, newline, form feed, carriage return, double quote, and backslash were escaped. Input strings containing any other control character (e.g. null \u003ccode\u003e0x00\u003c/code\u003e) or raw bytes in U+0001–U+001F will now produce different, longer output (e.g. \u003ccode\u003e\\u0000\u003c/code\u003e for null). (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6344\"\u003e#6344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC1155\u003c/code\u003e: Performing batch transfers with exactly one id/value in the batch no-longer calls \u003ccode\u003eIERC1155Receiver.onERC1155Received\u003c/code\u003e. \u003ccode\u003eIERC1155Receiver.onERC1155BatchReceived\u003c/code\u003e is called instead (with arrays of length one). (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6170\"\u003e#6170\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC1967Proxy\u003c/code\u003e and \u003ccode\u003eTransparentUpgradeableProxy\u003c/code\u003e: Mandate initialization during construction. Deployment now reverts with \u003ccode\u003eERC1967ProxyUninitialized\u003c/code\u003e if an initialize call is not provided. Developers that rely on the previous behavior and want to disable this check can do so by overriding the internal \u003ccode\u003e_unsafeAllowUninitialized\u003c/code\u003e function to return true. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5906\"\u003e#5906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC721\u003c/code\u003e and \u003ccode\u003eERC1155\u003c/code\u003e: Prevent setting an operator for \u003ccode\u003eaddress(0)\u003c/code\u003e. In the case of \u003ccode\u003eERC721\u003c/code\u003e this type of operator allowance could lead to obfuscated mint permission. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6171\"\u003e#6171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRLP\u003c/code\u003e: The \u003ccode\u003eencode(bytes32)\u003c/code\u003e function now encodes \u003ccode\u003ebytes32\u003c/code\u003e as a fixed size item and not as a scalar in \u003ccode\u003eencode(uint256)\u003c/code\u003e. Users must replace calls to \u003ccode\u003eencode(bytes32)\u003c/code\u003e with \u003ccode\u003eencode(uint256(bytes32))\u003c/code\u003e to preserve the same behavior. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6167\"\u003e#6167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC4337Utils\u003c/code\u003e: The \u003ccode\u003eparseValidationData\u003c/code\u003e now returns a \u003ccode\u003eValidationRange\u003c/code\u003e as the last return tuple value indicating whether the \u003ccode\u003evalidationData\u003c/code\u003e is compared against a timestamp or block number. Developers must update their code to handle this new return value (e.g. \u003ccode\u003e(aggregator, validAfter, validUntil) -\u0026gt; (aggregator, validAfter, validUntil, range)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6215\"\u003e#6215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSignerWebAuthn\u003c/code\u003e: The \u003ccode\u003e_rawSignatureValidation\u003c/code\u003e function now returns \u003ccode\u003efalse\u003c/code\u003e when the signature is not a valid WebAuthn authentication assertion. P256 fallback is removed. Developers can add it back by overriding the function. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6337\"\u003e#6337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMemory\u003c/code\u003e: The \u003ccode\u003esetFreeMemoryPointer\u003c/code\u003e function is renamed to \u003ccode\u003eunsafeSetFreeMemoryPointer\u003c/code\u003e. Developers should use \u003ccode\u003eunsafeSetFreeMemoryPointer\u003c/code\u003e instead of \u003ccode\u003esetFreeMemoryPointer\u003c/code\u003e after v5.6.0. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6348\"\u003e#6348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMemory\u003c/code\u003e: Remove the \u003ccode\u003easBytes32\u003c/code\u003e and \u003ccode\u003easPointer\u003c/code\u003e function to reduce the risk of mistakes when manipulating memory pointers. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6340\"\u003e#6340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges by category\u003c/h3\u003e\n\u003ch4\u003eAccount\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAccount\u003c/code\u003e: Update default version of the ERC-4337 entrypoint to v0.9. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6135\"\u003e#6135\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAccountERC7579\u003c/code\u003e: Do not revert and perform the uninstall if the \u003ccode\u003eonUninstall\u003c/code\u003e hook of a module reverts. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6142\"\u003e#6142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC4337Utils\u003c/code\u003e: Added the \u003ccode\u003epaymasterSignature\u003c/code\u003e function to extract the signature in \u003ccode\u003epaymasterAndData\u003c/code\u003e after Entrypoint v0.9. Similarly, a variant of \u003ccode\u003epaymasterData\u003c/code\u003e that receives a flag to exclude the signature from the returned data. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6215\"\u003e#6215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC4337Utils\u003c/code\u003e: Added variants of \u003ccode\u003epackValidationData(address,uint48,uint48)\u003c/code\u003e and \u003ccode\u003epackValidationData(bool,uint48,uint48)\u003c/code\u003e that receive a \u003ccode\u003eValidationRange\u003c/code\u003e argument, could be timestamp or block number. Similarly, the \u003ccode\u003eparseValidationData\u003c/code\u003e now returns a \u003ccode\u003eValidationRange\u003c/code\u003e too. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6215\"\u003e#6215\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eTokens\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eERC1155\u003c/code\u003e: Introduce the \u003ccode\u003e_checkAuthorized\u003c/code\u003e internal virtual function to encapsulate \u003ccode\u003eisApprovedForAll\u003c/code\u003e and \u003ccode\u003emsg.sender == from\u003c/code\u003e checks. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6133\"\u003e#6133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC1155\u003c/code\u003e: Call \u003ccode\u003eIERC1155Receiver.onERC1155BatchReceived\u003c/code\u003e when performing a batch transfers with exactly one id/value in the batch. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6170\"\u003e#6170\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC4626\u003c/code\u003e: Allow overriding underlying assets transfer mechanisms through new internal virtual functions (\u003ccode\u003e_transferIn\u003c/code\u003e and \u003ccode\u003e_transferOut\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5970\"\u003e#5970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC721URIStorage\u003c/code\u003e: Add \u003ccode\u003e_suffixURI\u003c/code\u003e, an internal getter for retrieving the custom tokenURI without the base prefix. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6175\"\u003e#6175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ERC-165 detection for the \u003ccode\u003eIERC6909ContentURI\u003c/code\u003e, \u003ccode\u003eIERC6909TokenSupply\u003c/code\u003e and \u003ccode\u003eIERC6909Metadata\u003c/code\u003e interfaces in the \u003ccode\u003eERC6909ContentURI\u003c/code\u003e, \u003ccode\u003eERC6909TokenSupply\u003c/code\u003e and \u003ccode\u003eERC6909Metadata\u003c/code\u003e contracts respectively. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6246\"\u003e#6246\u003c/a\u003e) and (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6247\"\u003e#6247\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCross-chain\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eBridgeFungible\u003c/code\u003e, \u003ccode\u003eBridgeERC20\u003c/code\u003e and \u003ccode\u003eBridgeERC7802\u003c/code\u003e: Added bridge contracts to handle crosschain movements of ERC-20 (and ERC-7802) tokens. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5914\"\u003e#5914\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6328\"\u003e#6328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCrosschainLinked\u003c/code\u003e: Added a new helper contract to facilitate communication between a contract on one chain and counterparts on remote chains through ERC-7786 gateways. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5914\"\u003e#5914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eERC20Crosschain\u003c/code\u003e: Added an ERC-20 extension to embed an ERC-7786 based crosschain bridge directly in the token contract. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5914\"\u003e#5914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eInteroperableAddress\u003c/code\u003e: Reject inputs with both chain reference and addresses empty. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6340\"\u003e#6340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCryptography\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eMessageHashUtils\u003c/code\u003e: Add helper functions to build EIP-712 domain typehash and separator with fields selectively enabled/disabled. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5908\"\u003e#5908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSignatureChecker\u003c/code\u003e: Add \u003ccode\u003eisValidERC1271SignatureNowCalldata\u003c/code\u003e, a variant of \u003ccode\u003eisValidERC1271SignatureNow\u003c/code\u003e that takes the signature from calldata. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6123\"\u003e#6123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTrieProof\u003c/code\u003e: Add library for verifying Ethereum Merkle-Patricia trie inclusion proofs. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/5826\"\u003e#5826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eWebAuthn\u003c/code\u003e: Verification now returns \u003ccode\u003efalse\u003c/code\u003e instead of reverting when client data contains an out-of-bounds \u003ccode\u003echallengeIndex\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/pull/6329\"\u003e#6329\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eStructures\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/5fd1781b1454fd1ef8e722282f86f9293cacf256\"\u003e\u003ccode\u003e5fd1781\u003c/code\u003e\u003c/a\u003e Release v5.6.1 (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/issues/6377\"\u003e#6377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/82cad372db5b5a2a1dc7cb45751df311d86a7117\"\u003e\u003ccode\u003e82cad37\u003c/code\u003e\u003c/a\u003e Fix support for very large inputs in InteroperableAddress (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/issues/6372\"\u003e#6372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/56a3de2cea907c9a500d32e70c275f68393b7ba6\"\u003e\u003ccode\u003e56a3de2\u003c/code\u003e\u003c/a\u003e Release v5.6.0 (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/issues/6340\"\u003e#6340\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/6ec651d4b3235a74f1f9dcc802f10e75909806f4\"\u003e\u003ccode\u003e6ec651d\u003c/code\u003e\u003c/a\u003e Exit release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/4c10cbe5c114fb454dcf37aa99aedcf434bc34c6\"\u003e\u003ccode\u003e4c10cbe\u003c/code\u003e\u003c/a\u003e Add support for inline extension nodes in TrieProof (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/issues/6351\"\u003e#6351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/aa110ab23c48dbc1a78fba0bb4366e894568c126\"\u003e\u003ccode\u003eaa110ab\u003c/code\u003e\u003c/a\u003e Fix typos and documentation for the 5.6 audit. (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/issues/6330\"\u003e#6330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/27dddf8e3087072acdefdc49d942d84ae3051b29\"\u003e\u003ccode\u003e27dddf8\u003c/code\u003e\u003c/a\u003e Escape control characters in Strings.escapeJSON (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/issues/6344\"\u003e#6344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/f5cd8d897a1c4c1af2345a185269bb61d6174c01\"\u003e\u003ccode\u003ef5cd8d8\u003c/code\u003e\u003c/a\u003e Reject interoperable addresses whith both chain reference and addresses empty...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/44d016c5b59c2c4cd3a7eb97df6de8baf805c303\"\u003e\u003ccode\u003e44d016c\u003c/code\u003e\u003c/a\u003e Check that slice are in the reserved space in Accumulator push and shift (\u003ca href=\"https://redirect.github.com/OpenZeppelin/openzeppelin-contracts/issues/6302\"\u003e#6302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/commit/cbaf3a4159561dd62ec5652597dbe5cd66a59d56\"\u003e\u003ccode\u003ecbaf3a4\u003c/code\u003e\u003c/a\u003e Remove Memory.asPointer and Memory.asBytes32 + add warning about setting the ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/OpenZeppelin/openzeppelin-contracts/compare/v5.4.0...v5.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​openzeppelin/contracts\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dotenv` from 17.3.1 to 17.4.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md\"\u003edotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.4.1...v17.4.2\"\u003e17.4.2\u003c/a\u003e (2026-04-12)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved skill files - tightened up details (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1009\"\u003e#1009\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.4.0...v17.4.1\"\u003e17.4.1\u003c/a\u003e (2026-04-05)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange text \u003ccode\u003einjecting\u003c/code\u003e to \u003ccode\u003einjected\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1005\"\u003e#1005\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.3.1...v17.4.0\"\u003e17.4.0\u003c/a\u003e (2026-04-01)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eskills/\u003c/code\u003e folder with focused agent skills: \u003ccode\u003eskills/dotenv/SKILL.md\u003c/code\u003e (core usage) and \u003ccode\u003eskills/dotenvx/SKILL.md\u003c/code\u003e (encryption, multiple environments, variable expansion) for AI coding agent discovery via the skills.sh ecosystem (\u003ccode\u003enpx skills add motdotla/dotenv\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTighten up logs: \u003ccode\u003e◇ injecting env (14) from .env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1003\"\u003e#1003\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/f116f70310abab44fbfddbaeb833698b5bf84a9b\"\u003e\u003ccode\u003ef116f70\u003c/code\u003e\u003c/a\u003e 17.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/3a8161274fdd745239b86e604f4a7e972a1d3902\"\u003e\u003ccode\u003e3a81612\u003c/code\u003e\u003c/a\u003e fix visual order of faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/13f55a89e136b2024e68d277b836dd5260fc16cf\"\u003e\u003ccode\u003e13f55a8\u003c/code\u003e\u003c/a\u003e Merge branch 'skill'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/4bbbf73f0906bd69975c48bf310a84b686e5b1b4\"\u003e\u003ccode\u003e4bbbf73\u003c/code\u003e\u003c/a\u003e reorganize faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/c3da64bb2ba1d0e02f8b9b2b7ccb7e6f7a51d56c\"\u003e\u003ccode\u003ec3da64b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/motdotla/dotenv/issues/1009\"\u003e#1009\u003c/a\u003e from motdotla/skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/6f743b173fbd6c26f7eab7040d251f9a6c8b977d\"\u003e\u003ccode\u003e6f743b1\u003c/code\u003e\u003c/a\u003e update source\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/fc2c6247e858a32d4024cb06a5b0c79aa35851f5\"\u003e\u003ccode\u003efc2c624\u003c/code\u003e\u003c/a\u003e update skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/972315ba74bb2bbba4483d112e853fd26006ef8a\"\u003e\u003ccode\u003e972315b\u003c/code\u003e\u003c/a\u003e Tighten up skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/2795fce3d1ed07b4c570f1e06ab1c0d533c86997\"\u003e\u003ccode\u003e2795fce\u003c/code\u003e\u003c/a\u003e reorganize faq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/d5495d4ae8e4e41ef9a682c9e00c81552794274e\"\u003e\u003ccode\u003ed5495d4\u003c/code\u003e\u003c/a\u003e adjust skill\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.3.1...v17.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nomicfoundation/hardhat-ethers` from 4.0.5 to 4.0.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NomicFoundation/hardhat/releases\"\u003e@​nomicfoundation/hardhat-ethers's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​nomicfoundation/hardhat-ethers\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.12\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8264\"\u003e#8264\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/8452f9726205540e1684d3f8458bfd145e790226\"\u003e\u003ccode\u003e8452f97\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Export \u003ccode\u003e./package.json\u003c/code\u003e so consumers can import the package's manifest.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-errors\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.1.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 \u003cstrong\u003eThe Nomic Foundation is hiring! Check \u003ca href=\"https://www.nomic.foundation/jobs\"\u003eour open positions\u003c/a\u003e.\u003c/strong\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003chr /\u003e\n\u003ch2\u003e\u003ccode\u003e@​nomicfoundation/hardhat-ethers\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.11\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8191\"\u003e#8191\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/2a4ae8e7dc78cabbe8b17bec778952f0124f9759\"\u003e\u003ccode\u003e2a4ae8e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Update how type extensions are handled to optimize the bootstrap process of Hardhat.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8228\"\u003e#8228\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/417bbf9f5d8ee4f9e19788aa40571452d36086d2\"\u003e\u003ccode\u003e417bbf9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Small performance optimizations\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.1.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 \u003cstrong\u003eThe Nomic Foundation is hiring! Check \u003ca href=\"https://www.nomic.foundation/jobs\"\u003eour open positions\u003c/a\u003e.\u003c/strong\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003chr /\u003e\n\u003ch2\u003e\u003ccode\u003e@​nomicfoundation/hardhat-ethers\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.10\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8207\"\u003e#8207\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/d59420968bffca83e1ad2712c6881d19cc7e1a99\"\u003e\u003ccode\u003ed594209\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Improved performance by replacing the debug logging library with a lightweight in-tree implementation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.1.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-errors\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 \u003cstrong\u003eThe Nomic Foundation is hiring! Check \u003ca href=\"https://www.nomic.foundation/jobs\"\u003eour open positions\u003c/a\u003e.\u003c/strong\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003chr /\u003e\n\u003ch2\u003e\u003ccode\u003e@​nomicfoundation/hardhat-ethers\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.9\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8179\"\u003e#8179\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/d16d82abfd5c9fa044cb508468cd4b50a5fcfd8a\"\u003e\u003ccode\u003ed16d82a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Await all returned promises for better debuggability\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8153\"\u003e#8153\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/e21950e68dbd778ce0c4cfcad8c71dfeb4f9cad1\"\u003e\u003ccode\u003ee21950e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/schaable\"\u003e\u003ccode\u003e@​schaable\u003c/code\u003e\u003c/a\u003e! - Fix gas config fields (gas, gasMultiplier, gasPrice) not being applied when sending transactions through the HardhatEthersSigner\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.4\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/NomicFoundation/hardhat/blob/main/packages/hardhat-ethers/CHANGELOG.md\"\u003e@​nomicfoundation/hardhat-ethers's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.0.12\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/NomicFoundation/hardhat/pull/8264\"\u003e#8264\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/8452f9726205540e1684d3f8458bfd145e790226\"\u003e\u003ccode\u003e8452f97\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Export \u003ccode\u003e./package.json\u003c/code\u003e so consumers can import the package's manifest.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-errors\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.13\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.1.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.11\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/NomicFoundation/hardhat/pull/8191\"\u003e#8191\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/2a4ae8e7dc78cabbe8b17bec778952f0124f9759\"\u003e\u003ccode\u003e2a4ae8e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Update how type extensions are handled to optimize the bootstrap process of Hardhat.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8228\"\u003e#8228\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/417bbf9f5d8ee4f9e19788aa40571452d36086d2\"\u003e\u003ccode\u003e417bbf9\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Small performance optimizations\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.1.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.10\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/NomicFoundation/hardhat/pull/8207\"\u003e#8207\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/d59420968bffca83e1ad2712c6881d19cc7e1a99\"\u003e\u003ccode\u003ed594209\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Improved performance by replacing the debug logging library with a lightweight in-tree implementation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.1.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-errors\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.12\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.9\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/NomicFoundation/hardhat/pull/8179\"\u003e#8179\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/d16d82abfd5c9fa044cb508468cd4b50a5fcfd8a\"\u003e\u003ccode\u003ed16d82a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Await all returned promises for better debuggability\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8153\"\u003e#8153\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/e21950e68dbd778ce0c4cfcad8c71dfeb4f9cad1\"\u003e\u003ccode\u003ee21950e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/schaable\"\u003e\u003ccode\u003e@​schaable\u003c/code\u003e\u003c/a\u003e! - Fix gas config fields (gas, gasMultiplier, gasPrice) not being applied when sending transactions through the HardhatEthersSigner\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.8\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/NomicFoundation/hardhat/pull/8104\"\u003e#8104\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/e27a7ad584b01392afc9294f739d731ab6e78f06\"\u003e\u003ccode\u003ee27a7ad\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ChristopherDedominici\"\u003e\u003ccode\u003e@​ChristopherDedominici\u003c/code\u003e\u003c/a\u003e! - Use code 3 for JSON-RPC revert error codes to align with standard node behavior and preserve error causes in viem/ethers.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8096\"\u003e#8096\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/7fb721bb2b1c521d0073a156f361c60a049e8fdf\"\u003e\u003ccode\u003e7fb721b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - [chore] Move to packages/ folder.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/ccb55d9e725c64d639ac3a7ba9f482d6272bad5a\"\u003e\u003ccode\u003eccb55d9\u003c/code\u003e\u003c/a\u003e Version Packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/80b9467be2e87375a14ba5e7394289291df72c7f\"\u003e\u003ccode\u003e80b9467\u003c/code\u003e\u003c/a\u003e Fix stricter linter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/54343f7769b7688672799b86d321542f75269dc0\"\u003e\u003ccode\u003e54343f7\u003c/code\u003e\u003c/a\u003e Upgrade TS everywhere\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/31f33cfb78ef5ffc6e98b0fcf2a202bf8dac26fb\"\u003e\u003ccode\u003e31f33cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-ethers/issues/8264\"\u003e#8264\u003c/a\u003e from NomicFoundation/export-package-jsons\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/fb2a9ff783283226b41bda6cc058381421dd5832\"\u003e\u003ccode\u003efb2a9ff\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-ethers/issues/8261\"\u003e#8261\u003c/a\u003e from NomicFoundation/agent-scripts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/0033686cbda47d849d17b656026a9c26ee47751d\"\u003e\u003ccode\u003e0033686\u003c/code\u003e\u003c/a\u003e scripts: run eslint before prettier in lint-file wrapper and pnpm lint/lint:fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/8452f9726205540e1684d3f8458bfd145e790226\"\u003e\u003ccode\u003e8452f97\u003c/code\u003e\u003c/a\u003e Export package.json files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/39400e9af536dbc262f224883e7f8d2c2cdde70d\"\u003e\u003ccode\u003e39400e9\u003c/code\u003e\u003c/a\u003e Version Packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/286d306add698081fa3e81b5254096bdb179cca0\"\u003e\u003ccode\u003e286d306\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat-ethers/issues/8228\"\u003e#8228\u003c/a\u003e from NomicFoundation/remove-quadratic-behavior\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/8b5301a0dfd4b42d9cfa4da702fa0ec8b03fd09d\"\u003e\u003ccode\u003e8b5301a\u003c/code\u003e\u003c/a\u003e docs: document non-duplicate precondition for linkBytecode walkers\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/NomicFoundation/hardhat/commits/@nomicfoundation/hardhat-ethers@4.0.12/packages/hardhat-ethers\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nomicfoundation/hardhat-toolbox` from 6.1.2 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NomicFoundation/hardhat/blob/@nomicfoundation/hardhat-toolbox@7.0.0/packages/hardhat-toolbox/CHANGELOG.md\"\u003e@​nomicfoundation/hardhat-toolbox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch3\u003eMajor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e09ae6db: Deprecate the \u003ccode\u003elatest\u003c/code\u003e npm tag and redirect users to migrate to Hardhat 3 or to the \u003ccode\u003ehh2\u003c/code\u003e tag.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/6372d084245fcb0eb5e760c81b19021f986684f9\"\u003e\u003ccode\u003e6372d08\u003c/code\u003e\u003c/a\u003e Version Packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/a26e8228c5982f39f75d27f7780a308db7b3be12\"\u003e\u003ccode\u003ea26e822\u003c/code\u003e\u003c/a\u003e Remove the npm tags from the README.md files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/18bef56ec8f4f47429f25a93a0b49430d32220f9\"\u003e\u003ccode\u003e18bef56\u003c/code\u003e\u003c/a\u003e Quote the package in the installation instructions of the readmes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/e5025aeae590bc9c07cbaee40ed658713e577864\"\u003e\u003ccode\u003ee5025ae\u003c/code\u003e\u003c/a\u003e Update the formatting and quote the package in the installation instructions ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/ee3434729fb3cefed9d084276db5debde40cd05c\"\u003e\u003ccode\u003eee34347\u003c/code\u003e\u003c/a\u003e Update hardhat-toolbox\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/NomicFoundation/hardhat/commits/@nomicfoundation/hardhat-toolbox@7.0.0/packages/hardhat-toolbox\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hardhat` from 3.1.10 to 3.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NomicFoundation/hardhat/releases\"\u003ehardhat's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eHardhat v3.6.0\u003c/h2\u003e\n\u003cp\u003eThis release include some changes to the Solidity hooks, introducing some new ones, and deprecating existing ones, to give Hardhat more opportunities to optimize the build process.\u003c/p\u003e\n\u003cp\u003eIt also includes \u003ccode\u003eAGENTS.md\u003c/code\u003e/\u003ccode\u003eCLAUDE.md\u003c/code\u003e files and skills in new projects.\u003c/p\u003e\n\u003cp\u003eSee the full list of changes below.\u003c/p\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Add a \u003ccode\u003ecleanupArtifacts\u003c/code\u003e option to \u003ccode\u003eSolidityBuildSystem#build\u003c/code\u003e. When \u003ccode\u003etrue\u003c/code\u003e, the build system runs \u003ccode\u003ecleanupArtifacts\u003c/code\u003e against the build's root file paths after a successful build, deleting orphan artifacts and unreachable build-info files for the scope.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Deprecate the following \u003ccode\u003eSolidityHooks\u003c/code\u003e: \u003ccode\u003egetCompiler\u003c/code\u003e, \u003ccode\u003eonCleanUpArtifacts\u003c/code\u003e, \u003ccode\u003epreprocessProjectFileBeforeBuilding\u003c/code\u003e, \u003ccode\u003epreprocessSolcInputBeforeBuilding\u003c/code\u003e, \u003ccode\u003ereadSourceFile\u003c/code\u003e, \u003ccode\u003einvokeSolc\u003c/code\u003e, and \u003ccode\u003ereadNpmPackageRemappings\u003c/code\u003e. They will be removed in a future release.\u003c/p\u003e\n\u003cp\u003eUse \u003ccode\u003eprocessArtifactsAfterSuccessfulBuild\u003c/code\u003e instead of \u003ccode\u003eonCleanUpArtifacts\u003c/code\u003e, and \u003ccode\u003egetCompilationJobErrors\u003c/code\u003e instead of \u003ccode\u003einvokeSolc\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003eSolidityHooks#getCompilationJobErrors\u003c/code\u003e hook, which lets plugins process the compiler output errors of a compilation job before they are reported to the user.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003eSolidityHooks#processArtifactsAfterSuccessfulBuild\u003c/code\u003e hook to let plugins post-process the artifacts. The hook receives the resolved build options as a new exported \u003ccode\u003eResolvedBuildOptions\u003c/code\u003e type.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003eSolidityBuildSystem#cleanupArtifacts\u003c/code\u003e now returns the list of artifact paths that remain after the cleanup.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8335\"\u003e#8335\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/a4bf547bd7bc7d60e63fc31efc3dd27edb197b78\"\u003e\u003ccode\u003ea4bf547\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gultekinmakif\"\u003e\u003ccode\u003e@​gultekinmakif\u003c/code\u003e\u003c/a\u003e! - Allow STRING_WITHOUT_DEFAULT and FILE_WITHOUT_DEFAULT as positional arguments\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8326\"\u003e#8326\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/959f2e1989c4bcbff05f717b33a2df1098f67616\"\u003e\u003ccode\u003e959f2e1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/kanej\"\u003e\u003ccode\u003e@​kanej\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ccode\u003ehardhat flatten\u003c/code\u003e silently producing a misleading output for projects with cyclic Solidity dependencies.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8262\"\u003e#8262\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/d3ba17006874715de86194c6a136cd0b7afb9bc4\"\u003e\u003ccode\u003ed3ba170\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/fvictorio\"\u003e\u003ccode\u003e@​fvictorio\u003c/code\u003e\u003c/a\u003e! - Add AGENTS.md and agentic skills to sample projects\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.1.3\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-errors\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 \u003cstrong\u003eThe Nomic Foundation is hiring! Check \u003ca href=\"https://www.nomic.foundation/jobs\"\u003eour open positions\u003c/a\u003e.\u003c/strong\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003chr /\u003e\n\u003ch2\u003eHardhat v3.5.1\u003c/h2\u003e\n\u003cp\u003eThis is a small release with some quality of life improvements, and a fix to \u003ccode\u003ehardhat --init\u003c/code\u003e so that it works with pnpm 11.\u003c/p\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8316\"\u003e#8316\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/971a135becc86dea7a3039148b55d0774c7c26a0\"\u003e\u003ccode\u003e971a135\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Fix \u003ccode\u003ehardhat --init\u003c/code\u003e when used with pnpm 11\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8302\"\u003e#8302\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/fb99caa5b9bf75ffa70d2488112755b8de94e7a3\"\u003e\u003ccode\u003efb99caa\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ChristopherDedominici\"\u003e\u003ccode\u003e@​ChristopherDedominici\u003c/code\u003e\u003c/a\u003e! - Suppress solc warnings that are direct side effects of \u003ccode\u003e--coverage\u003c/code\u003e instrumentation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8315\"\u003e#8315\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/90650fd841a800adecdae011c196c8ec83a1a053\"\u003e\u003ccode\u003e90650fd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/schaable\"\u003e\u003ccode\u003e@​schaable\u003c/code\u003e\u003c/a\u003e! - Improved error messages for common migration errors.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 \u003cstrong\u003eThe Nomic Foundation is hiring! Check \u003ca href=\"https://www.nomic.foundation/jobs\"\u003eour open positions\u003c/a\u003e.\u003c/strong\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003chr /\u003e\n\u003ch2\u003eHardhat v3.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NomicFoundation/hardhat/blob/main/packages/hardhat/CHANGELOG.md\"\u003ehardhat's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.6.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Add a \u003ccode\u003ecleanupArtifacts\u003c/code\u003e option to \u003ccode\u003eSolidityBuildSystem#build\u003c/code\u003e. When \u003ccode\u003etrue\u003c/code\u003e, the build system runs \u003ccode\u003ecleanupArtifacts\u003c/code\u003e against the build's root file paths after a successful build, deleting orphan artifacts and unreachable build-info files for the scope.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Deprecate the following \u003ccode\u003eSolidityHooks\u003c/code\u003e: \u003ccode\u003egetCompiler\u003c/code\u003e, \u003ccode\u003eonCleanUpArtifacts\u003c/code\u003e, \u003ccode\u003epreprocessProjectFileBeforeBuilding\u003c/code\u003e, \u003ccode\u003epreprocessSolcInputBeforeBuilding\u003c/code\u003e, \u003ccode\u003ereadSourceFile\u003c/code\u003e, \u003ccode\u003einvokeSolc\u003c/code\u003e, and \u003ccode\u003ereadNpmPackageRemappings\u003c/code\u003e. They will be removed in a future release.\u003c/p\u003e\n\u003cp\u003eUse \u003ccode\u003eprocessArtifactsAfterSuccessfulBuild\u003c/code\u003e instead of \u003ccode\u003eonCleanUpArtifacts\u003c/code\u003e, and \u003ccode\u003egetCompilationJobErrors\u003c/code\u003e instead of \u003ccode\u003einvokeSolc\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003eSolidityHooks#getCompilationJobErrors\u003c/code\u003e hook, which lets plugins process the compiler output errors of a compilation job before they are reported to the user.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003eSolidityHooks#processArtifactsAfterSuccessfulBuild\u003c/code\u003e hook to let plugins post-process the artifacts. The hook receives the resolved build options as a new exported \u003ccode\u003eResolvedBuildOptions\u003c/code\u003e type.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8327\"\u003e#8327\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/dee44f69cafb9a11b702abe73e6215a954f16937\"\u003e\u003ccode\u003edee44f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003eSolidityBuildSystem#cleanupArtifacts\u003c/code\u003e now returns the list of artifact paths that remain after the cleanup.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8335\"\u003e#8335\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/a4bf547bd7bc7d60e63fc31efc3dd27edb197b78\"\u003e\u003ccode\u003ea4bf547\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gultekinmakif\"\u003e\u003ccode\u003e@​gultekinmakif\u003c/code\u003e\u003c/a\u003e! - Allow STRING_WITHOUT_DEFAULT and FILE_WITHOUT_DEFAULT as positional arguments\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8326\"\u003e#8326\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/959f2e1989c4bcbff05f717b33a2df1098f67616\"\u003e\u003ccode\u003e959f2e1\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/kanej\"\u003e\u003ccode\u003e@​kanej\u003c/code\u003e\u003c/a\u003e! - Fixed \u003ccode\u003ehardhat flatten\u003c/code\u003e silently producing a misleading output for projects with cyclic Solidity dependencies.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8262\"\u003e#8262\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/d3ba17006874715de86194c6a136cd0b7afb9bc4\"\u003e\u003ccode\u003ed3ba170\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/fvictorio\"\u003e\u003ccode\u003e@​fvictorio\u003c/code\u003e\u003c/a\u003e! - Add AGENTS.md and agentic skills to sample projects\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.1.3\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​nomicfoundation/hardhat-errors\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.5.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8316\"\u003e#8316\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/971a135becc86dea7a3039148b55d0774c7c26a0\"\u003e\u003ccode\u003e971a135\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/alcuadrado\"\u003e\u003ccode\u003e@​alcuadrado\u003c/code\u003e\u003c/a\u003e! - Fix \u003ccode\u003ehardhat --init\u003c/code\u003e when used with pnpm 11\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8302\"\u003e#8302\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/fb99caa5b9bf75ffa70d2488112755b8de94e7a3\"\u003e\u003ccode\u003efb99caa\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ChristopherDedominici\"\u003e\u003ccode\u003e@​ChristopherDedominici\u003c/code\u003e\u003c/a\u003e! - Suppress solc warnings that are direct side effects of \u003ccode\u003e--coverage\u003c/code\u003e instrumentation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8315\"\u003e#8315\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/90650fd841a800adecdae011c196c8ec83a1a053\"\u003e\u003ccode\u003e90650fd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/schaable\"\u003e\u003ccode\u003e@​schaable\u003c/code\u003e\u003c/a\u003e! - Improved error messages for common migration errors.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8301\"\u003e#8301\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/793cc84d311ff96b1725f5b83a0063b9a28e3d19\"\u003e\u003ccode\u003e793cc84\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/kanej\"\u003e\u003ccode\u003e@​kanej\u003c/code\u003e\u003c/a\u003e! - Disable transaction gas cap and block gas limit when running tests under \u003ccode\u003e--coverage\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/NomicFoundation/hardhat/pull/8270\"\u003e#8270\u003c/a\u003e \u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/cf2823b5ec9b5e6427c874636393a5ffcb70f412\"\u003e\u003ccode\u003ecf2823b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/schaable\"\u003e\u003ccode\u003e@​schaable\u003c/code\u003e\u003c/a\u003e! - Solidity test configuration now also accepts \u003ccode\u003e{ profiles: { default: ... } }\u003c/code\u003e. Only the \u003ccode\u003edefault\u003c/code\u003e profile is currently supported, other profile names will be supported in a future release. The previous flat shape continues to work unchanged.\u003c/p\u003e\n\u003cp\u003eThe resolved \u003ccode\u003eHardhatConfig.test.solidity\u003c/code\u003e is now profile-keyed: read per-profile fields at \u003ccode\u003ehre.config.test.solidity.profiles.default.*\u003c/code\u003e instead of \u003ccode\u003ehre.config.test.solidity.*\u003c/code\u003e. Plugins that read the resolved Solidity test config need to be updated.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/7b035db269eeaf820cdfaadd573ae4b12130cf2e\"\u003e\u003ccode\u003e7b035db\u003c/code\u003e\u003c/a\u003e Version Packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/9df15c2ee92dc36f4590a89e6e42d5d5cd319a1d\"\u003e\u003ccode\u003e9df15c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://github.com/NomicFoundation/hardhat/tree/HEAD/packages/hardhat/issues/8335\"\u003e#8335\u003c/a\u003e from gultekinmakif/fix/allow-optional-positional-args\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/85e95044b4843b3f121502af7de0fcc60e242266\"\u003e\u003ccode\u003e85e9504\u003c/code\u003e\u003c/a\u003e test: cover _WITHOUT_DEFAULT for variadic positional arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/673959ca2aff1191c6ab7604abfc9b247d5843b9\"\u003e\u003ccode\u003e673959c\u003c/code\u003e\u003c/a\u003e test: cover required-after-optional ordering for _WITHOUT_DEFAULT positionals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/0b1638438b6304e09887baf1dff4b094f1205bd0\"\u003e\u003ccode\u003e0b16384\u003c/code\u003e\u003c/a\u003e refactor: tighten isArgumentRequired and isOptionalArgumentType parameter types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/2d38a504932d154f1283f385025fb9826bbb6d24\"\u003e\u003ccode\u003e2d38a50\u003c/code\u003e\u003c/a\u003e fix: use isArgumentRequired in positional arg ordering validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/6211196e80bb9f9e3885092a5f20c798b69e89ef\"\u003e\u003ccode\u003e6211196\u003c/code\u003e\u003c/a\u003e refactor: leave isOptionalArgumentType helper for complete\u0026amp;clear intent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/b79d52d59a7e508f23a1fc70c720852e9ba702ad\"\u003e\u003ccode\u003eb79d52d\u003c/code\u003e\u003c/a\u003e refactor: add isArgumentRequired helper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/5494f33588c4ded1f158d913d4bf085d1089dc1d\"\u003e\u003ccode\u003e5494f33\u003c/code\u003e\u003c/a\u003e test: add CLI and help-utils tests for _WITHOUT_DEFAULT optional args\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NomicFoundation/hardhat/commit/a8caa79d224f15219697f80efbcf5ee6948a7526\"\u003e\u003ccode\u003ea8caa79\u003c/code\u003e\u003c/a\u003e fix: apply optional positional arg check to CLI validation and help output\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/NomicFoundation/hardhat/commits/hardhat@3.6.0/packages/hardhat\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@anthropic-ai/sdk` from 0.67.1 to 0.99.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/releases\"\u003e@​anthropic-ai/sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esdk: v0.99.0\u003c/h2\u003e\n\u003ch2\u003e0.99.0 (2026-05-27)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.98.1...sdk-v0.99.0\"\u003esdk-v0.98.1...sdk-v0.99.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport custom file size caps (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1029\"\u003e#1029\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/814cd4c6b5b01e9640d52738d87fa61fc62991e7\"\u003e814cd4c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e carry stop_details through message_delta accumulation (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1027\"\u003e#1027\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/198bc277fdfccabe5e9f8a7723a2aa191b46af33\"\u003e198bc27\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esdk: v0.98.1\u003c/h2\u003e\n\u003ch2\u003e0.98.1 (2026-05-26)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.98.0...sdk-v0.98.1\"\u003esdk-v0.98.0...sdk-v0.98.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e preserve directory prefix in skills.versions.create uploads (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1024\"\u003e#1024\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/abbcd6a47d84bc6efcf259f0f803158847f255cf\"\u003eabbcd6a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e swap to using Trusted Publishing (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/821a50ef1fd64270e09c026a3235a34c647cdfab\"\u003e821a50e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexamples:\u003c/strong\u003e rename managed-agents private-sandbox-worker example to self-hosted-sandbox-worker (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1023\"\u003e#1023\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/49fe221fe444a72715a16e4ea2e318e54ba91d4a\"\u003e49fe221\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esdk: v0.98.0\u003c/h2\u003e\n\u003ch2\u003e0.98.0 (2026-05-21)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.97.1...sdk-v0.98.0\"\u003esdk-v0.97.1...sdk-v0.98.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eapi:\u003c/strong\u003e Add support for thinking-token-count beta for estimated tokens in thinking block deltas when streaming (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/0528d47b0a390ee7f88d72f85ffe6079ae1c6c00\"\u003e0528d47\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esdk: v0.97.1\u003c/h2\u003e\n\u003ch2\u003e0.97.1 (2026-05-19)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.97.0...sdk-v0.97.1\"\u003esdk-v0.97.0...sdk-v0.97.1\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erunner:\u003c/strong\u003e skip tool calls SessionToolRunner does not own (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/9987379abeaf28b17edb5518ac229d2a6caa4bf6\"\u003e9987379\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003esdk: v0.97.0\u003c/h2\u003e\n\u003ch2\u003e0.97.0 (2026-05-19)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/blob/main/CHANGELOG.md\"\u003e@​anthropic-ai/sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.99.0 (2026-05-27)\u003c/h2\u003e\n\u003cp\u003eFull Changelog: \u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.98.1...sdk-v0.99.0\"\u003esdk-v0.98.1...sdk-v0.99.0\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport custom file size caps (\u003ca href=\"https://redirect.github.com/anthropics/anthropic-sdk-typescript/issues/1029\"\u003e#1029\u003c/a\u003e) (\u003ca href=\"https://github.com/anthropics/anthropic-sdk-typescript/commit/814cd4c6b5b01e9640d52738d87fa61fc62991e7\"\u003e814cd4c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003estreaming:\u003c/strong\u003e carry st...\n\n_Description has been truncated_","html_url":"https://github.com/Angelqg01/bez-digital-ecosystem/pull/27","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Angelqg01%2Fbez-digital-ecosystem/issues/27","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/27/packages"}},{"old_version":"30.3.0","new_version":"30.4.2","update_type":"minor","path":"/js","pr_created_at":"2026-05-27T11:49:03.000Z","version_change":"30.3.0 → 30.4.2","issue":{"uuid":"4532070691","node_id":"PR_kwDOPCtHTM7fzmps","number":288,"state":"open","title":"Bump jest from 30.3.0 to 30.4.2 in /js","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-27T11:49:03.000Z","updated_at":"2026-05-27T11:49:23.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"jest","old_version":"30.3.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"}],"path":"/js","ecosystem":"npm"},"body":"Bumps [jest](https://github.com/jestjs/jest/tree/HEAD/packages/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\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/HEAD/packages/jest\"\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=jest\u0026package-manager=npm_and_yarn\u0026previous-version=30.3.0\u0026new-version=30.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/opensanctions/followthemoney/pull/288","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensanctions%2Ffollowthemoney/issues/288","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/288/packages"}},{"old_version":"^30.0.5","new_version":"^30.4.2","update_type":"minor","path":"/superset-frontend/plugins/plugin-chart-pivot-table","pr_created_at":"2026-05-27T05:39:36.000Z","version_change":"^30.0.5 → ^30.4.2","issue":{"uuid":"4529823759","node_id":"PR_kwDOSo-59s7fsRNC","number":26,"state":"open","title":"Update jest requirement from ^30.0.5 to ^30.4.2 in /superset-frontend/plugins/plugin-chart-pivot-table","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-27T05:39:36.000Z","updated_at":"2026-05-27T05:39:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"jest","old_version":"^30.0.5","new_version":"^30.4.2","repository_url":"https://github.com/jestjs/jest"}],"path":"/superset-frontend/plugins/plugin-chart-pivot-table","ecosystem":"npm"},"body":"Updates the requirements on [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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\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/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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/96c53d30660e51bf76ed2cd1ecc2334c399ac31c\"\u003e\u003ccode\u003e96c53d3\u003c/code\u003e\u003c/a\u003e feat(jest-config): add \u003ccode\u003edefineConfig\u003c/code\u003e and \u003ccode\u003emergeConfig\u003c/code\u003e functions (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15844\"\u003e#15844\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/855864e3f9751366455246790be2bf912d4d0dac\"\u003e\u003ccode\u003e855864e\u003c/code\u003e\u003c/a\u003e v30.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/da9b532f04632367b0df15a842280501f225b732\"\u003e\u003ccode\u003eda9b532\u003c/code\u003e\u003c/a\u003e v30.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ebfa31cc9787303e8698a1a029a162a18e8974aa\"\u003e\u003ccode\u003eebfa31c\u003c/code\u003e\u003c/a\u003e v30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/d347c0f3f87f976a1dbd9761d503e45f5ced2a7e\"\u003e\u003ccode\u003ed347c0f\u003c/code\u003e\u003c/a\u003e v30.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable 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\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/diwgpt/iris-ss/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/diwgpt%2Firis-ss/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"}},{"old_version":"30.2.0","new_version":"30.4.2","update_type":"minor","path":null,"pr_created_at":"2026-05-27T02:10:43.000Z","version_change":"30.2.0 → 30.4.2","issue":{"uuid":"4528909478","node_id":"PR_kwDOSo4L6s7fpXH7","number":4,"state":"closed","title":"Bump the npm-development group with 7 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-27T02:25:56.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-27T02:10:43.000Z","updated_at":"2026-05-27T02:25:58.000Z","time_to_close":913,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"npm-development","update_count":7,"packages":[{"name":"@eslint/compat","old_version":"2.0.2","new_version":"2.1.0","repository_url":"https://github.com/eslint/rewrite"},{"name":"@jest/globals","old_version":"30.2.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"@rollup/plugin-commonjs","old_version":"29.0.0","new_version":"29.0.2","repository_url":"https://github.com/rollup/plugins"},{"name":"eslint-plugin-jest","old_version":"29.15.0","new_version":"29.15.2","repository_url":"https://github.com/jest-community/eslint-plugin-jest"},{"name":"jest","old_version":"30.2.0","new_version":"30.4.2","repository_url":"https://github.com/jestjs/jest"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"rollup","old_version":"4.57.1","new_version":"4.60.4","repository_url":"https://github.com/rollup/rollup"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-development group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@eslint/compat](https://github.com/eslint/rewrite/tree/HEAD/packages/compat) | `2.0.2` | `2.1.0` |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `30.2.0` | `30.4.1` |\n| [@rollup/plugin-commonjs](https://github.com/rollup/plugins/tree/HEAD/packages/commonjs) | `29.0.0` | `29.0.2` |\n| [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) | `29.15.0` | `29.15.2` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.2.0` | `30.4.2` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [rollup](https://github.com/rollup/rollup) | `4.57.1` | `4.60.4` |\n\nUpdates `@eslint/compat` from 2.0.2 to 2.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/rewrite/releases\"\u003e@​eslint/compat's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecompat: v2.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/rewrite/compare/compat-v2.0.5...compat-v2.1.0\"\u003e2.1.0\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to config-helpers (\u003ca href=\"https://redirect.github.com/eslint/rewrite/issues/430\"\u003e#430\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/rewrite/commit/9b513529022834e72cccfa278ec7ba6e7f4e10c5\"\u003e9b51352\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emigrate-config: v2.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/rewrite/compare/migrate-config-v2.0.7...migrate-config-v2.1.0\"\u003e2.1.0\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to config-helpers (\u003ca href=\"https://redirect.github.com/eslint/rewrite/issues/430\"\u003e#430\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/rewrite/commit/9b513529022834e72cccfa278ec7ba6e7f4e10c5\"\u003e9b51352\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe following workspace dependencies were updated\n\u003cul\u003e\n\u003cli\u003edependencies\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​eslint/config-helpers\u003c/code\u003e bumped from ^0.5.5 to ^0.6.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emigrate-config: v2.0.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/rewrite/compare/migrate-config-v2.0.6...migrate-config-v2.0.7\"\u003e2.0.7\u003c/a\u003e (2026-05-01)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate \u003ccode\u003eespree\u003c/code\u003e to the latest (\u003ca href=\"https://redirect.github.com/eslint/rewrite/issues/437\"\u003e#437\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/rewrite/commit/a8ff72f6f473ce87df4156d3eb9b6e4992084337\"\u003ea8ff72f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emigrate-config: v2.0.6\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/rewrite/compare/migrate-config-v2.0.5...migrate-config-v2.0.6\"\u003e2.0.6\u003c/a\u003e (2026-04-08)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe following workspace dependencies were updated\n\u003cul\u003e\n\u003cli\u003edependencies\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​eslint/compat\u003c/code\u003e bumped from ^2.0.4 to ^2.0.5\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003edevDependencies\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​eslint/core\u003c/code\u003e bumped from ^1.2.0 to ^1.2.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\u003ch2\u003emigrate-config: v2.0.5\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/rewrite/compare/migrate-config-v2.0.4...migrate-config-v2.0.5\"\u003e2.0.5\u003c/a\u003e (2026-04-03)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe following workspace dependencies were updated\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/rewrite/blob/main/packages/compat/CHANGELOG.md\"\u003e@​eslint/compat's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/rewrite/compare/compat-v2.0.5...compat-v2.1.0\"\u003e2.1.0\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to config-helpers (\u003ca href=\"https://redirect.github.com/eslint/rewrite/issues/430\"\u003e#430\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint/rewrite/commit/9b513529022834e72cccfa278ec7ba6e7f4e10c5\"\u003e9b51352\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/rewrite/compare/compat-v2.0.4...compat-v2.0.5\"\u003e2.0.5\u003c/a\u003e (2026-04-08)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe following workspace dependencies were updated\n\u003cul\u003e\n\u003cli\u003edependencies\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​eslint/core\u003c/code\u003e bumped from ^1.2.0 to ^1.2.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\u003ch2\u003e\u003ca href=\"https://github.com/eslint/rewrite/compare/compat-v2.0.3...compat-v2.0.4\"\u003e2.0.4\u003c/a\u003e (2026-04-03)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe following workspace dependencies were updated\n\u003cul\u003e\n\u003cli\u003edependencies\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​eslint/core\u003c/code\u003e bumped from ^1.1.1 to ^1.2.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint/rewrite/compare/compat-v2.0.2...compat-v2.0.3\"\u003e2.0.3\u003c/a\u003e (2026-03-06)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe following workspace dependencies were updated\n\u003cul\u003e\n\u003cli\u003edependencies\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​eslint/core\u003c/code\u003e bumped from ^1.1.0 to ^1.1.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/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/b8949534bf7f498d941007f3adc2740157965b49\"\u003e\u003ccode\u003eb894953\u003c/code\u003e\u003c/a\u003e chore: release main (\u003ca href=\"https://github.com/eslint/rewrite/tree/HEAD/packages/compat/issues/446\"\u003e#446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/334038d4f068e947bc366e7f987423414ad2773a\"\u003e\u003ccode\u003e334038d\u003c/code\u003e\u003c/a\u003e docs: Update README sponsors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/9b513529022834e72cccfa278ec7ba6e7f4e10c5\"\u003e\u003ccode\u003e9b51352\u003c/code\u003e\u003c/a\u003e feat: Add new \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to config-helpers (\u003ca href=\"https://github.com/eslint/rewrite/tree/HEAD/packages/compat/issues/430\"\u003e#430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/70b69970a2e0d9bdba8c2e9c19beb6f5b35d5db0\"\u003e\u003ccode\u003e70b6997\u003c/code\u003e\u003c/a\u003e docs: Update README sponsors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/35b6b944eb63aa5a82356121a7a3a2ec24393ace\"\u003e\u003ccode\u003e35b6b94\u003c/code\u003e\u003c/a\u003e chore: update TypeScript to v6 (\u003ca href=\"https://github.com/eslint/rewrite/tree/HEAD/packages/compat/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/7807d7107caa44ff0febbd4b2525911ddcd8027b\"\u003e\u003ccode\u003e7807d71\u003c/code\u003e\u003c/a\u003e docs: Update README sponsors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/57001eafe026f667d46fea4bd5e59a5a50717c2c\"\u003e\u003ccode\u003e57001ea\u003c/code\u003e\u003c/a\u003e docs: Update README sponsors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/0b621334efd3bb68e2bba3f1649046d1a720f0e6\"\u003e\u003ccode\u003e0b62133\u003c/code\u003e\u003c/a\u003e docs: Update README sponsors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/d2dbf7b73d01505da89a69b7465e486d8a88aa8f\"\u003e\u003ccode\u003ed2dbf7b\u003c/code\u003e\u003c/a\u003e chore: release main (\u003ca href=\"https://github.com/eslint/rewrite/tree/HEAD/packages/compat/issues/424\"\u003e#424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/rewrite/commit/fe114eed69c5d59d0dd05cda8071a5b98c4daec2\"\u003e\u003ccode\u003efe114ee\u003c/code\u003e\u003c/a\u003e chore: release main (\u003ca href=\"https://github.com/eslint/rewrite/tree/HEAD/packages/compat/issues/413\"\u003e#413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/rewrite/commits/compat-v2.1.0/packages/compat\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jest/globals` from 30.2.0 to 30.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003e@​jest/globals's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\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\u003ch2\u003eFixes\u003c/h2\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\u003c/ul\u003e\n\u003c!-- 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\"\u003e@​jest/globals's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\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\u003cli\u003e\u003ccode\u003e[jest-reporters, jest-runner, jest-runtime, jest-transform]\u003c/code\u003e Fix coverage report not showing correct code coverage when using \u003ccode\u003eprojects\u003c/code\u003e config option (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16140\"\u003e#16140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Resolve \u003ccode\u003eexpect\u003c/code\u003e and \u003ccode\u003e@jest/expect\u003c/code\u003e from the internal module registry so test-file imports share the same \u003ccode\u003eJestAssertionError\u003c/code\u003e as the global \u003ccode\u003eexpect\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16130\"\u003e#16130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Improve CJS-from-ESM interop: \u003ccode\u003e__esModule\u003c/code\u003e/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Load \u003ccode\u003e.js\u003c/code\u003e files with ESM syntax but no \u003ccode\u003e\u0026quot;type\u0026quot;:\u0026quot;module\u0026quot;\u003c/code\u003e marker as native ESM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Extend the \u003ccode\u003e.js\u003c/code\u003e-with-ESM-syntax fallback to \u003ccode\u003erequire()\u003c/code\u003e on Node v24.9+ - falls back to \u003ccode\u003erequire(esm)\u003c/code\u003e when the CJS parser rejects ESM syntax (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16078\"\u003e#16078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Fix deadlocks and double-evaluation in concurrent ESM and wasm imports (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/16050\"\u003e#16050\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/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/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.4.1/packages/jest-globals\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@rollup/plugin-commonjs` from 29.0.0 to 29.0.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rollup/plugins/blob/master/packages/commonjs/CHANGELOG.md\"\u003e@​rollup/plugin-commonjs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.0.2\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-03-06\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecommonjs: conditional exports (\u003ca href=\"https://redirect.github.com/rollup/plugins/issues/1952\"\u003e#1952\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.0.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-03-05\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecommonjs: correctly replaces shorthand \u0026quot;global\u0026quot; property in object (\u003ca href=\"https://redirect.github.com/rollup/plugins/issues/1957\"\u003e#1957\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/plugins/commit/2de0d623224a4003eed9c65143ff99db145869df\"\u003e\u003ccode\u003e2de0d62\u003c/code\u003e\u003c/a\u003e chore(release): commonjs v29.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/plugins/commit/ab65325653e2103509e37099cad3e8afd6c53f8e\"\u003e\u003ccode\u003eab65325\u003c/code\u003e\u003c/a\u003e fix(commonjs): conditional exports (\u003ca href=\"https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1952\"\u003e#1952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/plugins/commit/7d22981cdc03a1de31a3ec990d24a379c090fe3d\"\u003e\u003ccode\u003e7d22981\u003c/code\u003e\u003c/a\u003e chore(repo): add \u003ccode\u003erollup-plugin\u003c/code\u003e keyword in package.json (\u003ca href=\"https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1955\"\u003e#1955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/plugins/commit/a79ae55986c056bf6251205a7014295e4b0b5bee\"\u003e\u003ccode\u003ea79ae55\u003c/code\u003e\u003c/a\u003e chore(release): commonjs v29.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/plugins/commit/bb41cfd82bd20dd8d132054d1442aea5922fdbd2\"\u003e\u003ccode\u003ebb41cfd\u003c/code\u003e\u003c/a\u003e chore(release): commonjs v29.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/plugins/commit/14ae18676d9df3ec781877a331ceb82964bc248c\"\u003e\u003ccode\u003e14ae186\u003c/code\u003e\u003c/a\u003e fix(commonjs): correctly replaces shorthand \u0026quot;global\u0026quot; property in object (\u003ca href=\"https://github.com/rollup/plugins/tree/HEAD/packages/commonjs/issues/1957\"\u003e#1957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rollup/plugins/commits/commonjs-v29.0.2/packages/commonjs\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​rollup/plugin-commonjs\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-jest` from 29.15.0 to 29.15.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/releases\"\u003eeslint-plugin-jest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.15.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/compare/v29.15.1...v29.15.2\"\u003e29.15.2\u003c/a\u003e (2026-04-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evalid-mock-module-path:\u003c/strong\u003e don't report virtual mocks (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1946\"\u003e#1946\u003c/a\u003e) (\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/a1916d16350344c1693384af34900055ec465e1c\"\u003ea1916d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.15.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/compare/v29.15.0...v29.15.1\"\u003e29.15.1\u003c/a\u003e (2026-03-24)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eallow TypeScript@7 in peer dependency (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1949\"\u003e#1949\u003c/a\u003e) (\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/0498c1e0c5e2914b2071c60980350ea71d80a8b7\"\u003e0498c1e\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/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md\"\u003eeslint-plugin-jest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/compare/v29.15.1...v29.15.2\"\u003e29.15.2\u003c/a\u003e (2026-04-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003evalid-mock-module-path:\u003c/strong\u003e don't report virtual mocks (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1946\"\u003e#1946\u003c/a\u003e) (\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/a1916d16350344c1693384af34900055ec465e1c\"\u003ea1916d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/compare/v29.15.0...v29.15.1\"\u003e29.15.1\u003c/a\u003e (2026-03-24)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eallow TypeScript@7 in peer dependency (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1949\"\u003e#1949\u003c/a\u003e) (\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/0498c1e0c5e2914b2071c60980350ea71d80a8b7\"\u003e0498c1e\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/jest-community/eslint-plugin-jest/commit/f14a941887e2b598053f757f91c10a5910ffffca\"\u003e\u003ccode\u003ef14a941\u003c/code\u003e\u003c/a\u003e chore(release): 29.15.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/a1916d16350344c1693384af34900055ec465e1c\"\u003e\u003ccode\u003ea1916d1\u003c/code\u003e\u003c/a\u003e fix(valid-mock-module-path): don't report virtual mocks (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1946\"\u003e#1946\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/4a5278787449592d473ff4507170f6ff50b1b47f\"\u003e\u003ccode\u003e4a52787\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1958\"\u003e#1958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/285c6f6a665ffb77facb0e4db77a3e2c4c986070\"\u003e\u003ccode\u003e285c6f6\u003c/code\u003e\u003c/a\u003e ci: don't run smoketest on \u003ccode\u003etannerlinsley/react-table\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1959\"\u003e#1959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/1da0928392313ffa89339ed454aa31d1712f6875\"\u003e\u003ccode\u003e1da0928\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1956\"\u003e#1956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/8532d0e53abce0e80f092940e4575ed46ae6660a\"\u003e\u003ccode\u003e8532d0e\u003c/code\u003e\u003c/a\u003e docs(valid-expect): use valid alert syntax (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/03405ae827212348ab880929231d899300f659c2\"\u003e\u003ccode\u003e03405ae\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency \u003ccode\u003e@​schemastore/package\u003c/code\u003e to v1 (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1942\"\u003e#1942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/de0e154bd2d5966c3f2f15b4b3c8f0cd93b171ed\"\u003e\u003ccode\u003ede0e154\u003c/code\u003e\u003c/a\u003e chore(deps): update codecov/codecov-action action to v6 (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1952\"\u003e#1952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/d50f50c81af62caa4c73888939e20f4b874fdbe9\"\u003e\u003ccode\u003ed50f50c\u003c/code\u003e\u003c/a\u003e chore: add node v25 to CI (\u003ca href=\"https://redirect.github.com/jest-community/eslint-plugin-jest/issues/1950\"\u003e#1950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/commit/d5192df6a7c1129f5f07da05bab386ee6d2b9a09\"\u003e\u003ccode\u003ed5192df\u003c/code\u003e\u003c/a\u003e chore(release): 29.15.1 [skip ci]\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jest-community/eslint-plugin-jest/compare/v29.15.0...v29.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 30.2.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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/efb59c2e81083f8dc941f20d6d20a3af2dc8d068\"\u003e\u003ccode\u003eefb59c2\u003c/code\u003e\u003c/a\u003e v30.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/96c53d30660e51bf76ed2cd1ecc2334c399ac31c\"\u003e\u003ccode\u003e96c53d3\u003c/code\u003e\u003c/a\u003e feat(jest-config): add \u003ccode\u003edefineConfig\u003c/code\u003e and \u003ccode\u003emergeConfig\u003c/code\u003e functions (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15844\"\u003e#15844\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 `prettier` from 3.8.1 to 3.8.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.8.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003eprettier/prettier#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.8.3/CHANGELOG.md#383\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Angular v21.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md#382\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.8.3\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.2...3.8.3\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003e#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"scss\"\u003e\u003ccode\u003e// Input\n$value: if(sass(false): 1; else: -1);\n\u003cp\u003e// Prettier 3.8.2\n$value: if(\nsass(false): 1; else: -1,\n);\u003c/p\u003e\n\u003cp\u003e// Prettier 3.8.3\n$value: if(sass(false): 1; else: -1);\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.8.2\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.1...3.8.2\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eAngular: Support Angular v21.2 (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18722\"\u003e#18722\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19034\"\u003e#19034\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003cp\u003eExhaustive typechecking with \u003ccode\u003e@default never;\u003c/code\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n@switch (foo) {\n  @case (1) {}\n  @default never;\n}\n\u003cp\u003e\u0026lt;!-- Prettier 3.8.1 --\u0026gt;\nSyntaxError: Incomplete block \u0026quot;default never\u0026quot;. If you meant to write the @ character, you should use the \u0026quot;\u0026amp;\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/64\"\u003e#64\u003c/a\u003e;\u0026quot; HTML entity instead. (3:3)\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.8.2 --\u0026gt;\n\u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e (foo) {\n\u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (1) {}\n\u003ca href=\"https://github.com/default\"\u003e\u003ccode\u003e@​default\u003c/code\u003e\u003c/a\u003e never;\n}\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003earrow function\u003c/code\u003e and \u003ccode\u003einstanceof\u003c/code\u003e expressions.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/d7108a79ec745c04292aabf22c4c1adbd690b191\"\u003e\u003ccode\u003ed7108a7\u003c/code\u003e\u003c/a\u003e Release 3.8.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/177f90898170d363ef64fde663e4d13170688bfe\"\u003e\u003ccode\u003e177f908\u003c/code\u003e\u003c/a\u003e Prevent trailing comma in SCSS \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/18471\"\u003e#18471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/1cd40668c3d6f2f4cf9d87bbc9096d92361b2606\"\u003e\u003ccode\u003e1cd4066\u003c/code\u003e\u003c/a\u003e Release \u003ccode\u003e@​prettier/plugin-oxc\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/a8700e245038cd8cc0cf28ef06ffedbcb3fc2dfc\"\u003e\u003ccode\u003ea8700e2\u003c/code\u003e\u003c/a\u003e Update oxc-parser to v0.125.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/752157c78eca6f0a30e5d5cb513b682c5ecfa01e\"\u003e\u003ccode\u003e752157c\u003c/code\u003e\u003c/a\u003e Fix tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/053fd418e180b12fa2014260212fae831f5fc5ec\"\u003e\u003ccode\u003e053fd41\u003c/code\u003e\u003c/a\u003e Bump Prettier dependency to 3.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/904c6365ec46726fd0e21021c52ae934b7e5abc6\"\u003e\u003ccode\u003e904c636\u003c/code\u003e\u003c/a\u003e Clean changelog_unreleased\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dc1f7fcc508d116cbf1644d69a1f0eb93e40d4a4\"\u003e\u003ccode\u003edc1f7fc\u003c/code\u003e\u003c/a\u003e Update dependents count\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/b31557cf331a02acf83e7e29d1001b070189a0d9\"\u003e\u003ccode\u003eb31557c\u003c/code\u003e\u003c/a\u003e Release 3.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/96bbaeda0525bf758e464aed2f939d739a85c315\"\u003e\u003ccode\u003e96bbaed\u003c/code\u003e\u003c/a\u003e Support Angular v21.2 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/18722\"\u003e#18722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prettier/prettier/compare/3.8.1...3.8.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rollup` from 4.57.1 to 4.60.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rollup/rollup/releases\"\u003erollup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.60.4\u003c/h2\u003e\n\u003ch2\u003e4.60.4\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-05-14\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove stability of chunk hashes (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6362\"\u003e#6362\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePull Requests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6362\"\u003e#6362\u003c/a\u003e: fix: stabilize chunk assignment across parallel file reads (\u003ca href=\"https://github.com/sonukapoor\"\u003e\u003ccode\u003e@​sonukapoor\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Sonu\"\u003e\u003ccode\u003e@​Sonu\u003c/code\u003e\u003c/a\u003e Kapoor, \u003ca href=\"https://github.com/TrickyPi\"\u003e\u003ccode\u003e@​TrickyPi\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6370\"\u003e#6370\u003c/a\u003e: fix(deps): update minor/patch updates (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6371\"\u003e#6371\u003c/a\u003e: chore(deps): update dependency lru-cache to v11 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6372\"\u003e#6372\u003c/a\u003e: chore(deps): update react monorepo to v19 (major) (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6373\"\u003e#6373\u003c/a\u003e: chore(deps): lock file maintenance (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6375\"\u003e#6375\u003c/a\u003e: Resolve vulnerabilities (\u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.60.2\u003c/h2\u003e\n\u003ch2\u003e4.60.2\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-04-18\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve a variable rendering bug when generating different formats from the same build (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6350\"\u003e#6350\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePull Requests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6327\"\u003e#6327\u003c/a\u003e: docs: fix various typos in source and documentation (\u003ca href=\"https://github.com/Abhi3975\"\u003e\u003ccode\u003e@​Abhi3975\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6331\"\u003e#6331\u003c/a\u003e: fix(deps): update minor/patch updates (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6332\"\u003e#6332\u003c/a\u003e: chore(deps): update codecov/codecov-action action to v6 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6333\"\u003e#6333\u003c/a\u003e: chore(deps): update dependency eslint-plugin-unicorn to v64 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6334\"\u003e#6334\u003c/a\u003e: fix(deps): update rust crate swc_compiler_base to v51 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6335\"\u003e#6335\u003c/a\u003e: chore(deps): lock file maintenance (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6346\"\u003e#6346\u003c/a\u003e: fix(deps): update minor/patch updates (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6347\"\u003e#6347\u003c/a\u003e: chore(deps): update dependency lru-cache to v11 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6348\"\u003e#6348\u003c/a\u003e: fix(deps): update swc monorepo (major) (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6349\"\u003e#6349\u003c/a\u003e: chore(deps): lock file maintenance (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6350\"\u003e#6350\u003c/a\u003e: fix: reset variable render names between outputs in the same generate (\u003ca href=\"https://github.com/barry3406\"\u003e\u003ccode\u003e@​barry3406\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6351\"\u003e#6351\u003c/a\u003e: chore(deps): update minor/patch updates (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6352\"\u003e#6352\u003c/a\u003e: chore(deps): update cross-platform-actions/action action to v1 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6353\"\u003e#6353\u003c/a\u003e: chore(deps): update dependency lru-cache to v11 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6354\"\u003e#6354\u003c/a\u003e: chore(deps): lock file maintenance (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6355\"\u003e#6355\u003c/a\u003e: chore(deps): lock file maintenance (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6356\"\u003e#6356\u003c/a\u003e: chore(deps): lock file maintenance (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6358\"\u003e#6358\u003c/a\u003e: chore: remove cross-env from devDeps (\u003ca href=\"https://github.com/K-tecchan\"\u003e\u003ccode\u003e@​K-tecchan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.60.1\u003c/h2\u003e\n\u003ch2\u003e4.60.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rollup/rollup/blob/master/CHANGELOG.md\"\u003erollup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.60.4\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-05-14\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove stability of chunk hashes (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6362\"\u003e#6362\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePull Requests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6362\"\u003e#6362\u003c/a\u003e: fix: stabilize chunk assignment across parallel file reads (\u003ca href=\"https://github.com/sonukapoor\"\u003e\u003ccode\u003e@​sonukapoor\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Sonu\"\u003e\u003ccode\u003e@​Sonu\u003c/code\u003e\u003c/a\u003e Kapoor, \u003ca href=\"https://github.com/TrickyPi\"\u003e\u003ccode\u003e@​TrickyPi\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6370\"\u003e#6370\u003c/a\u003e: fix(deps): update minor/patch updates (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6371\"\u003e#6371\u003c/a\u003e: chore(deps): update dependency lru-cache to v11 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6372\"\u003e#6372\u003c/a\u003e: chore(deps): update react monorepo to v19 (major) (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6373\"\u003e#6373\u003c/a\u003e: chore(deps): lock file maintenance (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6375\"\u003e#6375\u003c/a\u003e: Resolve vulnerabilities (\u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.60.3\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-05-04\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure nested \u0026quot;exports\u0026quot; variables are not renamed (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6360\"\u003e#6360\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePull Requests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6360\"\u003e#6360\u003c/a\u003e: fix: do not rename nested \u0026quot;exports\u0026quot; bindings that do not conflict (\u003ca href=\"https://github.com/tariqrafique\"\u003e\u003ccode\u003e@​tariqrafique\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6364\"\u003e#6364\u003c/a\u003e: chore(deps): update msys2/setup-msys2 digest to e989830 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6365\"\u003e#6365\u003c/a\u003e: fix(deps): update minor/patch updates (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6366\"\u003e#6366\u003c/a\u003e: fix(deps): update swc monorepo (major) (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6367\"\u003e#6367\u003c/a\u003e: chore(deps): lock file maintenance (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6368\"\u003e#6368\u003c/a\u003e: docs: add missing backticks in \u003ccode\u003eplugin-development\u003c/code\u003e (\u003ca href=\"https://github.com/lumirlumir\"\u003e\u003ccode\u003e@​lumirlumir\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.60.2\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-04-18\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve a variable rendering bug when generating different formats from the same build (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6350\"\u003e#6350\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePull Requests\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6327\"\u003e#6327\u003c/a\u003e: docs: fix various typos in source and documentation (\u003ca href=\"https://github.com/Abhi3975\"\u003e\u003ccode\u003e@​Abhi3975\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6331\"\u003e#6331\u003c/a\u003e: fix(deps): update minor/patch updates (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6332\"\u003e#6332\u003c/a\u003e: chore(deps): update codecov/codecov-action action to v6 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6333\"\u003e#6333\u003c/a\u003e: chore(deps): update dependency eslint-plugin-unicorn to v64 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6334\"\u003e#6334\u003c/a\u003e: fix(deps): update rust crate swc_compiler_base to v51 (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rollup/rollup/pull/6335\"\u003e#6335\u003c/a\u003e: chore(deps): lock file maintenance (\u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/lukastaegert\"\u003e\u003ccode\u003e@​lukastaegert\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/rollup/rollup/commit/d311a84b0bb4d4a6f50d19ffd2c29cca28660c88\"\u003e\u003ccode\u003ed311a84\u003c/code\u003e\u003c/a\u003e 4.60.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/rollup/commit/6aa324854482e273b711972955d2d1b3bb445bcc\"\u003e\u003ccode\u003e6aa3248\u003c/code\u003e\u003c/a\u003e fix: stabilize chunk assignment across parallel file reads (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6362\"\u003e#6362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/rollup/commit/82a0fe76b1372a2cf509fc4067d69f25569b83f5\"\u003e\u003ccode\u003e82a0fe7\u003c/code\u003e\u003c/a\u003e Resolve vulnerabilities (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6375\"\u003e#6375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/rollup/commit/71f5ebc893d7ff76b5571d63b04ea2ed4a4ddd9d\"\u003e\u003ccode\u003e71f5ebc\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency lru-cache to v11 (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6371\"\u003e#6371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/rollup/commit/af91d778cdf564dd1ae1bfd6e92604ec031824a7\"\u003e\u003ccode\u003eaf91d77\u003c/code\u003e\u003c/a\u003e chore(deps): lock file maintenance (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6373\"\u003e#6373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/rollup/commit/65e7b94ddda9f02334fa8f12ff6bf699c1f07833\"\u003e\u003ccode\u003e65e7b94\u003c/code\u003e\u003c/a\u003e chore(deps): update react monorepo to v19 (major) (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6372\"\u003e#6372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/rollup/commit/642587f3d9c5b4aa482a5027672f0fa8ea76da12\"\u003e\u003ccode\u003e642587f\u003c/code\u003e\u003c/a\u003e fix(deps): update minor/patch updates (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6370\"\u003e#6370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/rollup/commit/b47bdabeccbb7aa1b1d4117f2f4a781a9f6de297\"\u003e\u003ccode\u003eb47bdab\u003c/code\u003e\u003c/a\u003e 4.60.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/rollup/commit/15c5f33083c8c6b1b2cbae548124fffbba2553bb\"\u003e\u003ccode\u003e15c5f33\u003c/code\u003e\u003c/a\u003e Add again some unneeded dev dependencies, to make some builds succeed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rollup/rollup/commit/12195dcebbd21f0f2d91e26720cd053526edbfe3\"\u003e\u003ccode\u003e12195dc\u003c/code\u003e\u003c/a\u003e fix: do not rename nested \u0026quot;exports\u0026quot; bindings that do not conflict (\u003ca href=\"https://redirect.github.com/rollup/rollup/issues/6360\"\u003e#6360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rollup/rollup/compare/v4.57.1...v4.60.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \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/kun1gund3/animated-spoon/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kun1gund3%2Fanimated-spoon/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}}]}